Skip to main content
Glama

Server Details

All-in outcome rankings with live depth, fees, verified rules, EV checks, and track records.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 14 of 14 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools have clear, distinct purposes, but a few overlap: get_market_odds and get_world_cup_odds both handle World Cup probability questions, and get_edge_signals and get_research_theses both point to potentially mispriced markets. The descriptions help clarify intent, but the boundaries are not always crisp.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, with verbs like get, list, submit, check, compare, find. Even compound objects like best_price or world_cup_odds fit the pattern cleanly, and no mixed conventions or camelCase appear.

Tool Count5/5

At 14 tools, the server is well-scoped within the 3-15 typical range. Each tool serves a distinct function—odds lookup, market browsing, research, forecasting, and World Cup-specific content—without redundant bloat. The count feels appropriate for the broad domain.

Completeness5/5

The tool set covers a complete workflow: discovering markets, comparing odds, evaluating bets, finding best prices, getting quotes, submitting forecasts, and reviewing personal and AI track records. The lack of an execution tool is intentional (the server is research-oriented), and the append-only forecast model makes missing update/delete operations a non-issue.

Available Tools

18 tools
check_betAInspect

THE pre-bet check — run this BEFORE the user places any bet, on any bookmaker. Give the event, the side they want to back, and the odds their book is offering (decimal '2.10', american '+110' or fractional '11/10' all work). Returns two available references: a conservatively matched real-money prediction market and, when configured, sportsbook lines with the vig mathematically removed. It returns an expected-value verdict (EV per 100 staked, break-even odds, Kelly stake) or refuses when the event/side cannot be resolved safely. Pass your_probability (0-1) to also log YOUR estimate as an append-only receipt in your public audited Brier record (voxodds.com/forecasters) — requires forecaster_id. Verdict is arithmetic, not a model output. Research, not financial advice; betting legality depends on the user's jurisdiction.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
eventYes
sportNoupcoming
odds_offeredNo
forecaster_idNo
your_probabilityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and exceeds expectations. It discloses return values (two references, EV verdict, Kelly stake), refusal behavior, optional logging with append-only receipt and forecaster_id requirement, the arithmetic nature of the verdict, and legal/research disclaimers. This is rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Although a single dense paragraph, every sentence adds significant value: usage, input formats, return values, refusals, logging, and disclaimers. It is front-loaded with the critical directive and avoids redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the presence of an output schema, the description covers virtually all essential aspects: when to use, what it returns, when it refuses, optional logging, and legal caveats. Only the 'sport' parameter is overlooked, but the overall picture is complete for effective selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains event, side, odds_offered with format examples, your_probability as 0-1, and forecaster_id requirement. However, the 'sport' parameter is not mentioned at all, leaving a small gap in otherwise strong parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as 'THE pre-bet check' with a specific verb+resource+scope: 'run this BEFORE the user places any bet, on any bookmaker.' It explains what it returns (EV verdict, references, refusal) and distinguishes itself from siblings like compare_platforms and get_market_odds by focusing on a specific bet check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: 'run this BEFORE the user places any bet, on any bookmaker.' It also specifies required inputs (event, side, odds) and optional inputs. However, it does not explicitly mention alternatives or when not to use it, though the strong directive makes the context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_executable_quotesAInspect

Fetch size-aware order-book fills and estimated taker fees for one Polymarket contract and one Kalshi contract, then compare their complete rules. It only names a best venue when the pair has been explicitly human-reviewed as equivalent. Similar titles with different settlement criteria return comparable: false plus blockers instead of a fabricated spread or arbitrage.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNoYes
amount_usdNo
kalshi_tickerYes
polymarket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It honestly reveals that it will not fabricate a spread or arbitrage and returns a blocker object for non-equivalent pairs. It does not mention auth, rate limits, or error handling, but the specified edge-case behavior is substantial and non-obvious, which surpasses most descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, with no filler. The first sentence states the core purpose, the second adds the key limitation, and the third clarifies a return behavior. Every sentence earns its place, and it is front-loaded effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (comparison across two platforms) and outputs structured data (output schema exists), so the description appropriately focuses on behavior and constraints. It covers purpose, the human-review caveat, and the comparable:false fallback. Missing are explicit parameter mappings and any prerequisites, but the output schema and the overall context reduce the need for return-value detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does convey that polymarket_id and kalshi_ticker identify the two contracts and that amount_usd relates to 'size-aware' fills, but it does not explicitly explain all four parameters, their accepted values, or the role of 'side'. This leaves significant ambiguity for an agent trying to set correct parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action (fetch and compare size-aware order-book fills and fees) and the resources (one Polymarket contract and one Kalshi contract). It also distinguishes itself from siblings by adding the unique constraint of only naming a best venue after human review, which is not present in other tools like get_executable_quote or compare_platforms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when the tool will and will not produce a best-venue recommendation, explaining the human-review requirement and the fallback for similar titles with different settlement criteria. However, it does not explicitly compare itself to sibling tools or state 'use this instead of X', so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_platformsAInspect

Compare candidate equivalent events on Polymarket vs Kalshi side by side. Returns displayed probabilities and their spread as a research signal. These are not executable quotes or arbitrage claims: verify order-book depth, fees, fills, and resolution rules before deciding where a contract is actually cheaper. Optional query filters by keywords in the market question.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden and does so excellently. It discloses that returns are 'not executable quotes or arbitrage claims' and warns about verification steps, which is critical context for adequately interpreting results. It also implies results are approximations by using 'candidate equivalent events'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly structured: purpose, return value, caveat, and parameter explanation each in one sentence, with no fluff. It front-loads the primary action and quickly conveys limitations, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex (cross-platform comparison) and has an output schema, so return values are already specified. The description adds all necessary context: purpose, output nature, critical caveats, and query usage. There are no missing pieces that would prevent correct invocation or interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only types and defaults (coverage 0%), so the description must add meaning. It does explain the 'query' parameter as filtering by keywords in the market question. However, it doesn't explicitly describe 'limit', though its meaning is trivially inferable from the schema. This partial compensation justifies a 4 rather than 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Compare' and identifies resources 'Polymarket vs Kalshi' with a clear scope of 'candidate equivalent events'. It distinguishes itself from executable-quote tools by explicitly stating it returns research signals, not executable quotes. This clearly differentiates it from siblings like get_executable_quote.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('as a research signal') and when not to use it for investment decisions by warning to verify order-book depth, fees, fills, and resolution rules before deciding cheaper contracts. Though it doesn't name an alternative tool, it clearly implies 'get_executable_quote' exists, making usage guidance explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_best_priceAInspect

Find which bookmaker pays the most for one specific bet when VoxOdds has a configured live sportsbook feed. The registry is a directory, not live coverage. Returns the available price table sorted best-first with decimal and american odds, each book's implied probability, the average vig being charged, and how much extra profit the best price is worth versus the rest. Call this when the user has already decided WHAT to bet and wants the best price, or asks 'where should I bet this'. Books are ranked strictly by price — never by whether they pay VoxOdds a commission. Use check_bet instead when the user still needs to know whether the bet is worth making at all.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
eventYes
sportNoupcoming

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully shoulders behavioral transparency. It discloses key traits: the registry is 'a directory, not live coverage', the output includes a best-first sorted table with odds, implied probability, vig, and profit differential, and that books are 'ranked strictly by price — never by whether they pay VoxOdds a commission.' It also conditions usage on a 'configured live sportsbook feed.' This is rich and prevents misuse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence contributes: purpose, limitation, return contents, usage trigger, ranking policy, and alternative. It is front-loaded with the primary function and reads naturally without redundant filler. Length is justified given the complexity and absence of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return-value details are partially covered elsewhere, but the description already explains the return components. The main gap is input parameter semantics (event, side, sport), which are not described in the schema or description. Otherwise, the description covers purpose, alternatives, preconditions, and behavioral nuances, making it largely complete for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not explain the parameters 'event', 'side', or 'sport'. While 'specific bet' implies event and side, there is no guidance on value formats, meaning of 'side', or the odd default 'sport=upcoming'. The description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find which bookmaker pays the most for one specific bet.' It also distinguishes itself from siblings by explicitly contrasting with check_bet and noting the directory-vs-live-coverage limitation. The verb and resource are specific, and the scope is well-defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance: 'Call this when the user has already decided WHAT to bet and wants the best price, or asks 'where should I bet this'.' It also names an alternative: 'Use check_bet instead when the user still needs to know whether the bet is worth making at all.' The exclusion is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_edge_signalsAInspect

Get VoxOdds' ranked market signals: unusually wide spreads, closing-soon watches, and integrity flags across live prediction markets — where the numbers say to LOOK first. Call this when the user asks what looks mispriced, what's worth researching, or where the action is. Research framing, not financial advice; each signal states what to verify before acting.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description bears full burden. It clearly indicates a read-only, non-destructive operation (research framing). Could be more explicit about side effects or authentication, but the description suffices for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph, front-loaded with core purpose, then usage guidance and caveat. Slightly verbose with 'where the numbers say to LOOK first' but overall efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 param, output schema exists), the description covers the tool's purpose, usage context, and output nature (research framing). No additional details needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (limit) with no description in the text. Schema coverage is 0%, but the parameter is self-explanatory and has a default. The description adds no meaning beyond schema, but the parameter is simple.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves VoxOdds' ranked market signals, listing specific types (unusually wide spreads, closing-soon watches, integrity flags) and their purpose (where to look first). This distinguishes it from siblings like get_market_odds or list_trending_markets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance provided: 'Call this when the user asks what looks mispriced, what's worth researching, or where the action is.' Also includes a caveat about research framing versus financial advice, setting proper expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_executable_quoteAInspect

Walk the current public order book for an all-in cash-sized BUY quote on one exact contract. platform is polymarket or kalshi; market_id is the Polymarket market id or Kalshi ticker returned by search; side is the outcome to buy. Returns best bid/ask, depth-weighted average fill, worst consumed level, shares, estimated taker fee, effective average price, and unfilled cash. The budget includes the fee estimate. Venue-side rounding can vary with actual fills, and this tool does not assert cross-venue contract equivalence.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNoYes
platformYes
market_idYes
amount_usdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: venue-side rounding can vary, it does not assert cross-venue contract equivalence, the budget includes the fee estimate, and it returns specific output fields. These go beyond basic descriptions and inform the agent of limitations and estimation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but organized, with parameter explanations followed by an output list and a limitation note. Each sentence adds value, though the multiple clauses make it slightly long. It is appropriately sized for the information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, parameters, outputs, and limitations efficiently. It specifies it is a BUY quote, lists all return fields, and notes fee and rounding behavior. Given the tool's complexity and the presence of an output schema, this is reasonably complete. It could mention edge cases like insufficient liquidity, but that's not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explains all parameters: 'platform is polymarket or kalshi', 'market_id is the Polymarket market id or Kalshi ticker returned by search', 'side is the outcome to buy'. Amount_usd is implied via 'all-in cash-sized' and 'budget includes the fee estimate'. This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Walk the current public order book for an all-in cash-sized BUY quote on one exact contract.' This specifies the verb (walk/quote), resource (order book), and scope (one exact contract), distinguishing it from sibling tools like compare_executable_quotes which compare multiple quotes. The output list further clarifies its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool—for a single contract quote—but does not explicitly state when not to use it or mention alternatives. Phrases like 'one exact contract' hint at differentiation from compare tools, but there is no direct guidance to use compare_executable_quotes for multi-contract comparisons. This is implied usage, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_forecaster_recordAInspect

Get YOUR audited forecast record on VoxOdds: pending receipts (submitted, awaiting market resolution) and scored results (Brier vs the market price captured when you submitted). Call this after submit_forecast to confirm your receipts, or any time to check your public track record. Same forecaster_id you submit with.

ParametersJSON Schema
NameRequiredDescriptionDefault
forecaster_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description takes on the burden of disclosing behavior. It explains that the record includes pending receipts and scored results (Brier vs. market price), and notes it is a public track record. However, it doesn't explicitly state read-only status or authentication expectations, which would strengthen transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the core purpose, and every sentence adds value: purpose, content, and usage guidance. There is no redundancy or extraneous detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema, the description covers the essential aspects: what the record includes, when to call it, and what parameter to use. It provides enough context for correct invocation without over-explaining.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no description for forecaster_id (0% coverage), so the description must compensate. It does so by stating 'Same forecaster_id you submit with,' which adds meaning beyond the generic 'Forecaster Id' label. It doesn't detail format or constraints, but for a simple ID parameter this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a clear resource ('YOUR audited forecast record on VoxOdds'), and the content (pending receipts and scored results). It differentiates from siblings by emphasizing 'YOUR' and 'audited', and by mentioning the Brier scoring approach, which sets it apart from generic tools like get_track_record.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage cues are given: 'Call this after submit_forecast to confirm your receipts, or any time to check your public track record.' This clearly states when to use the tool, but it doesn't explicitly mention when not to use it or name alternatives, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_oddsAInspect

Get live prediction-market odds for a real-world event, phrased as a natural language question. Call this when the user asks about the probability, odds, or likelihood of any future event (elections, sports results, crypto prices, Fed decisions, geopolitics). Example: "will France win the World Cup". Returns the best-matching market with implied probabilities and source links.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses key behavior: returns the best-matching market with implied probabilities and source links, which is useful. However, it does not mention edge cases such as no matching market, ambiguous questions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each earning its place: function, usage trigger, example, return behavior. Information is front-loaded and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema, the description is nearly complete. It defines purpose, when to use, example input, and output contents. A small gap is lack of failure-mode behavior, but not enough to lower to a 3.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only names the parameter 'question' with no description coverage. The tool description compensates by explaining the expected format: a natural-language question about a future event, and provides a concrete example. This adds real semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb+resource ('Get live prediction-market odds') and clarifies scope ('real-world event, phrased as a natural language question'). The examples and 'best-matching market' language help distinguish this general tool from event-specific siblings like get_world_cup_odds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to call ('when the user asks about the probability, odds, or likelihood of any future event') and gives concrete categories. It does not mention exclusions or alternative tools, but the trigger conditions are clear and well-scoped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_research_thesesAInspect

Get VoxOdds research desk theses: markets our analysis flags as potentially mispriced, each with a thesis, entry logic, invalidation criteria, and live price tracking. Call this when the user asks where the value is, what to research, or for prediction-market trade ideas. Research framing only - not financial advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses that theses include entry logic and invalidation criteria, and mentions live price tracking, plus a disclaimer about research framing. It doesn't detail data freshness or rate limits, but for a zero-parameter tool this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each purposeful: definition, usage trigger, and caveat. The description is front-loaded with the core purpose and avoids filler, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema and clear sibling differentiation, the description is fully adequate. It covers what, when, and the nature of the output, while the output schema handles return value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema is trivially complete. The description doesn't need to compensate for parameter ambiguity, and no parameter information is required. Baseline 4 for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource ('research desk theses') and what they contain (thesis, entry logic, invalidation criteria, live price tracking). It distinguishes itself from sibling tools like get_market_odds or get_edge_signals by focusing on research analysis rather than direct market data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to call: 'when the user asks where the value is, what to research, or for prediction-market trade ideas.' It also implies not for direct execution by mentioning 'Research framing only' and adds the caveat 'not financial advice.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_track_recordAInspect

Get VoxOdds' audited AI-vs-market forecast track record. Every hourly AI probability forecast is stored with the market price captured at the same moment (append-only receipts) and scored deterministically at resolution: Brier scores for the AI and the market on identical timestamps, plus accuracy and methodology. Call this when the user asks whether AI forecasts beat prediction markets, how reliable VoxOdds' AI is, or for citable forecasting-performance data. Losses are published too — the record is auditable, not curated.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations to rely on, the description carries the full burden and delivers rich detail: append-only receipts, simultaneous market price capture, deterministic scoring with Brier scores, inclusion of accuracy and methodology, and the explicit statement that losses are published and the record is auditable, not curated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three well-structured sentences: the first states the core purpose, the second explains methodology and data integrity, and the third gives usage triggers. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description sufficiently covers what the recipient will learn (Brier scores, accuracy, methodology, auditable data). It provides enough context for an agent to decide whether to invoke it and what to expect in the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the description cannot add parameter-level semantics. Per rubric, 0 params earns a baseline of 4, and the description appropriately focuses on what the tool returns rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool retrieves VoxOdds' audited AI-vs-market forecast track record, using a specific verb and resource. It also distinguishes from siblings by focusing on aggregate AI-vs-market performance rather than individual forecaster records (get_forecaster_record) or market odds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit trigger scenarios: 'Call this when the user asks whether AI forecasts beat prediction markets, how reliable VoxOdds' AI is, or for citable forecasting-performance data.' It provides strong usage context, though it does not explicitly name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_world_cup_briefAInspect

Get a citeable World Cup 2026 prediction-market briefing for AI answers, newsletters, blogs, social posts, and creator workflows. Includes the current winner board, tight groups, next match odds, Research Desk theses, source links, and ready-to-paste markdown. Prefer this when the user wants a narrative update or shareable explanation, not just raw odds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses that the output is a briefing with specific sections and a ready-to-paste markdown format, and mentions 'source links' for citability. It implies a read-only, non-destructive operation. It lacks details on data freshness or limitations, but for a simple read tool it is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and use cases, and lists contents and usage preference without waste. Every sentence adds value, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 params) and the presence of an output schema, the description is complete. It explains what the briefing includes, who it's for, and how it differs from raw odds. It doesn't need to detail return values because the output schema exists. The context is fully covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema fully covers them (100% coverage). Per the rubric, the baseline for 0 parameters is 4; the description adds no parameter info because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool produces a 'citeable World Cup 2026 prediction-market briefing' and enumerates its contents (winner board, groups, odds, theses, source links, markdown). It also distinguishes from siblings by noting it's for 'narrative update or shareable explanation, not just raw odds,' which differentiates it from get_world_cup_odds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Prefer this when the user wants a narrative update or shareable explanation,' providing a clear when-to-use directive. It also implies when not to use it ('not just raw odds'), giving an exclusion criterion relative to raw odds tools. This is strong guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_world_cup_matchdayAInspect

Get the daily World Cup 2026 matchday market slate. Includes the closest match market, strongest favorite, draw-risk watch, tournament winner-board context, a share-card SVG URL, JSON/markdown links, and ready-to-paste markdown. Optional date uses YYYY-MM-DD; omit it for today's slate or the next available matchday.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses what the tool returns (a list of specific market insights, links, and markdown) and how the date parameter behaves. It doesn't cover error handling or edge cases, but for a read-only retrieval tool, this is adequate disclosure beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and contents, followed by parameter guidance. Every sentence earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and an output schema, the description covers the main behaviors: what to expect in the output and how to select the date. The listed content items plus the date semantics make it complete for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a string type and default with zero description coverage. The description compensates fully by specifying the exact format (YYYY-MM-DD), optionality, and default behavior (omit for today/next matchday). This adds all necessary meaning for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and a clear resource: the daily World Cup 2026 matchday market slate. It enumerates the included contents (closest match, favorite, draw-risk, tournament context, SVG URL, etc.), which clearly distinguishes it from sibling tools like get_world_cup_brief or get_world_cup_odds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear usage context: the optional `date` parameter uses YYYY-MM-DD and omitting it returns today's slate or the next available matchday. While it doesn't explicitly name alternative tools, the description makes the use case (daily matchday slate) distinct from siblings, so usage is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_world_cup_oddsAInspect

Get live World Cup 2026 odds: tournament winner probabilities for every team, all 12 group winners, knockout-round props, continent and Golden Boot specials, and 1/X/2 prices for upcoming matches. Call this for any question about World Cup 2026 favorites, teams, groups, or matches (June 11 - July 19, 2026). Updated every 10 minutes from prediction markets with $1.8B+ traded.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that odds come from prediction markets, are updated every 10 minutes, and have $1.8B+ traded, giving insight into data freshness and source. It also lists the scope of markets covered. It does not explicitly state that it is read-only, but 'Get' implies this, and the detail provided goes beyond a minimal description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action and resource, and every clause provides useful information. It efficiently packs the market types, usage context, and update frequency without redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool has no parameters and an output schema exists, the description comprehensively covers the tool's purpose, scope, freshness, and source. It provides enough contextual detail for an agent to decide correctly when to invoke this tool and what to expect, without needing to explain return formats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is effectively 100% and the baseline is 4. The description adds value by explaining what the user can ask about (favorites, teams, groups, matches), effectively documenting the 'input' to the tool even though there are no formal parameters. It does not need to explain parameter syntax because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('live World Cup 2026 odds'), and enumerates the exact types of odds (tournament winner, group winners, knockout props, continent and Golden Boot specials, match prices). It also distinguishes itself from siblings by positioning itself as the tool for any World Cup 2026 odds question, making it clear what this tool covers versus others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Call this for any question about World Cup 2026 favorites, teams, groups, or matches.' It provides clear contextual guidance for usage, though it does not explicitly mention when not to use it or name alternatives. This fits 'clear context, no exclusions.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_arbitrage_candidatesAInspect

Scan every fingerprint-pinned equivalent Polymarket–Kalshi binary pair for two-leg coverage. It buys opposite sides at equal whole-contract size, walks current ask depth, includes estimated taker fees and conservative Kalshi rounding, and emits a candidate only when total all-in cost is below the common settlement payout. Results are unfilled candidates, never guaranteed trades: cross-venue orders are non-atomic and both exact-size legs must fill. Optional family uses a family key returned by the tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyNo
max_capital_usdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does well: it warns that these are non-atomic, that both exact-size legs must fill, that fees and rounding are estimated, and that results are candidates not guaranteed trades. It also discloses it walks ask depth and emits conditionally. The one gap is that it doesn't mention what happens on execution or whether it submits anything, but the explicit 'never guaranteed trades' disclosure is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-organized: it opens with the core action, proceeds methodically through mechanics (leg sizing, depth walk, fee/rounding treatment), and closes with the critical risk caveat. Every sentence adds content with no filler. It's slightly long, but for a complex scanning tool with an important non-atomicity caveat, the length is warranted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a two-venue arbitrage scanner), an output schema present to describe return values, and 2 optional params, the description is thorough. It explains the algorithm, the cost model, the emit condition, the failure mode (non-atomic fills), and the family param workflow. The presence of an output schema relieves the need to document return fields. This is complete for the tool's purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It explains that `family` is 'a family key returned by the tool' — connecting it to a workflow. `max_capital_usd` is not explicitly named but its purpose (capital constraint on candidate generation) is strongly implied by the 'equal whole-contract size' and 'max capital' relation. With 0% schema coverage, this is solid compensation, though one param could be more directly explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is highly specific: it names the exact scan scope (fingerprint-pinned Polymarket-Kalshi binary pairs), the method (two-leg coverage buying opposite sides at equal whole-contract size), the cost model (taker fees, Kalshi rounding), and the emit condition (all-in cost below settlement payout). This clearly distinguishes it from siblings like list_executable_opportunities, list_sportsbook_surebets, and list_trending_markets, which target different instruments or market types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool (scanning for arbitrage candidates across Polymarket-Kalshi pinned pairs) and includes an important caveat distinguishing it from transactional tools: results are unfilled candidates, never guaranteed trades, and cross-venue orders are non-atomic. It doesn't explicitly name alternatives like 'use find_best_price for single best quote' but the scope is specific enough that a capable agent can discriminate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_executable_opportunitiesAInspect

Rank both YES and NO across every human-reviewed equivalent Polymarket–Kalshi pair. Each row walks current public depth within the all-in budget, includes estimated taker fees, and links to the lower effective-price venue. Contracts whose rules changed or whose requested size cannot be quoted are omitted and reported as unavailable. Optional family uses a family key returned by the tool; optional side is Yes or No. Use this when the user asks where the largest currently executable cross-venue price differences are.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNo
familyNo
amount_usdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what each row contains (current public depth, estimated taker fees, links to lower effective-price venue) and what happens to excluded contracts ('Since no annotations are provided, the description must be self-sufficient; it is, covering output content and omission behavior without requiring external context.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences with no wasted words. The main purpose, row contents, omission behavior, optional parameters, and usage guideline each earn their place. Front-loading the core action makes it immediately scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity and an output schema that covers return values, the description covers the essential context: what the tool ranks, what data is included (depth, fees, venue), the handling of unavailable contracts, the optional parameters, and the exact use case. It is a complete package for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no property descriptions, so the description must compensate. It explicitly explains `family` ('uses a family key returned by the tool') and `side` ('Yes or No'). While `amount_usd` is not named directly, the phrase 'all-in budget' clearly refers to it, providing indirect semantics. This is strong but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Rank both YES and NO across every human-reviewed equivalent Polymarket–Kalshi pair.' It clearly states the tool's output and scope, and the final sentence ('Use this when the user asks where the largest currently executable cross-venue price differences are') reinforces purpose. This distinguishes it from sibling tools like get_executable_quote (singular) and compare_executable_quotes (comparison), as it lists and ranks all opportunities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description ends with an explicit when-to-use instruction: 'Use this when the user asks where the largest currently executable cross-venue price differences are.' This gives clear context, but it does not explicitly state when not to use it or mention alternatives, so it falls short of the 5-level criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sportsbook_surebetsAInspect

Find unfilled sportsbook surebet candidates across the configured live books. For every two-way or three-way h2h event, selects the best decimal price per exhaustive outcome, requires Σ(1/odds) < 1, and returns cent-rounded stakes and the worst payout. Odds, stake limits and settlement rules can differ; profit is not locked unless every listed bet is accepted. Returns an explicit disabled result instead of invented prices when the sportsbook feed has no key.

ParametersJSON Schema
NameRequiredDescriptionDefault
sport_keyNoupcoming
capital_usdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full disclosure burden. It transparently explains the selection algorithm, the non-nested constraints (per-exhaustive-outcome pricing), the risk caveat, and the disabled-result behavior when the feed key is missing. This is strong behavioral transparency for a no-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each adding distinct value (scope, algorithm, caveat, edge-case behavior). Front-loaded with the primary purpose. No wasted words, though the algorithm sentence is dense and could be slightly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-format explanation isn't strictly required. The description covers scope, algorithm, risk caveats, and edge-case feed-disabled behavior. For a tool with 2 params and defaults, this is thorough. Minor gap: no mention of how many events are returned or any pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. sport_key and capital_usd have defaults in the schema but no semantic explanation. The description mentions stakes and payout which relate indirectly to capital_usd, but doesn't explicitly define the role of either parameter. However, with defaults present and the tool's purpose clear, the param usage is reasonably inferable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Find unfilled sportsbook surebet candidates across the configured live books.' Distinguishes from sibling list_arbitrage_candidates by specifying sportsbook-specific context and the well-defined selection algorithm (Σ(1/odds) < 1, cent-rounded stakes, worst payout).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the event scope (two-way or three-way h2h events) and the exact mathematical filter used. Explicitly warns profit is not locked unless every bet is accepted, which gives the agent clear context on reliability. Lacks explicit when-not-to-use vs alternatives like list_arbitrage_candidates, but the sportsbook-specific framing establishes clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_forecastAInspect

Submit YOUR probability forecast on a live prediction market and build a public, audited track record. VoxOdds is the neutral scorekeeper: your forecast is stored append-only next to the market price captured at the same instant, both are Brier-scored when the market resolves, and your record appears publicly (model 'ext-') on voxodds.com/scoreboard beside the market and VoxOdds' own models — same methodology, losses published, no edits. Use list_trending_markets to find a market_id. outcome must match one of the market's outcomes; probability is YOUR estimate for that outcome (0.01-0.99); forecaster_id is your stable handle (3-32 chars, a-z 0-9 dash). Free; forecasts cannot be deleted or revised.

ParametersJSON Schema
NameRequiredDescriptionDefault
outcomeYes
market_idYes
probabilityYes
forecaster_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses critical behaviors: append-only storage, simultaneous market price capture, Brier scoring, public scoreboard visibility, model ID format, and irreversibility. This goes far beyond what the schema or annotations provide, making the tool's side effects very clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat long but every clause earns its place, covering purpose, behavior, usage, parameters, and caveats. It is front-loaded with the main action and then layers supporting details without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter write operation with no schema descriptions and no annotations, the description is exceptionally complete. It explains purpose, usage, parameter semantics, behavioral guarantees, and limitations. The output schema exists, so return-value details are not needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains all four parameters: market_id is sourced via list_trending_markets, outcome must match market outcomes, probability is the user's estimate with range 0.01-0.99, and forecaster_id has a specific format (3-32 chars, a-z 0-9 dash). This fully addresses the semantic gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Submit YOUR probability forecast on a live prediction market' and clearly states the purpose of building a public, audited track record. This distinguishes it from read-only sibling tools like get_forecaster_record or get_market_odds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context, including the prerequisite 'Use list_trending_markets to find a market_id' and a strong warning that 'forecasts cannot be deleted or revised.' It does not explicitly list alternative tools for reading records, but the context makes the intended use obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Live sports betting odds, cross-book +EV, and graded player-prop resolution across 13 books.
    11
    550
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    24/7 autonomous monitoring and edge detection for prediction markets (Kalshi & Polymarket). Features causal tree analysis, orderbook depth tracking, cross-venue comparison, and real-time alerts.
    16
    196
    12
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables simulated multi-table No-Limit Texas Hold'em study and decision-support, allowing users to practice against bots and get equity/pot-odds/preflop-chart advice.
    12
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Provides betting intelligence and analytics tools including exposure, CLV, sharp scoring, live betting, and Fantasy402 integration, running on Cloudflare Edge.
    8
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources