QuailOS

Farm management for poultry, quail & egg farms: flocks, eggs, hatches, orders, tasks, calendar.

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
96%
이름 품질
98%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'update_order_notes' description lacks action verbupdate_order_notes에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~9,452토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 7.38%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "quailos": {
      "url": "https://www.quailos.com/api/mcp/message"
    }
  }
}

원격 엔드포인트

https://www.quailos.com/api/mcp/messagestreamable-http

할 수 있는 일

도구 목록

도구 (51)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢plan_flock(mode, householdSize, targetEggs, eggUnit, species, ...)

Calculate chicken/quail flock sizing, incubation guidelines, weekly feed, spaces, and costs for any of the 310 avian breeds.

입력 스키마

{
  "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": []
}
🟡update_order_notes(farmId, orderId, notes, confirm, mode, ...)

Appends a timestamped 'via AI' note by default

입력 스키마

{
  "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"
  ]
}
🟢list_vehicles(farmId)

Retrieve registered farm vehicles for mileage logging. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_support_tickets(farmId, status, startDate, endDate, limit, ...)

List support tickets created by this farm. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟡create_support_ticket(farmId, subject, description, category, priority, ...)

Create a new support ticket. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟡reply_to_ticket(farmId, ticketId, message, confirm, idempotencyKey)

Add a reply message to an open support ticket. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟢get_feature_requests(farmId, status, startDate, endDate, limit, ...)

List feature requests submitted by this farm. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟡create_feature_request(farmId, title, description, area, confirm, ...)

Submit a new feature request or upvote an existing matching request. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟢get_ticket_thread(farmId, ticketId)

Retrieve full reply history and messages thread of a support ticket. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    },
    "ticketId": {
      "type": "string",
      "description": "The unique support ticket ID"
    }
  },
  "required": [
    "farmId",
    "ticketId"
  ]
}
🟢get_hatches(farmId, status, startDate, endDate, variety, ...)

Retrieve incubation and hatch batches. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟡log_hatch_set(farmId, variety, eggsSet, setDate, incubator, ...)

Start a new incubation batch, auto-calculating lockdown/hatch dates. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
⚪log_candling(farmId, hatchId, fertileCount, candleDate, clears, ...)

Log egg candling fertility results for an active batch. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
⚪log_hatch_result(farmId, hatchId, hatchedCount, hatchDate, createBirdBatch, ...)

Complete a batch by logging final hatch count, calculating stats, and optionally creating a bird batch. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
⚪log_hive_inspection(farmId, hiveId, date, queenSeen, eggsSeen, ...)

Log a detailed beekeeping hive inspection. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
⚪log_varroa_treatment(farmId, hiveId, product, dose, date, ...)

Record a mite treatment chemical or acid application. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟡log_honey_harvest(farmId, hiveId, yardId, weight, supersPulled, ...)

Log honey extracted and optionally add directly to stock inventory. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟡update_queen_status(farmId, hiveId, status, date, queenMarking, ...)

Update the live queenright and breeder metadata settings of a hive. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟡create_hive(farmId, yardId, name, dateEstablished, source, ...)

Register a new beehive in an apiary yard. ALWAYS ask for confirmation before writing.

입력 스키마

{
  "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"
  ]
}
🟢ping

Verify server connectivity, handshake responsiveness, and platform status.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_npip_stock_codes(category, query, limit, cursor)

Resolve biological poultry and game-bird varieties to regulatory federal NPIP stock numbers.

입력 스키마

{
  "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"
    }
  }
}
🟢get_public_farms(state, query)

Search the QuailOS public farm directory. Retrieve farm names, locations, specialties, and bios.

입력 스키마

{
  "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."
    }
  }
}
🟢get_public_wiki_pages(query, limit, cursor)

Search published public QuailOS poultry, game-bird, and hatchery guide articles and walkthroughs.

입력 스키마

{
  "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"
    }
  }
}
🟢list_quail_varieties

List all registered Coturnix quail varieties with their display names, unique IDs, description, and exact genotype mappings.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢predict_quail_cross(sire, dam)

Calculate offspring plumage color probability distributions and percentages when crossing a specific sire and dam variety.

입력 스키마

{
  "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"
  ]
}
🟢find_quail_pairings(target_variety, limit)

Perform a reverse genetic lookup to find all possible parent pairings (sire and dam) that can produce a targeted plumage color variety.

입력 스키마

{
  "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"
  ]
}
🟢get_tasks(farmId, status)

Retrieve active/pending farm management tasks. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    },
    "status": {
      "type": "string",
      "description": "Optional task status filter: Pending, In Progress"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_calendar_events(farmId, startDate, endDate)

Retrieve calendar events for the farm including hatches, local events, rentals, and task due dates. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟢get_orders(farmId, status, limit, cursor, startDate, ...)

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.

입력 스키마

{
  "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"
  ]
}
🟢get_order_feedback(farmId, type, startDate, endDate, minRating, ...)

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.

입력 스키마

{
  "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"
  ]
}
🟢get_customer_details(farmId, emailOrName, limit, cursor)

Retrieve detailed profile of a specific customer in your CRM by email or name. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟢get_meat_inventory(farmId)

Retrieve meat processing logs and cold storage/freezer inventory. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_beekeeping_apiary(farmId)

Retrieve active yards, hives, queen statuses, and varroa inspections. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_financial_pnl(farmId, month)

Retrieve summarized expenses, income, cash flow, and profit-and-loss details. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    },
    "month": {
      "type": "string",
      "description": "Optional month filter (e.g. 2026-09)"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_feed_inventory(farmId)

Retrieve active feed inventory, feed purchases, and feed mill logs. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_vendors_and_pos(farmId)

Retrieve purchase orders and vendor profiles. Requires farmId and apiKey authorization.

입력 스키마

{
  "type": "object",
  "properties": {
    "farmId": {
      "type": "string",
      "description": "The unique farm ID"
    }
  },
  "required": [
    "farmId"
  ]
}
🟢get_egg_collections(farmId, startDate, endDate, limit, cursor)

Retrieve daily egg production logs and collection counts. Requires farmId and apiKey authorization.

입력 스키마

{
  "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"
  ]
}
🟢get_mileage_logs(farmId, limit, cursor)

Retrieve registered vehicle mileage logs for tax and expense auditing.

입력 스키마

{
  "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"
  ]
}
🟢get_bird_batches(farmId, limit, cursor)

Retrieve active and archived poultry census batches from the flock inventory.

입력 스키마

{
  "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"
  ]
}
🟢get_time_logs(farmId, limit, cursor)

Retrieve registered worker time clocks and logged task labor hours.

입력 스키마

{
  "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"
  ]
}
🟢get_transactions(farmId, limit, cursor)

Retrieve manual general ledger expense, income, and equity transactions.

입력 스키마

{
  "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"
  ]
}
🟡create_task(farmId, title, description, priority, dueDate, ...)

Create a new farm management task. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
🔴complete_task(farmId, taskId, notes, hoursLogged, confirm, ...)

Mark a task as Completed and update recurrence. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
⚪log_eggs(farmId, quantity, type, notes, date, ...)

Log a new daily egg collection count. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
🟡create_customer(farmId, name, email, phone, address, ...)

Add a new customer to the CRM with deduping. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
🟡create_calendar_event(farmId, title, start, end, description, ...)

Create a new calendar event on the farm’s timeline. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
⚪log_mileage(farmId, distance, purpose, destination, category, ...)

Log a vehicle travel trip with automatic trip-date IRS rate calculations. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
⚪log_feed_purchase(farmId, feedType, bags, lbsPerBag, pricePerBag, ...)

Log a feed purchase and automatically increment feed assets inventory. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
⚪log_manual_transaction(farmId, type, amount, category, description, ...)

Log a manual income, expense, or equity transaction. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
⚪log_bird_batch(farmId, variety, quantity, hatchDate, location, ...)

Log a new bird inventory census batch. Supports confirm and idempotency validation.

입력 스키마

{
  "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"
  ]
}
🔴delete_task(farmId, taskId, confirm)

Permanently delete a task in this farm. ALWAYS ask the user to confirm first.

입력 스키마

{
  "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"
  ]
}
🔴delete_calendar_event(farmId, eventId, confirm)

Permanently delete a calendar event in this farm. ALWAYS ask the user to confirm first.

입력 스키마

{
  "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"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 51개