Horse Truth Machine Intelligence
Server Details
Derived Australian racehorse intelligence for AI agents, MCP clients, software and publishers.
- Status
- Healthy
- Uptime
- 97.6% over 41 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
The five derived-read tools (snapshot, intelligence, explanation, changes, signal) overlap in domain, but each description explicitly disambiguates with 'Use X instead for Y' guidance. Remaining tools (rankings, compare, provenance, resolve, purchase, sandbox) have clearly distinct purposes, so an agent can select reliably with only mild friction between summary and signal-level reads.
All names are snake_case and readable, with a coherent 'horse_' prefix across the nine domain tools. The three remaining tools (resolve_horse, discover_purchase_options, sandbox_preview) are verb-first while the horse tools are noun-first, a minor structural deviation rather than a confusing one.
Eleven tools sit comfortably in the well-scoped range, and each corresponds to a distinct output granularity or lifecycle step (purchase, resolve, read tiers, provenance, sandbox) rather than filler.
The surface covers onboarding (purchase discovery, sandbox), identity resolution, and a full ladder of derived reads plus provenance and cross-horse comparison. Minor gaps remain: no tool to enumerate available signal names or to list/search horses beyond the rankings, which would force some guesswork on valid signal parameters.
Available Tools
11 toolsdiscover_purchase_optionsARead-onlyInspect
FREE: Return the self-service purchase, products, sandbox and checkout navigation needed for an autonomous client to buy Horse Truth machine access. Use this tool when you need to know how to pay: x402 per call, a direct credit pack, or the Apify marketplace. Use sandbox_preview instead to see what a result looks like.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: it is FREE, and it enumerates the supported payment mechanisms, which matters for an autonomous purchasing agent. It stops short of describing the shape of the returned navigation payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the 'FREE:' qualifier that matters most to a cost-sensitive agent. Every sentence carries a distinct payload: what it returns, when to call it, and which sibling to use instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema discovery tool whose annotations cover safety, the description supplies purpose, trigger, alternatives, and payment modes. The one remaining gap is that it does not hint at the structure of the returned checkout/navigation data an agent would need to act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; the description correctly implies a parameterless discovery call. There is no parameter surface for it to clarify further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (self-service purchase/products/sandbox/checkout navigation) with its audience (an autonomous client buying Horse Truth access). It also explicitly distinguishes itself from the sibling sandbox_preview, so an agent can route between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('when you need to know how to pay'), enumerates the three payment paths (x402 per call, credit pack, Apify marketplace), and names the alternative tool plus its differentiating condition ('use sandbox_preview instead to see what a result looks like'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_changesARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return material Horse Truth change events for one horse. Use this tool when you want the history of material changes for one horse, newest first, each with the fields that changed and when. Use horse_snapshot instead for the current state, and horse_explanation for the reasons behind it.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. | |
| limit | No | Maximum number of change events to return, newest first, from 1 to 100. Default 50, e.g. 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real context beyond that: an explicit price ('PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit') and the ordering/return shape ('newest first, each with the fields that changed and when'). It doesn't mention rate limits or whether the credit is charged on failure, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each doing distinct work: cost, payload, when-to-use, alternatives. The pricing constraint is front-loaded where a cost-sensitive agent will see it, and there is no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry the return shape, and it does state the unit (change events with changed fields and timestamps, newest first). It stops short of describing pagination behavior or whether an empty result is possible for a horse with no material changes, which is the only remaining gap for this otherwise well-specified tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including naming conventions, the (NZ) suffix rule, the resolve_horse fallback, and the 1-100 range with default 50, so the schema does the heavy lifting. The description only reinforces ordering ('newest first') and adds no syntax or format detail the schema lacks, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Return material Horse Truth change events for one horse,' with scope ('newest first,' 'each with the fields that changed and when'). It explicitly distinguishes itself from horse_snapshot (current state) and horse_explanation (reasons), so an agent can separate it from siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is stated both positively ('Use this tool when you want the history of material changes for one horse') and by exclusion, naming two sibling tools and the conditions that select them (current state, reasons behind it). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_compareARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Compare compact derived snapshots for two to five horses. Use this tool when you want two to five horses side by side on the same derived measures. Use horse_snapshot instead for a single horse.
| Name | Required | Description | Default |
|---|---|---|---|
| horses | Yes | Two to five horse names, each as printed in a form guide, e.g. ['Chance With Wolves', 'Via Sistina']. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds genuinely new behavioral context the structured fields lack: a per-call cost of US$0.02 or one Horse Truth credit, tied to 'successful' calls, which matters before an agent invokes it repeatedly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The payment line is well front-loaded and earns its place, but the idea 'two to five horses' is repeated three times across the first, second, and fourth sentences. The middle sentence largely duplicates the opening one, so the text is longer than the information content requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns, and 'compact derived snapshots' leaves the content and shape of the comparison unspecified. Safety, cost, and routing are covered, but an agent cannot anticipate what measures come back or in what form.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3: the schema already documents the horses array, its 2-5 bounds, form-guide formatting, country-suffix handling, and the resolve_horse fallback. The description only restates the count range, adding no syntax or naming detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Compare compact derived snapshots for two to five horses') with the cardinality bound explicit. It also names the sibling it does not replace (horse_snapshot for a single horse), so an agent can separate the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use condition ('when you want two to five horses side by side on the same derived measures') and a named alternative with its own trigger ('Use horse_snapshot instead for a single horse'). The 2-5 vs 1 boundary is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_explanationARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return a structured explanation of the current derived Horse Truth read without exposing raw provider records. Use this tool when you want the reasons behind the current read, as a list of factors each with its derived value. Use horse_snapshot instead for the summary values themselves, and horse_changes for what changed over time.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/closed-world/non-destructive, but the description adds real behavioral context the annotations cannot: a paid cost model (US$0.02 per successful x402 call or 1 Horse Truth credit) and the guarantee that raw provider records are not exposed. It does not cover rate limits or failure/refund semantics, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place, with purpose and the sibling routing front-loaded after a brief cost banner. The pricing sentence leads, which is slightly unusual ordering but compact and information-dense rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with full schema coverage, no output schema and clear annotations, the description supplies what is missing: cost, output shape ('list of factors each with its derived value'), and the privacy boundary. An agent can call it correctly without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents the horse-name format, case-insensitivity and the resolve_horse fallback. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns a structured explanation of the current derived Horse Truth read. It also draws the boundary against siblings by contrasting 'the reasons behind the current read' with the summary values of horse_snapshot and the deltas of horse_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('when you want the reasons behind the current read') plus named alternatives for adjacent needs (horse_snapshot for summary values, horse_changes for change over time). Nothing is left to inference about routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_intelligenceARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return derived intelligence for one horse. Raw provider records are not exposed. Use this tool when you need the full derived state of one horse, including race history and every read. Use horse_snapshot instead for a short summary, horse_explanation for the reasons only, and horse_changes for what changed.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/no-destruction safety. The description adds non-obvious behavioral context: pricing (US$0.02 per x402 call or 1 credit) and that raw provider records are withheld. It doesn't state return shape or failure behavior, but the pricing disclosure is meaningful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded pricing and purpose, followed by scoping and alternatives. Every sentence earns its place, though the pricing and credit phrasing adds some density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, routing, cost, and data exposure for a single-param read tool with annotations. No output schema exists, so a brief return-value note would help, but the essential call information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the horse param fully. The description adds routing value by pointing to resolve_horse when the name is uncertain, which slightly exceeds baseline but doesn't add syntax detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: returns 'derived intelligence' for one horse, with scope defined (race history, every read). Explicitly distinguishes from siblings horse_snapshot, horse_explanation, and horse_changes, so an agent can route correctly without reading schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use ('when you need the full derived state of one horse') and names three specific alternatives with their differing purposes. Nothing left to inference for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_provenanceARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return a cryptographic receipt for the current derived horse-intelligence payload. Use this tool when you need a cryptographic receipt for the current read, so you can later prove what was returned. Use horse_intelligence instead for the read itself.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower, and the description adds material context beyond them: this is a paid call at US$0.02 per successful autonomous x402 call or 1 Horse Truth credit, which tells the agent about cost and the x402 payment path. It stops short of stating whether billing occurs on failure or anything about the receipt's structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the cost model and then purpose and alternative. Slight redundancy in repeating 'cryptographic receipt' across the purpose sentence and the when-to-use sentence, but nothing is wasted overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what the receipt actually contains (format, verifiability method, fields), and it does not. For a tool whose entire value is producing a verifiable proof artifact, the missing receipt detail is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'horse' parameter is documented at 100% schema coverage, including the Australian form-guide naming convention and the pointer to resolve_horse. The description adds nothing about the parameter, so the schema carries the full burden โ baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it 'returns a cryptographic receipt for the current derived horse-intelligence payload.' It also explicitly distinguishes itself from horse_intelligence, telling the agent that this is the proof artifact rather than the read itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use ('when you need a cryptographic receipt for the current read, so you can later prove what was returned') and names the alternative for the other case ('Use horse_intelligence instead for the read itself'). The routing decision is fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_rankingsARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return current derived Horse Truth rankings from the already-warmed canonical model cache. Use this tool when you want the current ranked list of horses in the Horse Truth model. Use horse_snapshot or horse_compare instead for named horses.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of ranked horses to return, from 1 to 500. Default 100, e.g. 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so safety is covered. The description adds genuinely new behavior beyond the structured fields: the call is paid (US$0.02 per successful x402 call or 1 direct credit) and the data comes from an already-warmed canonical model cache, implying low latency and no recomputation. It stops short of describing ordering direction or result shape, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the most decision-relevant fact (pricing) and then the purpose and routing. The third sentence largely restates the purpose sentence ('current ranked list' vs 'current derived ... rankings'), which is mild redundancy but not enough to hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers cost, data source, and alternative tools. It omits ranking order/ties semantics and any hint about the returned record shape, which are minor gaps given the simple contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'limit' parameter is fully documented in the schema with range and default. The description adds no meaning about the limit or its interaction with the ranking set, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return current derived Horse Truth rankings') and explicitly scopes it to the current ranked list of horses in the Horse Truth model, distinguishing it from named-horse tools. An agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use ('when you want the current ranked list of horses') and names two concrete alternatives for a different need ('Use horse_snapshot or horse_compare instead for named horses'). Routing between siblings is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_signalARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return one named derived Horse Truth signal for a horse, such as readiness, biomechanics, progression, trouble watch, class, reliability, alerts or winning conditions. signal=race_day_signals returns every race-day signal Horse Truth measured for the horse (ran better than its finish, beat the day's track pattern, running profile, form turning point). Use this tool when you need one named signal only (for example readiness or class_rating). Use horse_snapshot instead for several signals at once, and horse_intelligence for everything. signal=stride_measures returns the horse's stride measures from race tracking data: held its stride late, lifted its stride rate late, stride against its own runs and stride type.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. | |
| signal | Yes | Which single signal to return. One of the listed values, e.g. 'readiness'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description adds genuinely new behavioral context: the per-call cost (US$0.02 per successful x402 call or 1 Horse Truth credit) and the fact that billing is on success, which matters for agent budgeting. It does not mention auth requirements, rate limits, or failure behavior when a signal is unavailable for a horse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Pricing is front-loaded, followed by purpose, signal enumeration, and routing guidance โ a sensible order with no filler. There is mild redundancy in listing 'readiness' and 'class' twice across the enumeration and the usage example, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially carries the return-value burden by describing what race_day_signals and stride_measures yield. For a two-parameter lookup tool with full schema coverage and clear annotations, that is nearly sufficient; the shape of a generic signal response and what happens when a signal is missing for a horse are the remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further by giving semantic meaning to enum values the schema leaves bare: race_day_signals is unpacked into four measured components and stride_measures into four stride metrics, and several other signal names are illustrated. The remaining 14 enum values are still only names, so it falls short of full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (return one named derived Horse Truth signal for a horse) and enumerates the signal families it can produce. It explicitly distinguishes itself from horse_snapshot (several signals) and horse_intelligence (everything), so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the selection condition directly ('use this tool when you need one named signal only') and names both alternatives with the condition that selects each. It also clarifies the special enum values race_day_signals and stride_measures as within-scope calls rather than separate tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
horse_snapshotARead-onlyInspect
PAID: US$0.02 per successful autonomous x402 call, or 1 Horse Truth direct credit. Return a compact derived operating snapshot for one horse. Use this tool when you want a short current summary of one horse: readiness, progression, stride watch and trouble watch, closing par, latest run and alerts. Use horse_intelligence instead for the full state, horse_explanation for the reasons behind the read, and horse_changes for what changed over time.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | Yes | Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, non-destructive, non-open-world tool. The description adds useful behavioral context: it is paid, can use a direct credit, and returns a compact derived snapshot including alerts. It does not detail freshness, caching, or failure/payment behavior, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and every sentence contributes useful information. However, it leads with pricing before the core purpose, so it is slightly less front-loaded than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with full schema coverage and no output schema, the description gives enough context to call it correctly. It explains the return gist, the paid nature, and when to use sibling tools instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema fully explains the single 'horse' parameter, including name formatting and the resolve_horse fallback. The description only reinforces 'one horse' and adds no parameter semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Return a compact derived operating snapshot for one horse.' It also enumerates the snapshot contents and explicitly distinguishes itself from horse_intelligence, horse_explanation, and horse_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case ('when you want a short current summary of one horse') and names the alternatives for full state, reasons, and historical changes. This lets an agent choose between sibling tools without opening their schemas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_horseARead-onlyInspect
PAID: US$0.001 per successful autonomous x402 call, or 1 Horse Truth direct credit. Resolve a horse identity against Horse Truth profiles. Use this tool when you have a partial or uncertain horse name and need the exact Horse Truth identity before other calls. Use horse_snapshot or horse_intelligence instead once you know the exact name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Full or partial horse name to look up, e.g. 'chance with'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: the tool is paid ($0.001 per autonomous x402 call, or 1 direct credit), which materially affects an agent's decision to call it. It stops short of describing the return shape (single identity vs. ranked candidates) or no-match behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: cost disclosure, purpose, and routing. Front-loading the paid notice is appropriate for a metered tool, and the fallback routing is placed last where it reads naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only resolution tool with no output schema, the description covers purpose, cost, and the alternative path. The notable gap is the return contract: whether a resolution yields a single canonical identity, multiple candidates, or an ambiguity error, which matters for a tool whose whole job is disambiguating uncertain names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single parameter, and the schema already states 'Full or partial horse name' with an example. The description reinforces the partial/fuzzy matching intent ('partial or uncertain horse name'), but adds little syntax or format detail beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Resolve a horse identity against Horse Truth profiles') and immediately distinguishes itself from siblings by naming horse_snapshot and horse_intelligence as the tools for the known-name case. An agent can tell exactly what this tool is for without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use ('when you have a partial or uncertain horse name and need the exact Horse Truth identity before other calls') and explicit when-not-to-use with named alternatives ('use horse_snapshot or horse_intelligence instead once you know the exact name'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_previewARead-onlyInspect
FREE: Return a real derived Horse Truth proof for today's default sample horse (picked once a day by a published rule, with a deep, stable read) plus the cheapest exact paid next actions. Pass an optional horse name to get the free public teaser for that horse instead. No paid entitlement is consumed and no raw provider records are exposed. Use this tool when you want to see a real example result, or the free public teaser for one horse, before paying. Use discover_purchase_options instead to learn how to pay, and horse_intelligence for the full paid read.
| Name | Required | Description | Default |
|---|---|---|---|
| horse | No | Optional Australian racehorse name, e.g. 'Chance With Wolves'. Omit it for today's default sample proof. Returns only the free public page teaser for that horse. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds non-obvious economics: no paid entitlement is consumed, no raw provider records are exposed, and the default horse is chosen once a day by a published rule. It stops short of stating any rate limits or freshness/caching behavior for the teaser.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the key qualifier ('FREE') and orders information well: what it returns, the alternate mode, the cost/privacy guarantees, then the routing guidance. Slightly redundant across 'FREE', 'before paying', and 'no paid entitlement is consumed', but each sentence carries real content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by characterizing the return: a real derived proof vs. a public teaser, plus paid next-action recommendations. With annotations covering safety and a single fully documented parameter, the definition is nearly sufficient; only the teaser's exact shape and any rate/freshness limits are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'horse' parameter's description already states that omitting it yields the default sample proof and passing a name yields only the free public page teaser. The tool description restates the same semantics without adding format, validation, or fallback behavior for unrecognized names, so the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a concrete resource and two distinct outputs: a real derived Horse Truth proof for today's default sample horse, plus the cheapest exact paid next actions, and an alternate mode (free public teaser) when a horse name is passed. An agent can distinguish it from horse_intelligence or horse_snapshot without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it ('to see a real example result, or the free public teaser for one horse, before paying') and routes the agent elsewhere by name: discover_purchase_options for payment, horse_intelligence for the full paid read. Both the trigger and the alternatives are stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
horse_signal1 field changed- changed
Input schema / properties / signal / enumPrevious value: -[ - "condition", - "readiness", - "closing_profile", - "closing_par", - "progression", - "forward_setup", - "trouble_watch", - "class_rating", - "biomechanics", - "winning_conditions", - "horse_type", - "reliability", - "distance_signature", - "headline", - "alerts", - "attention_score" -]New value: +[ + "condition", + "readiness", + "closing_profile", + "closing_par", + "progression", + "forward_setup", + "trouble_watch", + "class_rating", + "biomechanics", + "winning_conditions", + "horse_type", + "reliability", + "distance_signature", + "headline", + "alerts", + "attention_score", + "race_day_signals", + "stride_measures" +]
1 tool update
- Changed
sandbox_preview1 field changed- changed
Input schema / properties / horse / descriptionPrevious value: -"Optional Australian racehorse name, e.g. 'Chance With Wolves'. Omit it for the fixed Chance With Wolves proof. Returns only the free public page teaser for that horse."New value: +"Optional Australian racehorse name, e.g. 'Chance With Wolves'. Omit it for today's default sample proof. Returns only the free public page teaser for that horse."
5 tool updates
- Changed
horse_changes1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of items to return."New value: +"Maximum number of change events to return, newest first, from 1 to 100. Default 50, e.g. 10."
- Changed
horse_compare1 field changed- changed
Input schema / properties / horses / descriptionPrevious value: -"Two to five horse names, each as printed in a form guide."New value: +"Two to five horse names, each as printed in a form guide, e.g. ['Chance With Wolves', 'Via Sistina']."
- Changed
horse_rankings1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of items to return."New value: +"Maximum number of ranked horses to return, from 1 to 500. Default 100, e.g. 20."
- Changed
horse_signal1 field changed- changed
Input schema / properties / signal / descriptionPrevious value: -"Which single signal to return. One of the listed values."New value: +"Which single signal to return. One of the listed values, e.g. 'readiness'."
- Changed
sandbox_preview1 field changed- changed
Input schema / properties / horse / descriptionPrevious value: -"Optional Australian racehorse name. Omit for the fixed Chance With Wolves proof. Returns only the free public page teaser for that horse."New value: +"Optional Australian racehorse name, e.g. 'Chance With Wolves'. Omit it for the fixed Chance With Wolves proof. Returns only the free public page teaser for that horse."
1 tool update
- Changed
sandbox_preview1 field changed- added
Input schema / properties / horseAdded value: +{ + "description": "Optional Australian racehorse name. Omit for the fixed Chance With Wolves proof. Returns only the free public page teaser for that horse.", + "type": "string" +}
9 tool updates
- Changed
horse_changes2 fields changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first." - added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of items to return."
- Changed
horse_compare2 fields changed- added
Input schema / properties / horses / descriptionAdded value: +"Two to five horse names, each as printed in a form guide." - added
Input schema / properties / horses / items / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first."
- Changed
horse_explanation1 field changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first."
- Changed
horse_intelligence1 field changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first."
- Changed
horse_provenance1 field changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first."
- Changed
horse_rankings1 field changed- added
Input schema / properties / limit / descriptionAdded value: +"Maximum number of items to return."
- Changed
horse_signal2 fields changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first." - added
Input schema / properties / signal / descriptionAdded value: +"Which single signal to return. One of the listed values."
- Changed
horse_snapshot1 field changed- added
Input schema / properties / horse / descriptionAdded value: +"Horse name as printed in an Australian form guide, e.g. 'Chance With Wolves'. Case and country suffixes like (NZ) are ignored. If unsure of the exact name, call resolve_horse first."
- Changed
resolve_horse1 field changed- added
Input schema / properties / query / descriptionAdded value: +"Full or partial horse name to look up, e.g. 'chance with'."
1 tool update
- Added
horse_signal
4 tool updates
- Added
horse_compare - Added
horse_explanation - Added
horse_provenance - Added
horse_snapshot
2 tool updates
- Added
discover_purchase_options - Added
sandbox_preview
Related MCP Connectors
Australian racehorse intelligence for AI agents with free discovery and accountless x402-paid tools.
Horse and greyhound racing research, backtests and bot drafts for Robo Punter members.
AU/NZ racing and Australian sports odds for AI agents: 36 read-only tools, each stating its cost.
Prediction markets, on-chain flows, ETF flows, equities and macro intelligence for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that brings live Australian racing and sports odds from 12 bookmaker/exchange sources into AI assistants, with per-price age data and tools for next races, best odds, results, and movers.9MIT
- AlicenseAqualityCmaintenanceMCP server providing Nordic harness racing data (Swedish, Norwegian, Danish, Finnish) with upcoming races, startlists, betting pool percentages, and model-derived win probabilities for AI agents.710 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query Hong Kong horse racing data such as race cards, AI win probabilities, odds, results, form, jockey/trainer statistics, and draw statistics in English or Traditional Chinese.MIT
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive interaction with Tabcorp betting services through 30+ specialized tools covering racing data, sports betting, results, and FootyTAB with OAuth authentication. Supports all Australian jurisdictions and provides access to race meetings, next-to-go events, form guides, jackpots, and sports competitions.-
Glama MCP Gateway
Add one secure layer between your agents and this server.