{"serverInfo":{"name":"QuailOS","version":"1.0.0"},"authentication":{"required":false,"schemes":["apiKey"],"notes":"Public tools (quail genetics, breed planning, NPIP codes, public farm directory, guide wiki) work without credentials. Farm data tools need X-Api-Key (or Authorization: Bearer) plus X-Farm-Id."},"tools":[{"name":"plan_flock","description":"Calculate chicken/quail flock sizing, incubation guidelines, weekly feed, spaces, and costs for any of the 310 avian breeds.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","description":"Mode to size by: \"household\" (by people size) or \"target\" (by targeted eggs per week). Defaults to \"target\" if positive targetEggs is given, otherwise \"household\"."},"householdSize":{"type":"number","description":"Household size (range 1-50, used when mode=\"household\"). Defaults to 4."},"targetEggs":{"type":"number","description":"Target eggs per week (used when mode=\"target\")."},"eggUnit":{"type":"string","description":"Unit of target eggs: \"chicken\" or \"quail\". Defaults to \"chicken\"."},"species":{"type":"string","description":"Desired species: \"chicken\", \"quail\", or \"mix\". Defaults to \"mix\"."},"quailShare":{"type":"number","description":"Quail percentage of the flock: 0 to 1 (e.g. 0.50 for 50%). Defaults to 0.50."},"purpose":{"type":"string","description":"Flock purpose: \"eggs\", \"meat\", or \"both\". Defaults to \"eggs\"."},"experience":{"type":"string","description":"Owner poultry experience level: \"beginner\", \"some\", or \"experienced\". Defaults to \"beginner\"."},"spaceAvailableSqFt":{"type":"number","description":"Optional available square feet to validate if flock plan fits"},"climate":{"type":"string","description":"Optional climate winters: \"mild\", \"cold\", or \"hot\""},"meatBirdsPerMonth":{"type":"number","description":"Optional meat birds to raise/process per month"}},"required":[]},"annotations":{"title":"Plan Flock","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":true}},{"name":"update_order_notes","description":"Appends a timestamped 'via AI' note by default","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"orderId":{"type":"string","description":"The order document ID to update"},"notes":{"type":"string","description":"The internal notes text content"},"confirm":{"type":"boolean","description":"Set to true to commit writes, false to preview"},"mode":{"type":"string","enum":["append","replace"],"description":"Mode to edit notes: \"append\" (timestamped suffix) or \"replace\" (overwrite). Defaults to \"append\"."},"confirmReplace":{"type":"boolean","description":"Must be set to true if mode is \"replace\" to confirm overriding existing notes."},"idempotencyKey":{"type":"string","description":"Optional unique key to prevent duplicate edits"}},"required":["farmId","orderId","notes"]},"annotations":{"title":"Update Order Notes","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"list_vehicles","description":"Retrieve registered farm vehicles for mileage logging. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"}},"required":["farmId"]},"annotations":{"title":"List Vehicles","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_support_tickets","description":"List support tickets created by this farm. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"status":{"type":"string","description":"Optional status filter (e.g. New, In Progress, Closed)"},"startDate":{"type":"string","description":"Optional start date filter (YYYY-MM-DD)"},"endDate":{"type":"string","description":"Optional end date filter (YYYY-MM-DD)"},"limit":{"type":"number","description":"Optional pagination limit (default 25)"},"cursor":{"type":"string","description":"Optional pagination cursor"}},"required":["farmId"]},"annotations":{"title":"Get Support Tickets","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"create_support_ticket","description":"Create a new support ticket. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"subject":{"type":"string","description":"The subject of the support ticket (max 200 chars)"},"description":{"type":"string","description":"Detailed explanation of the issue (max 5000 chars)"},"category":{"type":"string","enum":["bug","billing","shipping/labels","account","integration","other"],"description":"Ticket category"},"priority":{"type":"string","enum":["low","normal","high"],"description":"Low, Normal, or High priority"},"relatedRecordId":{"type":"string","description":"Optional related order or record ID"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","subject","description","category","priority"]},"annotations":{"title":"Create Support Ticket","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"reply_to_ticket","description":"Add a reply message to an open support ticket. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"ticketId":{"type":"string","description":"The unique support ticket ID"},"message":{"type":"string","description":"Reply message text (max 5000 chars)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","ticketId","message"]},"annotations":{"title":"Reply to Ticket","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"get_feature_requests","description":"List feature requests submitted by this farm. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"status":{"type":"string","description":"Optional status filter (e.g. New, Done / Released)"},"startDate":{"type":"string","description":"Optional start date filter (YYYY-MM-DD)"},"endDate":{"type":"string","description":"Optional end date filter (YYYY-MM-DD)"},"limit":{"type":"number","description":"Optional pagination limit (default 25)"},"cursor":{"type":"string","description":"Optional pagination cursor"}},"required":["farmId"]},"annotations":{"title":"Get Feature Requests","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"create_feature_request","description":"Submit a new feature request or upvote an existing matching request. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"title":{"type":"string","description":"The brief title of the requested feature (max 200 chars)"},"description":{"type":"string","description":"Detailed explanation of the feature (max 5000 chars)"},"area":{"type":"string","enum":["orders","CRM","email marketing","finance","farm management","genetics","hatch","apiary","MCP/API","other"],"description":"System area of request"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","title","description","area"]},"annotations":{"title":"Create Feature Request","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"get_ticket_thread","description":"Retrieve full reply history and messages thread of a support ticket. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"ticketId":{"type":"string","description":"The unique support ticket ID"}},"required":["farmId","ticketId"]},"annotations":{"title":"Get Ticket Thread","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_hatches","description":"Retrieve incubation and hatch batches. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"status":{"type":"string","enum":["Active","Completed","Cancelled"],"description":"Optional status filter"},"startDate":{"type":"string","description":"Optional start setDate filter (YYYY-MM-DD)"},"endDate":{"type":"string","description":"Optional end setDate filter (YYYY-MM-DD)"},"variety":{"type":"string","description":"Optional variety breed name filter"},"incubator":{"type":"string","description":"Optional incubator identifier filter"},"limit":{"type":"number","description":"Optional pagination limit (default 50)"},"cursor":{"type":"string","description":"Optional pagination cursor"}},"required":["farmId"]},"annotations":{"title":"Get Hatches List","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"log_hatch_set","description":"Start a new incubation batch, auto-calculating lockdown/hatch dates. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"variety":{"type":"string","description":"The poultry/gamebird breed name (e.g. Pharaoh, Chicken)"},"eggsSet":{"type":"number","description":"Number of eggs set (positive finite integer)"},"setDate":{"type":"string","description":"Optional set date (YYYY-MM-DD, defaults to today, cannot be in future)"},"incubator":{"type":"string","description":"Optional incubator name/identifier"},"source":{"type":"string","description":"Optional source flock or vendor"},"notes":{"type":"string","description":"Optional notes"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","variety","eggsSet"]},"annotations":{"title":"Log Hatch Set","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_candling","description":"Log egg candling fertility results for an active batch. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hatchId":{"type":"string","description":"The unique hatch batch ID"},"fertileCount":{"type":"number","description":"Number of fertile/developing eggs (positive integer <= eggsSet)"},"candleDate":{"type":"string","description":"Optional candling date (YYYY-MM-DD)"},"clears":{"type":"number","description":"Optional count of clear/infertile eggs"},"quitters":{"type":"number","description":"Optional count of early quitters/dead germs"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","hatchId","fertileCount"]},"annotations":{"title":"Log Egg Candling","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_hatch_result","description":"Complete a batch by logging final hatch count, calculating stats, and optionally creating a bird batch. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hatchId":{"type":"string","description":"The unique hatch batch ID"},"hatchedCount":{"type":"number","description":"Number of successfully hatched chicks (positive integer <= eggsSet)"},"hatchDate":{"type":"string","description":"Optional hatch date (YYYY-MM-DD)"},"createBirdBatch":{"type":"boolean","description":"Automatically log as an active bird batch census (defaults to false)"},"location":{"type":"string","description":"Optional location for bird batch (Brooder, etc. defaults to Brooder)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","hatchId","hatchedCount"]},"annotations":{"title":"Log Hatch Results","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_hive_inspection","description":"Log a detailed beekeeping hive inspection. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hiveId":{"type":"string","description":"The unique hive ID"},"date":{"type":"string","description":"Optional inspection date (YYYY-MM-DD)"},"queenSeen":{"type":"string","enum":["yes","no"],"description":"Was the queen seen?"},"eggsSeen":{"type":"boolean","description":"Are eggs/fresh brood present?"},"larvaeSeen":{"type":"boolean","description":"Are larvae present?"},"cappedSeen":{"type":"boolean","description":"Is capped brood present?"},"feedStatus":{"type":"string","enum":["Sufficient","Feeding Required","Starving"],"description":"Food stores status"},"actionsTaken":{"type":"string","description":"Optional details of actions taken"},"varroaCount":{"type":"number","description":"Optional mite count"},"honeyHarvestedOz":{"type":"number","description":"Optional honey harvested in ounces"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","hiveId"]},"annotations":{"title":"Log Hive Inspection","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_varroa_treatment","description":"Record a mite treatment chemical or acid application. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hiveId":{"type":"string","description":"The unique hive ID"},"product":{"type":"string","description":"Treatment product name (e.g. Formic Pro, Oxalic Acid)"},"dose":{"type":"string","description":"Treatment dose or instructions"},"date":{"type":"string","description":"Optional treatment start date (YYYY-MM-DD)"},"withdrawalDate":{"type":"string","description":"Optional honey withdrawal end date (YYYY-MM-DD)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","hiveId","product","dose"]},"annotations":{"title":"Log Mite Treatment","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_honey_harvest","description":"Log honey extracted and optionally add directly to stock inventory. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hiveId":{"type":"string","description":"The unique hive ID (optional if yardId is provided)"},"yardId":{"type":"string","description":"The apiary yard ID (optional if hiveId is provided)"},"weight":{"type":"number","description":"Harvested honey weight in lbs (positive number)"},"supersPulled":{"type":"number","description":"Optional count of honey supers pulled (integer)"},"framesPulled":{"type":"number","description":"Optional count of frames pulled (integer)"},"date":{"type":"string","description":"Optional harvest date (YYYY-MM-DD)"},"addToInventory":{"type":"boolean","description":"Automatically add honey weight to inventory stock (defaults to false)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","weight"]},"annotations":{"title":"Log Honey Harvest","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"update_queen_status","description":"Update the live queenright and breeder metadata settings of a hive. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"hiveId":{"type":"string","description":"The unique hive ID"},"status":{"type":"string","enum":["queenright","queenless","requeened","swarm cells"],"description":"The queen status"},"date":{"type":"string","description":"Optional status change date (YYYY-MM-DD)"},"queenMarking":{"type":"string","description":"Optional queen marking/label"},"queenSource":{"type":"string","description":"Optional queen breed/source"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","hiveId","status"]},"annotations":{"title":"Update Queen Status","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"create_hive","description":"Register a new beehive in an apiary yard. ALWAYS ask for confirmation before writing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"yardId":{"type":"string","description":"The unique apiary yard ID"},"name":{"type":"string","description":"The name or identifier of the hive (e.g. Hive 5B)"},"dateEstablished":{"type":"string","description":"Optional date established (YYYY-MM-DD)"},"source":{"type":"string","enum":["package","nuc","swarm","split"],"description":"Source origin of the colony"},"colorCode":{"type":"string","description":"Optional color marker hex code"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","yardId","name","source"]},"annotations":{"title":"Create Beehive","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"ping","description":"Verify server connectivity, handshake responsiveness, and platform status.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"Ping Connection","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_npip_stock_codes","description":"Resolve biological poultry and game-bird varieties to regulatory federal NPIP stock numbers.","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Optional filter: game-birds, waterfowl, or commercial."},"query":{"type":"string","description":"Optional keyword search for variety name or code."},"limit":{"type":"number","description":"Optional pagination limit (default 50, max 200)"},"cursor":{"type":"string","description":"Optional pagination cursor"}}},"annotations":{"title":"NPIP Code Lookup","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_public_farms","description":"Search the QuailOS public farm directory. Retrieve farm names, locations, specialties, and bios.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Optional 2-letter state code filter (e.g. KY, TX)."},"query":{"type":"string","description":"Optional keyword search for farm name, bio, or specialties."}}},"annotations":{"title":"Search Public Farms","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_public_wiki_pages","description":"Search published public QuailOS poultry, game-bird, and hatchery guide articles and walkthroughs.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional search keyword for article title or content."},"limit":{"type":"number","description":"Optional limit (default 15)"},"cursor":{"type":"string","description":"Optional cursor"}}},"annotations":{"title":"Search Guide Wiki","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"list_quail_varieties","description":"List all registered Coturnix quail varieties with their display names, unique IDs, description, and exact genotype mappings.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List Quail Genotypes","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"predict_quail_cross","description":"Calculate offspring plumage color probability distributions and percentages when crossing a specific sire and dam variety.","inputSchema":{"type":"object","properties":{"sire":{"type":"string","description":"The sire variety name or unique ID (case-insensitive, e.g. Pharaoh, Italian, silver)"},"dam":{"type":"string","description":"The dam variety name or unique ID (case-insensitive)"}},"required":["sire","dam"]},"annotations":{"title":"Predict Quail Cross Outcomes","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"find_quail_pairings","description":"Perform a reverse genetic lookup to find all possible parent pairings (sire and dam) that can produce a targeted plumage color variety.","inputSchema":{"type":"object","properties":{"target_variety":{"type":"string","description":"The target offspring variety name or unique ID (case-insensitive, e.g. Pearl Fee)"},"limit":{"type":"number","description":"Optional max pairings limit to return (default 10)"}},"required":["target_variety"]},"annotations":{"title":"Find Breeding Pairings","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_tasks","description":"Retrieve active/pending farm management tasks. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"status":{"type":"string","description":"Optional task status filter: Pending, In Progress"}},"required":["farmId"]},"annotations":{"title":"Get Tasks List","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_calendar_events","description":"Retrieve calendar events for the farm including hatches, local events, rentals, and task due dates. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"startDate":{"type":"string","description":"Optional start date filter (ISO string or YYYY-MM-DD)"},"endDate":{"type":"string","description":"Optional end date filter (ISO string or YYYY-MM-DD)"}},"required":["farmId"]},"annotations":{"title":"Get Calendar Timeline","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_orders","description":"Retrieve active/pending sales orders for the farm. Supports startDate and endDate filters (YYYY-MM-DD or ISO datetime format). Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"status":{"type":"string","description":"Optional filter: pending, partially_fulfilled, fulfilled, unfulfilled, shipped, etc."},"limit":{"type":"number","description":"Optional max number of orders to return (default 50, max 100)"},"cursor":{"type":"string","description":"Optional pagination cursor"},"startDate":{"type":"string","description":"Optional start date range filter (YYYY-MM-DD or ISO datetime)"},"endDate":{"type":"string","description":"Optional end date range filter (YYYY-MM-DD or ISO datetime)"}},"required":["farmId"]},"annotations":{"title":"Get Sales Orders","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_order_feedback","description":"List customer feedback left on online orders (the Online Orders > Feedback tab): hatch-rate reports with eggs set/hatched, star rating and comments, plus shipping damage reports. Read-only. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"type":{"type":"string","enum":["hatch","damage"],"description":"Optional report type filter"},"startDate":{"type":"string","description":"Optional start date (YYYY-MM-DD in farm time or ISO datetime)"},"endDate":{"type":"string","description":"Optional end date (YYYY-MM-DD in farm time or ISO datetime)"},"minRating":{"type":"number","description":"Optional minimum star rating 1-5 (hatch reports only)"},"maxRating":{"type":"number","description":"Optional maximum star rating 1-5 (hatch reports only)"},"orderId":{"type":"string","description":"Optional order ID to match feedback for a single order"},"isPublic":{"type":"boolean","description":"Optional filter: true = shown in Farm Directory, false = private"},"limit":{"type":"number","description":"Optional max results (default 25, max 100)"},"cursor":{"type":"string","description":"Optional pagination cursor (nextCursor from a previous call)"}},"required":["farmId"]},"annotations":{"title":"Get Order Feedback","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_customer_details","description":"Retrieve detailed profile of a specific customer in your CRM by email or name. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"emailOrName":{"type":"string","description":"The customer email or full name to search (min 2 chars)"},"limit":{"type":"number","description":"Optional max number of customers to return (default 25)"},"cursor":{"type":"string","description":"Optional pagination cursor"}},"required":["farmId","emailOrName"]},"annotations":{"title":"Get CRM Customer Profile","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_meat_inventory","description":"Retrieve meat processing logs and cold storage/freezer inventory. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"}},"required":["farmId"]},"annotations":{"title":"Get Meat Inventory","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_beekeeping_apiary","description":"Retrieve active yards, hives, queen statuses, and varroa inspections. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"}},"required":["farmId"]},"annotations":{"title":"Get Apiary Hives","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_financial_pnl","description":"Retrieve summarized expenses, income, cash flow, and profit-and-loss details. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"month":{"type":"string","description":"Optional month filter (e.g. 2026-09)"}},"required":["farmId"]},"annotations":{"title":"Get Ledger P&L","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_feed_inventory","description":"Retrieve active feed inventory, feed purchases, and feed mill logs. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"}},"required":["farmId"]},"annotations":{"title":"Get Feed Logs","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_vendors_and_pos","description":"Retrieve purchase orders and vendor profiles. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"}},"required":["farmId"]},"annotations":{"title":"Get Vendors & POs","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_egg_collections","description":"Retrieve daily egg production logs and collection counts. Requires farmId and apiKey authorization.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"startDate":{"type":"string","description":"Optional start date filter (YYYY-MM-DD or ISO. For \"this week\", pass Monday-Sunday dates, interpreted in farm timezone)."},"endDate":{"type":"string","description":"Optional end date filter (YYYY-MM-DD or ISO, interpreted in farm timezone)."},"limit":{"type":"number","description":"Optional pagination limit (default 50, max 500)"},"cursor":{"type":"string","description":"Optional pagination cursor"}},"required":["farmId"]},"annotations":{"title":"Get Egg Logs","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_mileage_logs","description":"Retrieve registered vehicle mileage logs for tax and expense auditing.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"limit":{"type":"number","description":"Optional pagination limit"},"cursor":{"type":"string","description":"Optional cursor"}},"required":["farmId"]},"annotations":{"title":"Get Mileage Logs","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_bird_batches","description":"Retrieve active and archived poultry census batches from the flock inventory.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"limit":{"type":"number","description":"Optional pagination limit"},"cursor":{"type":"string","description":"Optional cursor"}},"required":["farmId"]},"annotations":{"title":"Get Bird Batches","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_time_logs","description":"Retrieve registered worker time clocks and logged task labor hours.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"limit":{"type":"number","description":"Optional pagination limit"},"cursor":{"type":"string","description":"Optional cursor"}},"required":["farmId"]},"annotations":{"title":"Get Time Logs","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"get_transactions","description":"Retrieve manual general ledger expense, income, and equity transactions.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"limit":{"type":"number","description":"Optional pagination limit"},"cursor":{"type":"string","description":"Optional cursor"}},"required":["farmId"]},"annotations":{"title":"Get Transactions","readOnlyHint":true,"idempotentHint":true,"destructiveHint":false,"openWorldHint":false}},{"name":"create_task","description":"Create a new farm management task. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"title":{"type":"string","description":"The title of the task (e.g. Clean brooder box B)"},"description":{"type":"string","description":"Optional description"},"priority":{"type":"string","enum":["Low","Medium","High"],"description":"Low, Medium, or High priority"},"dueDate":{"type":"string","description":"Optional due date (YYYY-MM-DD)"},"assignedToName":{"type":"string","description":"Optional name of the assigned worker"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","title"]},"annotations":{"title":"Create Task","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"complete_task","description":"Mark a task as Completed and update recurrence. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"taskId":{"type":"string","description":"The unique task ID to complete"},"notes":{"type":"string","description":"Optional completion notes"},"hoursLogged":{"type":"number","description":"Optional labor hours to log"},"confirm":{"type":"boolean","description":"Must be set to true to commit this destructive completion write"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","taskId","confirm"]},"annotations":{"title":"Complete Task","readOnlyHint":false,"idempotentHint":false,"destructiveHint":true,"openWorldHint":false}},{"name":"log_eggs","description":"Log a new daily egg collection count. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"quantity":{"type":"number","description":"The number of eggs collected (positive finite number <= 100000)"},"type":{"type":"string","description":"Optional variety (e.g. Pharaoh, Celadon, Standard)"},"notes":{"type":"string","description":"Optional notes"},"date":{"type":"string","description":"Optional log date (YYYY-MM-DD)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","quantity"]},"annotations":{"title":"Log Egg Collection","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"create_customer","description":"Add a new customer to the CRM with deduping. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"name":{"type":"string","description":"The full name of the customer"},"email":{"type":"string","description":"Optional email (checked for deduping)"},"phone":{"type":"string","description":"Optional phone number (checked for deduping)"},"address":{"type":"string","description":"Optional street address"},"tags":{"type":"array","items":{"type":"string"},"description":"Optional search tags"},"marketingOptIn":{"type":"boolean","description":"Marketing and Plunk opt-in (defaults to false)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","name"]},"annotations":{"title":"Create CRM Customer","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"create_calendar_event","description":"Create a new calendar event on the farm’s timeline. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"title":{"type":"string","description":"The event title"},"start":{"type":"string","description":"Start date/time (ISO string or YYYY-MM-DD)"},"end":{"type":"string","description":"End date/time (ISO string or YYYY-MM-DD, must be >= start, max 365 days length)"},"description":{"type":"string","description":"Optional description"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","title","start"]},"annotations":{"title":"Create Calendar Event","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_mileage","description":"Log a vehicle travel trip with automatic trip-date IRS rate calculations. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"distance":{"type":"number","description":"The travel distance in miles (positive finite number <= 5000)"},"purpose":{"type":"string","description":"The business purpose of the trip"},"destination":{"type":"string","description":"The trip destination location"},"category":{"type":"string","enum":["BUSINESS","PERSONAL","MEDICAL","CHARITY"],"description":"Tax category (defaults to BUSINESS)"},"vehicleId":{"type":"string","description":"Optional ID of the vehicle used"},"vehicleName":{"type":"string","description":"Optional name of the vehicle"},"notes":{"type":"string","description":"Optional notes"},"date":{"type":"string","description":"Optional trip date (YYYY-MM-DD)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","distance","purpose","destination"]},"annotations":{"title":"Log Mileage Trip","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_feed_purchase","description":"Log a feed purchase and automatically increment feed assets inventory. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"feedType":{"type":"string","description":"The feed formulation or label (e.g. 28% Gamebird Starter)"},"bags":{"type":"number","description":"Number of bags purchased (positive finite integer <= 10000)"},"lbsPerBag":{"type":"number","description":"Weight per bag in pounds (defaults to 50, <= 5000)"},"pricePerBag":{"type":"number","description":"Price per bag (positive finite number <= 10000)"},"source":{"type":"string","description":"Optional merchant or mill source"},"date":{"type":"string","description":"Optional purchase date (YYYY-MM-DD)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","feedType","bags","pricePerBag"]},"annotations":{"title":"Log Feed Purchase","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_manual_transaction","description":"Log a manual income, expense, or equity transaction. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"type":{"type":"string","enum":["Income","Expense","Equity"],"description":"Income, Expense, or Equity"},"amount":{"type":"number","description":"The absolute transaction amount (positive finite number <= 10000000)"},"category":{"type":"string","description":"Ledger category (e.g. Feed, Sales, Postage)"},"description":{"type":"string","description":"Optional descriptive note"},"date":{"type":"string","description":"Optional transaction date (YYYY-MM-DD)"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","type","amount","category"]},"annotations":{"title":"Log Transaction Ledger","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"log_bird_batch","description":"Log a new bird inventory census batch. Supports confirm and idempotency validation.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"variety":{"type":"string","description":"The quail or poultry variety"},"quantity":{"type":"number","description":"The number of birds in the batch (positive finite integer <= 50000)"},"hatchDate":{"type":"string","description":"The hatch date (YYYY-MM-DD, cannot be in the future)"},"location":{"type":"string","description":"Current location (Brooder, Grow-out, Layer, Breeder, Other)"},"notes":{"type":"string","description":"Optional notes"},"confirm":{"type":"boolean","description":"Set to true to commit, false for dry-run preview"},"idempotencyKey":{"type":"string","description":"Unique request idempotency key"}},"required":["farmId","variety","quantity","hatchDate","location"]},"annotations":{"title":"Log Bird Batch Census","readOnlyHint":false,"idempotentHint":false,"destructiveHint":false,"openWorldHint":false}},{"name":"delete_task","description":"Permanently delete a task in this farm. ALWAYS ask the user to confirm first.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"taskId":{"type":"string","description":"The unique task ID to delete"},"confirm":{"type":"boolean","description":"Must be set to true to permanently delete this task"}},"required":["farmId","taskId","confirm"]},"annotations":{"title":"Delete Task","destructiveHint":true,"readOnlyHint":false,"idempotentHint":true,"openWorldHint":false}},{"name":"delete_calendar_event","description":"Permanently delete a calendar event in this farm. ALWAYS ask the user to confirm first.","inputSchema":{"type":"object","properties":{"farmId":{"type":"string","description":"The unique farm ID"},"eventId":{"type":"string","description":"The unique event ID to delete"},"confirm":{"type":"boolean","description":"Must be set to true to permanently delete this calendar event"}},"required":["farmId","eventId","confirm"]},"annotations":{"title":"Delete Calendar Event","destructiveHint":true,"readOnlyHint":false,"idempotentHint":true,"openWorldHint":false}}],"resources":[],"prompts":[]}