QuailOS
REMOTE · WWW.QUAILOS.COM
Farm management for poultry, quail & egg farms: flocks, eggs, hatches, orders, tasks, calendar.
Available components
Last scanned (19 hours ago)
Scores higher than 98% of remote servers
Reachable. Last reached 5 Nov 2026.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security91
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 12918 tokens (~125/item across 103 items; 102 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 90% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 103 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Nov 26 0
- Stability: 0.97 → pass security
- New tool “adjust_inventory_stock” functional
- New tool “complete_production_order” functional
- New tool “create_inventory_product” functional
- New tool “update_inventory_product” functional
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
- New tool “create_sales_order” functional
- New tool “merge_bird_batches” functional
- New tool “unmerge_bird_batches” functional
- New tool “update_customer” functional
- “create_customer” added an optional parameter “birthday” cosmetic
- “create_customer” added an optional parameter “notes” cosmetic
- “create_customer” added an optional parameter “shippingAddress” cosmetic
- 30 Oct 26 0
- New tool “submit_wiki_article” functional
- 29 Oct 26 +1
- Tool “get_tasks” rewrote its description, which is the text the model reads security
- “get_tasks” added an optional parameter “assignedTo” cosmetic
- “get_tasks” added an optional parameter “cursor” cosmetic
- “get_tasks” added an optional parameter “dueFrom” cosmetic
- “get_tasks” added an optional parameter “dueTo” cosmetic
- “get_tasks” added an optional parameter “excludeCompleted” cosmetic
- “get_tasks” added an optional parameter “limit” cosmetic
- “get_tasks” added an optional parameter “sort” cosmetic
- “get_tasks” added an optional parameter “titleContains” cosmetic
- “get_tasks” reworded the description of “status” cosmetic
- 28 Oct 26 0
- “get_financial_pnl” added an optional parameter “includeSuperseded” cosmetic
- “get_transactions” added an optional parameter “includeSuperseded” cosmetic
2 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://www.quailos.com/api/mcp/message
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=quailos.com | CN=WE1,O=Google Trust Services,C=US | 31 Oct 2026 | 29 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | d63586631ca94af413eea1b187aedb84 |
| SANs: quailos.com, *.quailos.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of www.quailos.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| quailos.com. | DS published | 2371 | 13 | Verified |
| www.quailos.com. | Verified address RRset verified with the apex keys |
Authentication Challenged, unverified
The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.
| Result | Challenged, unverified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="QuailOS MCP"
Bearer realm="QuailOS MCP" | Header | Value |
|---|---|
| strict-transport-security | max-age=31556926 |
Protected resource metadata
| Retrieved | No |
|---|---|
| Problem | No resource metadata |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.quailos.com/api/mcp/message | Verified | 200 | |
| http (plaintext) | http://www.quailos.com/api/mcp/message | HTTPS enforced | 301 | https://www.quailos.com/api/mcp/message |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_time_logs ~51
Retrieve registered worker time clocks and logged task labor hours.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Optional cursor |
| farmId | string | yes | The unique farm ID |
| limit | number | – | Optional pagination limit |
No output schema declared.
No examples provided.
get_transactions ~74
Retrieve manual general ledger expense, income, and equity transactions.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Optional cursor |
| farmId | string | yes | The unique farm ID |
| includeSuperseded | boolean | – | Include soft-deleted/superseded duplicate entries (default false) |
| limit | number | – | Optional pagination limit |
No output schema declared.
No examples provided.
get_vendors_and_pos ~38
Retrieve purchase orders and vendor profiles. Requires farmId and apiKey authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | The unique farm ID |
No output schema declared.
No examples provided.
list_academy_courses ~65
List published QuailOS Academy courses (excludes Rent-a-Hatch category). Read-only. Includes price/freeForTiers hints.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | – | Optional: when provided, annotate free access for this farm tier |
| limit | number | – | – |
No output schema declared.
No examples provided.
list_emails ~251
List messages in this farm's QuailOS Email Assistant inbox (the mailbox the farm connected in Office > Email Assistant: Forwarding Bridge and/or IMAP accounts). Newest first. Owner/admin AI keys only. Returns id, threadId, from, subject, snippet, date, folder, read flag. Page with nextCursor passed back verbatim with the same filters.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Optional: the nextCursor string from the previous list_emails response, passed verbatim with the same filters |
| farmId | string | yes | The unique farm ID |
| folder | string | – | Folder to list (default INBOX). ALL = every folder. |
| limit | number | – | Max messages to return (1-50, default 20) |
| query | string | – | Optional case-insensitive text match on subject, sender, recipients and snippet (max 200 chars) |
| since | string | – | Optional ISO date/datetime: only messages on/after this time |
| unreadOnly | boolean | – | Only unread messages |
| until | string | – | Optional ISO date/datetime: only messages on/before this time (a bare YYYY-MM-DD includes that whole day, UTC) |
No output schema declared.
No examples provided.
list_farm_notes ~48
List Farm Notes for this farm (Office > Farm Notes). Newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| farmId | string | yes | – |
| limit | number | – | – |
No output schema declared.
No examples provided.
list_farm_times_articles ~43
List published Farm Times / community_news articles. Public read-only. Paginate with cursor.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | number | – | – |
No output schema declared.
No examples provided.
list_farm_times_headlines ~33
List active The Farm Times headlines (system community news). Public read-only. Not farm timeclock logs.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_library_items ~55
List QuailOS Library items. Per-item tier gate: if farm below minTier, metadata returned with locked:true and NO url, plus upgrade message.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | – |
| limit | number | – | – |
No output schema declared.
No examples provided.
list_my_academy_enrollments ~48
List this farm's Academy enrollments/progress (read-only). To enroll in a course, use enroll_academy_course.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | – |
No output schema declared.
No examples provided.
list_my_supplier_shipments ~75
List this farm's Supply Opportunity shipments only (Financial Dashboard equivalent). Omits paymentDetails. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Optional shipment id cursor from previous page |
| farmId | string | yes | The unique farm ID |
| limit | number | – | Max rows (1-100, default 25) |
No output schema declared.
No examples provided.
list_quail_varieties ~35
List all registered Coturnix quail varieties with their display names, unique IDs, description, and exact genotype mappings.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_quailos_tv ~60
List QuailOS TV videos. Default status=approved only (public). Read-only; no approve/reject.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | – |
| status | string | – | Default approved. Non-approved only useful for SuperAdmin ops keys. |
No output schema declared.
No examples provided.
list_rentahatch_bookings ~100
List rentals bookings. SuperAdmin only. Customer email/phone omitted unless includeContact:true (PII access audited).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| farmId | string | yes | – |
| includeContact | boolean | – | Include customer email/phone (audited) |
| limit | number | – | – |
| status | string | – | Optional rental status filter |
| vendorFarmId | string | – | Optional filter by rental farmId |
No output schema declared.
No examples provided.
list_rentahatch_payouts ~62
List payout_ledger rows. SuperAdmin only. Masks payoutDetails.details by default.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | – |
| limit | number | – | – |
| status | string | – | – |
| vendorFarmId | string | – | – |
No output schema declared.
No examples provided.
list_rentahatch_vendors ~110
List Rent-a-Hatch vendors (farms with rentalSettings). SuperAdmin AI key only. Not purchase-order vendors (use get_vendors_and_pos for those). Filter by listingActive.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | Ops farm ID for the SuperAdmin AI key |
| limit | number | – | Max vendors (1-200, default 50) |
| listingActive | boolean | – | Optional filter: true=live, false=hidden; omit=any with rentalSettings |
No output schema declared.
No examples provided.
list_rentahatch_waitlist ~104
List rent_a_hatch_waitlist customer prospects (NOT vendor applications). SuperAdmin only. Contains emails — argument names only in mcp_logs.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Entry id cursor |
| farmId | string | yes | Ops farm ID for the SuperAdmin AI key |
| limit | number | – | 1-100, default 50 |
| status | string | – | Optional status filter |
| zip | string | – | Optional ZIP filter |
No output schema declared.
No examples provided.
list_supplier_opportunities ~95
List Active Supply Opportunities (what QuailOS/Undique is currently buying from member farms, e.g. quail wings Bulk-Supply). Public; no farm PII. After signup, farms sell via /supplier-portal. Separate from Rent-a-Hatch vendor page /make-money-with-quail.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | – | Optional farm ID when calling with an AI key (not required for public use) |
No output schema declared.
No examples provided.
list_vehicles ~37
Retrieve registered farm vehicles for mileage logging. Requires farmId and apiKey authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| farmId | string | yes | The unique farm ID |
No output schema declared.
No examples provided.
log_bird_batch ~159
Log a new bird inventory census batch. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| farmId | string | yes | The unique farm ID |
| hatchDate | string | yes | The hatch date (YYYY-MM-DD, cannot be in the future) |
| idempotencyKey | string | – | Unique request idempotency key |
| location | string | yes | Current location (Brooder, Grow-out, Layer, Breeder, Other) |
| notes | string | – | Optional notes |
| quantity | number | yes | The number of birds in the batch (positive finite integer <= 50000) |
| variety | string | yes | The quail or poultry variety |
No output schema declared.
No examples provided.
log_candling ~157
Log egg candling fertility results for an active batch. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| candleDate | string | – | Optional candling date (YYYY-MM-DD) |
| clears | number | – | Optional count of clear/infertile eggs |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| farmId | string | yes | The unique farm ID |
| fertileCount | number | yes | Number of fertile/developing eggs (positive integer <= eggsSet) |
| hatchId | string | yes | The unique hatch batch ID |
| idempotencyKey | string | – | Unique request idempotency key |
| quitters | number | – | Optional count of early quitters/dead germs |
No output schema declared.
No examples provided.
log_eggs ~157
Log a new daily egg collection count. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional log date (YYYY-MM-DD) |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| notes | string | – | Optional notes |
| quantity | number | yes | The number of eggs collected (positive finite number <= 100000) |
| species | string | – | Optional alias for type (variety/species). Used when type is not given. |
| type | string | – | Optional variety (e.g. Pharaoh, Celadon, Standard) |
No output schema declared.
No examples provided.
log_feed_purchase ~186
Log a feed purchase and automatically increment feed assets inventory. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| bags | number | yes | Number of bags purchased (positive finite integer <= 10000) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional purchase date (YYYY-MM-DD) |
| farmId | string | yes | The unique farm ID |
| feedType | string | yes | The feed formulation or label (e.g. 28% Gamebird Starter) |
| idempotencyKey | string | – | Unique request idempotency key |
| lbsPerBag | number | – | Weight per bag in pounds (defaults to 50, <= 5000) |
| pricePerBag | number | yes | Price per bag (positive finite number <= 10000) |
| source | string | – | Optional merchant or mill source |
No output schema declared.
No examples provided.
log_hatch_result ~174
Complete a batch by logging final hatch count, calculating stats, and optionally creating a bird batch. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| createBirdBatch | boolean | – | Automatically log as an active bird batch census (defaults to false) |
| farmId | string | yes | The unique farm ID |
| hatchDate | string | – | Optional hatch date (YYYY-MM-DD) |
| hatchId | string | yes | The unique hatch batch ID |
| hatchedCount | number | yes | Number of successfully hatched chicks (positive integer <= eggsSet) |
| idempotencyKey | string | – | Unique request idempotency key |
| location | string | – | Optional location for bird batch (Brooder, etc. defaults to Brooder) |
No output schema declared.
No examples provided.
log_hatch_set ~173
Start a new incubation batch, auto-calculating lockdown/hatch dates. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| eggsSet | number | yes | Number of eggs set (positive finite integer) |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| incubator | string | – | Optional incubator name/identifier |
| notes | string | – | Optional notes |
| setDate | string | – | Optional set date (YYYY-MM-DD, defaults to today, cannot be in future) |
| source | string | – | Optional source flock or vendor |
| variety | string | yes | The poultry/gamebird breed name (e.g. Pharaoh, Chicken) |
No output schema declared.
No examples provided.
log_hive_inspection ~200
Log a detailed beekeeping hive inspection. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| actionsTaken | string | – | Optional details of actions taken |
| cappedSeen | boolean | – | Is capped brood present? |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional inspection date (YYYY-MM-DD) |
| eggsSeen | boolean | – | Are eggs/fresh brood present? |
| farmId | string | yes | The unique farm ID |
| feedStatus | string | – | Food stores status |
| hiveId | string | yes | The unique hive ID |
| honeyHarvestedOz | number | – | Optional honey harvested in ounces |
| idempotencyKey | string | – | Unique request idempotency key |
| larvaeSeen | boolean | – | Are larvae present? |
| queenSeen | string | – | Was the queen seen? |
| varroaCount | number | – | Optional mite count |
No output schema declared.
No examples provided.
log_honey_harvest ~198
Log honey extracted and optionally add directly to stock inventory. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| addToInventory | boolean | – | Automatically add honey weight to inventory stock (defaults to false) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional harvest date (YYYY-MM-DD) |
| farmId | string | yes | The unique farm ID |
| framesPulled | number | – | Optional count of frames pulled (integer) |
| hiveId | string | – | The unique hive ID (optional if yardId is provided) |
| idempotencyKey | string | – | Unique request idempotency key |
| supersPulled | number | – | Optional count of honey supers pulled (integer) |
| weight | number | yes | Harvested honey weight in lbs (positive number) |
| yardId | string | – | The apiary yard ID (optional if hiveId is provided) |
No output schema declared.
No examples provided.
log_manual_transaction ~150
Log a manual income, expense, or equity transaction. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | The absolute transaction amount (positive finite number <= 10000000) |
| category | string | yes | Ledger category (e.g. Feed, Sales, Postage) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional transaction date (YYYY-MM-DD) |
| description | string | – | Optional descriptive note |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| type | string | yes | Income, Expense, or Equity |
No output schema declared.
No examples provided.
log_meat ~242
Log a new meat processing batch and record the resulting cuts to freezer inventory. Requires farmId and apiKey authorization.
| Name | Type | Req | Description |
|---|---|---|---|
| batchId | string | – | Optional unique batch/hatch ID associated with these birds |
| confirm | boolean | – | Set to true to persist the write, otherwise returns a dry-run preview |
| date | string | – | Date processed in YYYY-MM-DD format (defaults to today) |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Optional unique client-provided key to prevent duplicate processing |
| notes | string | – | Optional notes |
| part | string | yes | The cut/part type (e.g., Whole Bird, Breast, Leg). Will be validated against configured farm parts if set. |
| quantity | number | yes | Positive integer quantity of units processed |
| totalWeight | number | – | Optional total weight of the batch (used to calculate average weight) |
| units | string | yes | Measurement units for quantity |
| variety | string | yes | The species or breed variety processed (e.g., Jumbo Coturnix) |
| weightPerUnit | number | – | Optional average weight per processed unit |
No output schema declared.
No examples provided.
log_mileage ~183
Log a vehicle travel trip with automatic trip-date IRS rate calculations. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Tax category (defaults to BUSINESS) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional trip date (YYYY-MM-DD) |
| destination | string | yes | The trip destination location |
| distance | number | yes | The travel distance in miles (positive finite number <= 5000) |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| notes | string | – | Optional notes |
| purpose | string | yes | The business purpose of the trip |
| vehicleId | string | – | Optional ID of the vehicle used |
| vehicleName | string | – | Optional name of the vehicle |
No output schema declared.
No examples provided.
log_time ~174
Log labor time for farm work or tasks. The entry is always recorded for the user behind the API key. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Work category (e.g. Feeding, Cleaning, Maintenance, Processing) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional log date (YYYY-MM-DD, defaults to today in farm time zone) |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| minutes | number | yes | Labor time spent in minutes (integer from 1 to 1440) |
| note | string | – | Optional notes (max 1000 chars) |
| taskId | string | – | Optional associated task ID |
No output schema declared.
No examples provided.
log_varroa_treatment ~150
Record a mite treatment chemical or acid application. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional treatment start date (YYYY-MM-DD) |
| dose | string | yes | Treatment dose or instructions |
| farmId | string | yes | The unique farm ID |
| hiveId | string | yes | The unique hive ID |
| idempotencyKey | string | – | Unique request idempotency key |
| product | string | yes | Treatment product name (e.g. Formic Pro, Oxalic Acid) |
| withdrawalDate | string | – | Optional honey withdrawal end date (YYYY-MM-DD) |
No output schema declared.
No examples provided.
merge_bird_batches ~204
Consolidate multiple Live bird batches into a Target batch. Earliest hatch date across batches is inherited. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| allowMixedVariety | boolean | – | Required set to true if source batches contain varieties different from target |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| farmId | string | yes | The unique farm ID |
| finalQuantity | number | – | Optional final consolidated quantity (defaults to sum of all batches, 1 <= finalQuantity <= sum) |
| idempotencyKey | string | – | Unique request idempotency key |
| location | string | – | Optional new location for consolidated batch (defaults to target location) |
| notes | string | – | Optional notes to append to target batch |
| sourceBatchIds | array | yes | Array of source Live bird batch IDs to be merged into target |
| targetBatchId | string | yes | Target Live bird batch ID receiving the merged birds |
No output schema declared.
No examples provided.
move_email ~150
Archive, move (INBOX/ARCHIVE/TRASH/SPAM) or mark read/unread Email Assistant messages, exactly like the Email Assistant buttons (updates QuailOS and mirrors to the IMAP mailbox when the message came from an IMAP account). Nothing is permanently deleted. Owner/admin read/write AI keys only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | archive | move (needs folder) | mark_read | mark_unread |
| emailId | string | – | Single message id |
| emailIds | array | – | Message ids (1-50). Or use emailId for one. |
| farmId | string | yes | The unique farm ID |
| folder | string | – | Target folder for action "move" |
No output schema declared.
No examples provided.
ping ~18
Verify server connectivity, handshake responsiveness, and platform status.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
plan_flock ~340
Calculate chicken/quail flock sizing, incubation guidelines, weekly feed, spaces, and costs for any of the 310 avian breeds.
| Name | Type | Req | Description |
|---|---|---|---|
| climate | string | – | Optional climate winters: "mild", "cold", or "hot" |
| eggUnit | string | – | Unit of target eggs: "chicken" or "quail". Defaults to "chicken". |
| experience | string | – | Owner poultry experience level: "beginner", "some", or "experienced". Defaults to "beginner". |
| householdSize | number | – | Household size (range 1-50, used when mode="household"). Defaults to 4. |
| meatBirdsPerMonth | number | – | Optional meat birds to raise/process per month |
| mode | string | – | 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". |
| purpose | string | – | Flock purpose: "eggs", "meat", or "both". Defaults to "eggs". |
| quailShare | number | – | Quail percentage of the flock: 0 to 1 (e.g. 0.50 for 50%). Defaults to 0.50. |
| spaceAvailableSqFt | number | – | Optional available square feet to validate if flock plan fits |
| species | string | – | Desired species: "chicken", "quail", or "mix". Defaults to "mix". |
| targetEggs | number | – | Target eggs per week (used when mode="target"). |
No output schema declared.
No examples provided.
predict_quail_cross ~73
Calculate offspring plumage color probability distributions and percentages when crossing a specific sire and dam variety.
| Name | Type | Req | Description |
|---|---|---|---|
| dam | string | yes | The dam variety name or unique ID (case-insensitive) |
| sire | string | yes | The sire variety name or unique ID (case-insensitive, e.g. Pharaoh, Italian, silver) |
No output schema declared.
No examples provided.
reply_to_ticket ~101
Add a reply message to an open support ticket. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| message | string | yes | Reply message text (max 5000 chars) |
| ticketId | string | yes | The unique support ticket ID |
No output schema declared.
No examples provided.
send_email ~141
Send an existing reply draft (from draft_email_reply) from the farm's Email Assistant mailbox. Only works if the farm OWNER turned on "Allow AI assistant to send" in QuailOS Email Assistant settings (off by default), only for owner/admin read/write AI keys, only with confirm: true, and within the farm's daily AI send allowance. Without confirm: true it returns a preview and sends nothing. Every send is logged.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Must be true to actually send. Omit to preview. |
| draftId | string | yes | Draft id returned by draft_email_reply |
| farmId | string | yes | The unique farm ID |
No output schema declared.
No examples provided.
set_rentahatch_listing_active ~66
Set a vendor listingActive true/false (Live/Hidden). SuperAdmin only. confirm:true required.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| farmId | string | yes | – |
| listingActive | boolean | yes | – |
| vendorFarmId | string | yes | – |
No output schema declared.
No examples provided.
start_signup ~179
Start a QuailOS signup from chat: returns a personal prefilled signup link for the farmer (name, email, optional farm name/state/phone/species). The link expires in 7 days and nothing is created until the farmer opens the link, verifies email, and finishes on quailos.com. No API key required.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | The farmer's contact email address. | |
| farmName | string | – | Optional name of the farm. |
| name | string | yes | The farmer's full name. |
| phone | string | – | Optional contact phone number. |
| species | string | – | Optional poultry species focused on (e.g. chickens, quail, etc.). |
| state | string | – | Optional state/location of the farm (accepts 2-letter code e.g. TX, KY or full name e.g. Texas). |
No output schema declared.
No examples provided.
submit_wiki_article ~130
Submit a community wiki article proposal for admin moderation review. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional category (max 60 characters, default: General) |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| content | string | yes | The article body in Markdown (50-50,000 characters) |
| farmId | string | yes | The unique farm ID submitting the article |
| idempotencyKey | string | – | Unique request idempotency key |
| title | string | yes | The article title (5-150 characters) |
No output schema declared.
No examples provided.
unmerge_bird_batches ~102
Undo an active batch merge, restoring target and source batches to pre-merge states. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Unique request idempotency key |
| mergeId | string | yes | The batch merge record ID or target batch ID to unmerge |
No output schema declared.
No examples provided.
update_customer ~117
Update an existing customer in the CRM. Supports confirm and idempotency validation.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| customerId | string | – | The customer document ID (provide customerId OR email) |
| string | – | The exact customer email (provide customerId OR email) | |
| farmId | string | yes | The unique farm ID |
| fields | object | yes | Fields object containing customer updates |
| idempotencyKey | string | – | Unique request idempotency key |
No output schema declared.
No examples provided.
update_farm_note ~59
Update a Farm Note content and/or date. confirm:true.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| content | string | – | – |
| date | string | – | – |
| farmId | string | yes | – |
| noteId | string | yes | – |
No output schema declared.
No examples provided.
update_inventory_product ~308
Update a General Inventory product by productId or sku: name, SKU, ASIN, barcode, category, prices, manufactured flag and BOM (bomComponents replaces the whole BOM; hasBom:false clears it). Stock is changed only via adjust_inventory_stock. Supports confirm (false = dry-run preview).
| Name | Type | Req | Description |
|---|---|---|---|
| asin | string | – | Amazon ASIN |
| barcode | string | – | Barcode / UPC |
| bomComponents | array | – | BOM lines (replaces the whole BOM when given). Components must already exist in this farm's inventory. |
| category | string | – | Inventory category |
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| costPerUnit | number | – | Cost per unit |
| farmId | string | yes | The unique farm ID |
| hasBom | boolean | – | True for manufactured items that have a BOM recipe |
| newSku | string | – | New SKU (must be unique in the farm) |
| productId | string | – | Inventory product ID (or use sku) |
| productName | string | – | Product name |
| reorderPoint | number | – | Reorder point |
| sellingPrice | number | – | Selling price |
| shortDescription | string | – | Short description |
| sku | string | – | Current SKU of the product to update (or use productId) |
| status | string | – | Product status (default active) |
| unit | string | – | Unit of measure (e.g. each, pair, lb) |
No output schema declared.
No examples provided.
update_order_notes ~149
Appends a timestamped 'via AI' note by default
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit writes, false to preview |
| confirmReplace | boolean | – | Must be set to true if mode is "replace" to confirm overriding existing notes. |
| farmId | string | yes | The unique farm ID |
| idempotencyKey | string | – | Optional unique key to prevent duplicate edits |
| mode | string | – | Mode to edit notes: "append" (timestamped suffix) or "replace" (overwrite). Defaults to "append". |
| notes | string | yes | The internal notes text content |
| orderId | string | yes | The order document ID to update |
No output schema declared.
No examples provided.
update_queen_status ~139
Update the live queenright and breeder metadata settings of a hive. ALWAYS ask for confirmation before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Set to true to commit, false for dry-run preview |
| date | string | – | Optional status change date (YYYY-MM-DD) |
| farmId | string | yes | The unique farm ID |
| hiveId | string | yes | The unique hive ID |
| idempotencyKey | string | – | Unique request idempotency key |
| queenMarking | string | – | Optional queen marking/label |
| queenSource | string | – | Optional queen breed/source |
| status | string | yes | The queen status |
No output schema declared.
No examples provided.
update_rentahatch_payout_status ~76
Mark a payout_ledger row paid with paymentReference (Rent Admin Mark as Paid). SuperAdmin only. confirm:true.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| farmId | string | yes | – |
| ledgerId | string | yes | – |
| paymentReference | string | yes | – |
| status | string | yes | – |
No output schema declared.
No examples provided.
update_rentahatch_waitlist_status ~89
Update a waitlist prospect status (pending|contacted|recruited|closed) or delete:true. SuperAdmin only. Mirrors Admin > Waitlist.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | – |
| delete | boolean | – | If true, delete the entry |
| entryId | string | yes | – |
| farmId | string | yes | – |
| status | string | – | – |
No output schema declared.
No examples provided.
How do I install the QuailOS MCP server?
QuailOS is a hosted endpoint at https://www.quailos.com/api/mcp/message, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.quailos.com
claude mcp add --transport http com-quailos-quailos 'https://www.quailos.com/api/mcp/message'
What is the QuailOS MCP server?
QuailOS is an MCP server listed in the public MCP registry as com.quailos/quailos. Farm management for poultry, quail & egg farms: flocks, eggs, hatches, orders, tasks, calendar. This page covers its hosted endpoint (https://www.quailos.com/api/mcp/message).
Is the QuailOS MCP server safe to use?
QuailOS scores 91 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the QuailOS MCP server expose?
QuailOS exposes 102 tools: plan_flock, start_signup, update_order_notes, list_vehicles, get_support_tickets, and 97 more. Their descriptions and schemas cost roughly 12,893 tokens of context every time the server is loaded.
Does the QuailOS MCP server require authentication?
Yes. QuailOS asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the QuailOS MCP server still maintained?
QuailOS is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the QuailOS MCP server?
VerifyMCP ran 13 checks on QuailOS, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.