Prediction Markets Quant
Server Details
25 quant tools. The full 2026 fantasy draft board free — no key, no email. Kalshi & Polymarket.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- predictionmarketspicks/mcp
- GitHub Stars
- 0
- Server Listing
- PredictionMarketsPicks Quant
Available Tools
25 toolsadp_market_gapsADP Market GapsARead-onlyInspect
Find the 2026 fantasy players whose Average Draft Position swings most between platforms — consensus vs ESPN, Sleeper, Yahoo, Underdog, etc. A wide gap (e.g. "consensus RB18 but ESPN drafts him RB30") is a platform-specific value: grab him where he goes latest. All 154 gaps are FREE — no key, no email. Pro adds the judgment layer on each row. Use for "ADP differences by platform", "where is a player cheapest", "ADP arbitrage", "who falls on ESPN vs Sleeper". Filter by position (QB/RB/WR/TE/FLEX).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max players to return, widest gap first (default 25). All 154 gaps are free. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| position | No | Optional position filter (FLEX = RB/WR/TE). One of: QB · RB · WR · TE · FLEX. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnly and closed-world. The description adds valuable operational context beyond that: all 154 gaps are free with no key or email, and the Pro tier adds judgment per row. It also gives a concrete example of what a gap looks like. It doesn't cover every detail, but it exceeds the minimum for a read-only lookup tool.
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 with the core behavior first, followed by a concrete example, access notes, and query phrases. It is efficient and front-loaded. A bit of repetition exists between the platform list and the 'who falls on ESPN vs Sleeper' example, but no sentence is wasted.
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 read-only, optional-parameter lookup tool, the description is complete: it defines the data, the platform scope, the use cases, access requirements, and the filtering option. With all three params documented in the schema and no output schema needed for invocation, nothing essential is missing for an agent to select and call the tool correctly.
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?
Input schema covers 100% of parameters with descriptions for limit, scoring, and position, so the baseline is 3. The description's 'Filter by position' line just restates the schema. The free/154-gap note does not add parameter-specific meaning.
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?
Description opens with a specific verb and resource: 'Find the 2026 fantasy players whose Average Draft Position swings most between platforms.' It clearly identifies the unique data source (consensus vs ESPN, Sleeper, Yahoo, Underdog) and the core concept of platform-specific ADP gaps. It does not explicitly name or exclude sibling tools, but the focus on cross-platform ADP arbitrage is enough to set it apart.
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?
The description gives explicit 'Use for' intents: 'ADP differences by platform', 'where is a player cheapest', 'ADP arbitrage', and 'who falls on ESPN vs Sleeper'. This tells an agent when to choose the tool. It does not discuss alternatives or when not to use it, so it stops 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.
base_rate_gapBase Rate GapARead-onlyInspect
Compare a market price against the historical base rate for a class of events and get the gap in percentage points plus a signal and sample-size quality. Pass either a known base-rate id (one of: incumbent_reelected, fed_hold_unemp_below_4, fed_cut_cpi_above_3, recession_called_12mo, sp500_positive_year, bitcoin_above_100k_eoy, gdp_growth_above_2, cpi_above_3, senate_incumbent_wins_primary, vix_below_20_eoy, interest_rate_cut_next_meeting, major_sports_upset) or your own baseRateValue. Use for "how does this price compare to history", "is the market ignoring the base rate", "historical frequency vs market".
| Name | Required | Description | Default |
|---|---|---|---|
| baseRateId | No | Known base-rate id to look up (includes sample size + source). | |
| marketPrice | Yes | Current market price in cents / implied probability % (0–100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. | |
| baseRateValue | No | Your own base rate in % (0–100), used when no baseRateId is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavioral context by specifying the return components: gap, signal, and sample-size quality. It does not detail edge cases like what happens if both baseRateId and baseRateValue are supplied, but that is a minor gap.
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 first sentence is front-loaded with the core action and output. The enum list is somewhat redundant with the schema but still useful for discoverability, and the use-case sentence earns its place. Overall it is organized and not padded.
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?
Given no output schema, the description compensates by naming the result fields (gap, signal, sample-size quality). Inputs are well covered by the schema, and the description clarifies the either/or relationship between baseRateId and baseRateValue. Minor ambiguity remains about conflict or omission behavior, but the tool is simple enough that the description is essentially complete.
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 description repeats the enum list and the baseRateValue alternative but does not add new semantic meaning beyond the schema. No extra parameter guidance is provided, so it does not rise above baseline.
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-resource pair ('Compare a market price against the historical base rate') and enumerates the outputs (gap in percentage points, signal, sample-size quality). It clearly differentiates this tool from siblings like calculate_ev or convert_probability by focusing on historical base-rate comparison.
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?
The description gives explicit use-case phrasing ('how does this price compare to history', 'is the market ignoring the base rate', 'historical frequency vs market') and explains the two input paths (baseRateId or baseRateValue). It does not name alternatives or exclusion conditions, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bayes_updateBayesian Probability UpdateARead-onlyInspect
Update a prior probability with one or more pieces of evidence using Bayes theorem. Given a prior and a list of evidence items (each with P(evidence | true) and P(evidence | false)), returns the posterior probability and the per-step chain. Use for "update my estimate with new information", "posterior probability", "how does this news change the odds".
| Name | Required | Description | Default |
|---|---|---|---|
| prior | Yes | Prior probability the hypothesis is true, in % (0–100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. | |
| evidence | Yes | One or more evidence items, applied in order. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint annotation by explaining that it returns the posterior probability and a per-step chain, and that it can process multiple evidence items. The word 'update' refers to a mathematical calculation rather than a persistent state change, so there is no contradiction with the readOnly annotation.
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 cover the main operation, input/output mechanics, and usage triggers without redundancy. The description is front-loaded with the core Bayesian update purpose and each subsequent sentence adds a distinct, useful layer.
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 stateless calculator with a readOnlyHint and fully documented schema, the description gives enough to invoke correctly: what to pass, how evidence is modeled, and what comes back. It could detail the structure of the per-step chain, but that is secondary to calling the tool successfully.
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 input schema already fully documents prior formats, evidence structure, and likelihood semantics. The description repeats the evidence model at a high level but adds no parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.
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 action ('update a prior probability') with a precise mathematical method (Bayes theorem) and clearly describes the input/output relationship. The 'Use for' phrases ('posterior probability', 'how does this news change the odds') make it easy to distinguish from the conversion and EV tools in the sibling list.
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 provides user-intent triggers such as 'update my estimate with new information' and 'posterior probability', which helps an agent decide when to select this tool. It does not name specific sibling alternatives or state when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
best_availableBest Available (Draft)ARead-onlyInspect
Given the current pick number and the players already drafted, return the best players still on the board (2026, any scoring format), each with projection, ADP, and a value flag, plus the biggest model value available. The full remaining pool is FREE — no key, no email. Pro adds boom/bust week odds and the positional tier breaks across everyone still on the board. Prefer this mid-draft when the user asks "who is the best available", "who should I take next", "best player left". Input: pick_number, drafted (names already gone).
| Name | Required | Description | Default |
|---|---|---|---|
| teams | No | League size (number of teams) for draft-round math. Overrides the platform default; falls back to 12. | |
| roster | No | Player names on the USER's team — enables a bye-stack warning on the top pick (byes are shown per-player regardless). | |
| drafted | No | Player names already drafted (any team). Removed from the pool. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. | |
| pick_number | Yes | The overall pick number that is on the clock. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, and the description implicitly matches that by framing the operation as returning information. It adds useful context about the free vs. Pro data tiers (bonus boom/bust odds and positional tier breaks), which helps set expectations about result richness. It doesn't go into edge cases like invalid player names or partial pool updates, but given the read-only annotation, this is an acceptable level.
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 main behavior is front-loaded in the first sentence, followed by brief notes on free/pro output, usage guidance, and input clarification. Each sentence has a purpose, though the 'Input: pick_number, drafted (names already gone)' line is largely redundant with the schema and could be trimmed. Overall it is compact and scannable.
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 adequately describes the return contents: projection, ADP, value flag, and biggest model value, plus optional Pro extras. It also covers the required input context (pick number, drafted players) and the season/format scope ('2026, any scoring format'). Given the tool's moderate complexity and read-only nature, this is sufficient for an agent to invoke and interpret results.
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 schema already documents all six parameters, including pick_number, drafted list, scoring, platform, roster, and teams. The description only reiterates pick_number and drafted ('Input: pick_number, drafted (names already gone)'), adding no new semantic detail beyond the schema. Baseline 3 is appropriate.
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 starts with a specific verb and resource: 'given the current pick number and the players already drafted, return the best players still on the board.' It also lists concrete output contents (projection, ADP, value flag, biggest model value), making the tool's function unmistakable and distinct from generic drafting tools. The title and phrase 'Prefer this mid-draft...' further reinforce the specific use case.
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?
The description explicitly states when to prefer this tool: 'Prefer this mid-draft when the user asks "who is the best available", "who should I take next", "best player left".' This gives clear context for invocation. It does not explicitly mention when not to use it or name alternative sibling tools, but the guidance is strong enough for most routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_evCalculate EV EdgeARead-onlyInspect
Calculate the expected-value edge on a Kalshi or Polymarket prediction-market contract. Given the current market price (in cents, i.e. the implied probability) and your own probability estimate, returns the % edge and a BUY / SELL / SKIP signal with a plain-English read. Use for "is this contract mispriced", "what is my edge", "should I take this position". From the PredictionMarketsPicks desk, which publishes a settled per-engine record — every signal graded against the market that priced it, wins and losses both: predictionmarketspicks.com/track-record.
| Name | Required | Description | Default |
|---|---|---|---|
| marketPrice | Yes | Current contract price in cents (1–99), equal to the implied probability in %. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. | |
| yourProbability | Yes | Your own estimate of the true probability the contract resolves YES, in % (0–100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe, non-mutating calculation. The description adds useful output behavior—'% edge and a BUY / SELL / SKIP signal with a plain-English read'—but does not disclose internal assumptions or edge thresholds. This is adequate but not rich.
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 three sentences: function and outputs, use cases, and provenance/track-record context. It is front-loaded and every sentence earns its place, though the final track-record sentence is slightly promotional.
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 two-parameter read-only calculator, the definition is complete enough: it names the domain, inputs, outputs, and intended use cases. There is no output schema, but the description gives a reasonable picture of the return value. A bit more detail about how the BUY/SELL/SKIP thresholds are derived would be helpful but not necessary for correct invocation.
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 both marketPrice and yourProbability already have detailed descriptions including accepted formats (percentages, decimals, American odds). The description adds no parameter semantics beyond what the schema already provides, 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 opens with a specific verb and resource: 'Calculate the expected-value edge on a Kalshi or Polymarket prediction-market contract.' It names the inputs and the exact outputs (% edge and BUY/SELL/SKIP signal), making the function unambiguous and clearly distinct from siblings like convert_probability or kelly_size.
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?
The description explicitly states when to use the tool: 'Use for "is this contract mispriced", "what is my edge", "should I take this position".' This gives clear context, though it does not name sibling tools or specify 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.
combo_edgeCombo Edge VerdictARead-onlyInspect
Grade a same-game combo (parlay-style multi-leg position) on a prediction market against its fair value. Given each leg price in cents and your correlation-aware estimate of the true joint win probability, returns the fair-value ODDS BAND to grade a quote against. Pass offeredOdds — the price your platform actually quotes for the combo (Kalshi combo RFQ or an SGP product) — to get the expected-value %, a negative-correlation-trap flag, and a 7-tier verdict (SMASH / PLAY / LEAN / RISK / NO_VALUE / PASS / RUN). Without offeredOdds it returns fair value + band only (no verdict) — never grade EV off the product of the leg prices, which no venue pays. Use for "is this combo worth it", "grade my parlay quote", "same-game combo value". From the PredictionMarketsPicks desk, which publishes a settled per-engine record — every signal graded against the market that priced it, wins and losses both: predictionmarketspicks.com/track-record.
| Name | Required | Description | Default |
|---|---|---|---|
| legPrices | Yes | Each leg's YES price in cents (1–99). Used only for the theoretical assemble ceiling. | |
| offeredOdds | No | The combo price your platform actually quotes — American odds (e.g. -150, 988) or a decimal payout multiplier (e.g. 10.7). Grades EV + verdict against fair value. Omit to get fair value + band only. | |
| trueWinProbability | Yes | Your correlation-aware estimate of the true joint probability all legs hit, in % (0–100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true annotation, the description discloses rich behavioral detail: optional offeredOdds changes the output, without it no verdict is returned, and the tool emits EV %, a negative-correlation-trap flag, and a 7-tier verdict list. It also warns against grading EV off the product of leg prices, which is valuable non-obvious 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?
The description is dense but well-organized, front-loading the core purpose before optional-input behavior and use cases. Every major sentence adds information, though the track-record provenance sentence is slightly tangential to correct invocation.
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 still explains what the tool returns in both invocation modes: fair-value + band alone, or EV %, flag, and verdict when offeredOdds is provided. It covers inputs, optional behavior, common misuse, and use-case triggers, making it complete enough for an agent to invoke correctly.
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 already documents legPrices, offeredOdds, and trueWinProbability clearly. The description mostly restates those meanings, adding only the warning about not using the product of leg prices as EV. Since the schema carries the parameter documentation, a baseline of 3 is appropriate.
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 opens with a specific verb and resource: 'Grade a same-game combo ... on a prediction market against its fair value.' It clearly distinguishes this tool from generic edge/EV tools by focusing on multi-leg combo positions, fair-value odds bands, and a 7-tier verdict. The scope is unambiguous.
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?
The description gives explicit use cases: 'is this combo worth it', 'grade my parlay quote', and 'same-game combo value'. It also explains when to pass offeredOdds and what happens when omitted. However, it does not name sibling tools or state when a different tool should be used instead, leaving some alternative-routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
commodity_edgeCommodity Edge (Silver / Bitcoin)ARead-onlyInspect
Get today's highest-conviction silver or bitcoin trade signal from the PMP edge model — the Kalshi weekly-silver (KXSILVERW) or twice-daily bitcoin (KXBTCD) strike with the largest model edge, as a trade ticket: entry side and price, resolve criterion, model probability, edge in percentage points, confidence tier, and quarter-Kelly sizing. Pro key required. Use for "silver edge today", "bitcoin trade signal", "is there a commodity edge". Pass tickers[] to check specific Kalshi markets — e.g. paste your Kalshi Pro screener watchlist (returns the signal only if it matches the strike PMP is modeling).
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | No | Optional Kalshi ticker watchlist (up to 25) — e.g. paste the tickers from your Kalshi Pro screener or Canvas to get PMP's edge on exactly those markets. Full market or 3-segment event tickers both work. Tickers PMP doesn't model are returned as not_covered (never a fabricated edge). | |
| commodity | Yes | Which commodity edge to read. One of: silver · bitcoin. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true and openWorldHint: true, so the description need not re-state that this is a read-only market lookup. The description adds useful behavioral context: the 'Pro key required' requirement, the behavior that only modeled strikes return a signal, the explicit 'never a fabricated edge' promise for unmodeled tickers, and the return-value composition as a trade ticket. It does not disclose rate limits, latency, or what happens if no edge exists today, but those are secondary gaps. Bar is lower given annotations, so a 3 is fair.
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 a single dense paragraph but front-loads the core capability in the first clause and packs each subsequent phrase with actionable information: output ticket fields, pro requirement, query phrases, and ticker filtering semantics. It is somewhat long, but every clause earns its place; there is no filler. The only minor issue is the mid-description parenthetical about screening and the ''is there a commodity edge'' phrase could perhaps be tightened, but the density is justified.
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?
Given that there is no output schema, the description compensates well by enumerating the trade ticket fields (entry side/price, resolve criterion, model probability, edge, confidence tier, quarter-Kelly sizing). It also covers the pro-key requirement and error behavior for unmodeled tickers. It does not specify what happens when there is no edge for the chosen commodity, whether both commodities can be queried in one call, or how the 'quarter-Kelly sizing' should be interpreted without a bankroll input; these are modest gaps for a read-only signal tool with openWorldHint.
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 description adds even more semantic value beyond the schema. For the tickers parameter it explains that full market or 3-segment event tickers both work, that up to 25 are accepted, that unmodeled tickers return not_covered rather than invented data, and gives the concrete use-case of pasting a Kalshi Pro screener watchlist. For commodity it enumerates the two valid values and associates them with the underlying Kalshi markets (KXSILVERW and KXBTCD). This exceeds the schema's baseline.
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 clearly names the tool as returning the highest-conviction silver or bitcoin trade signal from the PMP edge model, with a specific list of output fields: entry side and price, resolve criterion, model probability, edge, confidence tier, and quarter-Kelly sizing. It also disambiguates from sibling tools by focusing on commodity/silver/bitcoin signals, which none of the listed siblings (which are mostly NFL/fantasy/player-focused) cover. The inclusion of natural-language trigger phrases like 'silver edge today', 'bitcoin trade signal', and 'is there a commodity edge' makes it immediately clear what the tool does and how to invoke it.
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?
The description explicitly states when to use the tool: for silver or bitcoin edge queries, and provides example phrasings. It also explains a specific use case for the optional tickers parameter: paste a Kalshi Pro screener watchlist to check specific markets, and clarifies that the signal is only returned if it matches the strike PMP is modeling. It does not name an alternative tool, but the sibling list contains no other commodity edge tool, so the when-to-use guidance is sufficient for selection and there is no misleading alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_playersCompare Players (Draft)ARead-onlyInspect
Compare 2–4 players side by side for a 2026 fantasy draft (standard, half-PPR or full-PPR) — projection, floor/ceiling, ADP, draft round, and value flag — and get a pick recommendation plus which one is the best market value. Free, no key. Use for " or in fantasy", "who should I draft, or ", "compare and ", "start/draft vs ".
| Name | Required | Description | Default |
|---|---|---|---|
| players | Yes | 2–4 player full names to compare. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds useful context: it is free/no-key, supports standard/half-PPR/full-PPR, and returns a recommendation plus market-value assessment. No hidden destructive behavior, authentication requirement, or rate-limit concern is left undisclosed.
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 dense but efficient: the main purpose and outputs come first, followed by the access note and concrete example phrasings. The long dash-separated clause packs many output concepts together, but it remains scannable and contains no 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?
For a read-only comparison tool with three well-documented parameters and no output schema, the description provides enough context: player count, scoring formats, result type, and sample user queries. It could be stronger by explicitly explaining how it relates to overlapping siblings such as best_available or who_do_i_draft.
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 players, scoring, and platform are already fully documented with defaults and enum values. The description does not meaningfully expand on parameter-level semantics, but it does not need to because the schema carries that weight.
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 uses a specific verb ('Compare') and resource ('2–4 players') and clearly frames the fantasy draft context, while listing concrete outputs like projection, ADP, floor/ceiling, recommendation, and value flag. It does not explicitly differentiate itself from sibling tools like player_outlook or who_do_i_draft, so it misses the top score.
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?
The description provides explicit query patterns such as 'who should I draft, A or B' and 'compare A and B', giving an agent clear trigger conditions for selecting this tool. It does not include when-not-to-use guidance or point to a specific alternative tool when the query is off-target.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_probabilityConvert Probability / OddsARead-onlyInspect
Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | The numeric value to convert. Accepts a number or a numeric string ("+150", "62%", "2.5"). | |
| format | Yes | Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate readOnlyHint=true, so no side-effect warning is needed. The description adds useful behavioral context beyond annotations: it returns all three representations at once and specifies that American odds carry no commas (e.g., +441 or -200). This helps the agent set expectations about output formatting.
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: one purpose sentence, one outcome sentence, and a short list of use-case examples. Every sentence earns its place, the main behavior is front-loaded, and there is no redundant restating of the tool name or schema.
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 two-parameter conversion tool with full schema coverage and a read-only annotation, the description is largely complete. It states inputs, output behavior, and formatting conventions. The only minor gap is that it does not specify the exact response structure or key names, but 'get all three back' is sufficient for most agent workflows.
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 description adds value beyond the schema with concrete examples like '+150', '62%', and '2.5', and clarifies the American odds formatting constraint. This helps an agent understand accepted value forms without relying on enum hints alone.
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 opens with a specific verb and resource: 'Convert between implied probability, American odds, and decimal odds.' It also states the exact outcome—'get all three back'—and gives concrete user-phrase examples that remove ambiguity. No sibling tool overlaps with this conversion purpose, so it is clearly distinguishable.
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?
The description gives explicit usage contexts: 'Use for "what is +150 as a probability"', 'convert 62% to American odds', and 'decimal to implied odds.' These examples tell an agent when to invoke the tool. It does not explicitly state when not to use it or name alternatives, but the sibling list contains no competing conversion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draft_boardFantasy Draft BoardARead-onlyInspect
The PredictionMarketsPicks 2026 fantasy football draft board (standard, half-PPR or full-PPR) — every player ranked, blending our projection model with consensus ADP, showing projected points, ADP, draft round, and a SLEEPER / BUST value flag. Filter by position (QB/RB/WR/TE/FLEX). THE COMPLETE BOARD IS FREE — all ~330 players, no key, no email, no signup. Pro adds the judgment on top: boom/bust week odds per player and positional tier breaks. Use for "fantasy football rankings 2026", "who are the top RBs", "draft board", "best available by position".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max players to return, best first (default 50). The full board is ~330 and all of it is free. | |
| teams | No | League size (number of teams) for draft-round math. Overrides the platform default; falls back to 12. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. | |
| position | No | Optional position filter (FLEX = RB/WR/TE). One of: QB · RB · WR · TE · FLEX. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, and the description adds access context: the full ~330 player board is free with no key, email, or signup. It also clarifies that boom/bust week odds and tier breaks are 'Pro' additions, setting expectations about what the baseline output contains.
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 core function is front-loaded, and each subsequent sentence adds value: scoring formats, output fields, position filter, free access, and example queries. The all-caps promotional phrase is slightly heavy but not excessive for a tool that doubles as a product page.
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 compensates by naming the returned fields (projected points, ADP, draft round, sleeper/bust flag). It also covers access and intended queries; it is less explicit about exact response shape, but the parameter schema covers limit and default behavior.
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 description reinforces the scoring, position, and limit concepts, but for teams and platform the schema already carries the full meaning; the description adds little beyond what the schema documents.
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 clearly identifies a fantasy football draft board resource with ranked players, projection/ADP blend, output fields, and position filtering. It is specific enough to distinguish from generic ranking tools, though it does not explicitly differentiate it from siblings like best_available or sleepers_and_busts.
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?
The closing 'Use for' list gives concrete example queries such as 'fantasy football rankings 2026' and 'best available by position', making intended use clear. It does not state when not to use it or name alternative tools, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edge_alertsEdge Alerts (weather / commodity / mispricing)ARead-onlyInspect
Read the edge alerts our models generate on Kalshi — weather, bitcoin/silver/gold/oil, and mispricings — as a live feed. Each alert carries feed, tier (SPECULATIVE/MODERATE/STRONG), side, price in cents, model probability, edge in percentage points, and a Kalshi market link. A Pro key returns the feed in real time; without a key you get the same feed delayed 24 hours with the thesis stripped. Every subscriber receives the identical, impersonal feed at the same time — the signals are not tailored to any individual. Filters (feed, min_tier, since) SELECT which alerts you see; they never change the signal content. Use for "any edge on Kalshi", "weather trade signals", "latest mispricings". Impersonal market analysis for informational purposes only, not investment advice. Trade responsibly.
| Name | Required | Description | Default |
|---|---|---|---|
| feed | No | Comma-separated feeds to include: weather, bitcoin, silver, gold, oil, mispricing, sports_arb, nfl. Omit for all. | |
| limit | No | Max alerts to return (default 25). | |
| since | No | ISO-8601 timestamp — only alerts created after it. | |
| min_tier | No | Minimum confidence tier (returns that tier and above). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses significant behavioral traits: the Pro vs. delayed 24-hour feed, thesis stripping without a key, the identical impersonal nature of the feed, and that filters only affect selection, never signal content. It even adds a disclaimer that it is not investment advice.
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 information-dense and front-loaded with the main purpose, followed by return fields, access behavior, filter semantics, and use cases. It is slightly long and includes boilerplate like 'Trade responsibly,' but each substantive sentence earns its place.
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 compensates by listing the fields each alert carries: feed, tier, side, price in cents, model probability, edge in percentage points, and a Kalshi market link. It also covers access tiers, delay, and filter semantics. Minor gaps remain around exact probability units and the sports_arb/nfl feeds mentioned only in the schema.
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 schema already documents all four parameters. The description adds value by explaining that filters (feed, min_tier, since) only select which alerts are shown and never alter the underlying signal content, and it names several feed categories in the first sentence.
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 opens with a specific verb and resource: 'Read the edge alerts our models generate on Kalshi' and enumerates the covered feeds (weather, commodities, mispricings). It also clarifies that this is a live feed of pre-generated signals, which distinguishes it from calculation-oriented sibling tools like calculate_ev or scan_mispricings.
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?
The description gives explicit use-case phrases: 'Use for "any edge on Kalshi", "weather trade signals", "latest mispricings".' It also explains the filter behavior and access-key implications. However, it does not explicitly state when to prefer a sibling tool or when not to use this feed, so it falls short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_playerExplain a Player RankingARead-onlyInspect
Explain WHY the 2026 draft board ranks a player where it does, factor by factor: projection, floor/ceiling band, boom/bust week shape, and the three separate ranks a board row carries — our model's own positional rank, the market's ADP, and the published blend between them — plus the edge between model and market. Also states what the projection does NOT model (injuries, camp news, schedule). Free, no key. Use for "why do you have there", "explain ranking", "what's driving 's projection", "why is a sleeper/bust". For a plain outlook or a verdict rather than the reasoning, use player_outlook.
| Name | Required | Description | Default |
|---|---|---|---|
| player | Yes | Player full name (e.g. "Bijan Robinson", "Jaxon Smith-Njigba"). | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, but the description adds valuable behavioral context: it is free and requires no key, it details the contents of the explanation (factor by factor), and explicitly states what the projection does NOT model (injuries, camp news, schedule). This goes well beyond the 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?
The description is well-structured and front-loaded with the core purpose. The detail on factors, explicit examples, non-modeled items, and the sibling alternative is dense but every sentence serves a purpose. The length is justified by the tool's complexity.
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 must convey what the agent can expect. It enumerates the output components (projection, floor/ceiling band, boom/bust week shape, three ranks, model-market edge), states exclusions, cost/auth, and example queries. An agent has sufficient context to decide and invoke correctly.
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 both scoring and platform have clear enum-based descriptions. The tool description does not add parameter-level meaning beyond the schema, but it does reinforce the context (e.g., platform presets, overrides). Baseline 3 is appropriate when schema carries the parameter documentation.
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 opens with a specific verb+resource: 'Explain WHY the 2026 draft board ranks a player where it does, factor by factor.' It enumerates the exact factors and the three distinct ranks, which clearly distinguishes it from related tools like player_outlook or draft_board. No ambiguity about what this tool does.
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?
The description provides explicit trigger phrases ('why do you have <player> there', 'explain <player> ranking') and names the alternative (player_outlook) for when the user wants a plain outlook or verdict rather than reasoning. This gives an agent clear routing logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fed_rate_oddsFed Rate Odds (FOMC)ARead-onlyInspect
Live market-implied odds of a Federal Reserve rate cut, hold or hike at each remaining 2026 FOMC meeting, from Kalshi. Returns the next meeting with days-until and its full strike breakdown, plus the whole remaining rate path and the current fed funds rate. Free, no key. Also returns a cross-venue block comparing Kalshi against Polymarket and CME fed funds futures-implied odds for the next meeting, with the disagreement in percentage points. Free, no key. Use for "will the Fed cut rates", "fed rate hike odds", "next FOMC meeting odds", "what is the market pricing for September", "do Kalshi and Polymarket agree on the Fed".
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context about live Kalshi data, free/no-key access, and the cross-venue comparison, but does not disclose refresh frequency or data lag.
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 densely informative: core functionality, return contents, and example use cases are all present. The phrase 'Free, no key' is repeated twice, which is minor redundancy but does not undermine clarity.
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 return values. It enumerates all key outputs: next meeting with days-until, strike breakdown, remaining rate path, current fed funds rate, and the Kalshi/Polymarket/CME comparison. This is complete for a no-parameter read-only 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?
The tool has zero parameters and an empty schema, so the baseline is 4. The description appropriately notes that no key is required, making it clear that invocation requires no setup or input.
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 clearly that the tool returns live market-implied Fed rate odds for remaining 2026 FOMC meetings, including next-meeting details and a cross-venue comparison. The Fed/FOMC scope is explicit and distinguishes it from the sports-focused sibling tools.
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?
Provides concrete natural-language use cases such as 'will the Fed cut rates' and 'next FOMC meeting odds'. It does not name exclusions, but the sibling list contains no close alternative, so the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_arbitrageFind Sports Arbitrage GapsARead-onlyInspect
Scan for cross-platform price gaps between Kalshi and Polymarket on the same sports contract (NBA, NHL, MLB, World Cup). Returns each game where the two venues disagree on the implied probability, the gap in percentage points, the WATCH/ARB signal, and which venue is cheaper. Free without a key: the single largest gap on the board, in full detail. One email returns the top 3; Pro returns the whole board. Use for "where is the arbitrage", "cross-platform price gaps", "Kalshi vs Polymarket mispricing". Every signal our engines publish is settled against the market that priced it and scored wins and losses in public: predictionmarketspicks.com/track-record.
| Name | Required | Description | Default |
|---|---|---|---|
| minGap | No | Minimum gap in percentage points to include (default 3 = WATCH threshold). Accepts a number or a numeric string ("3", "3pp", "3%"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint and openWorldHint annotations already establish that this is a safe, free-access operation. The description adds valuable behavioral context by qualifying the free tier: without a key, only the single largest gap is returned, while email/Pro unlocks more. This prevents an agent from assuming open access means full board access.
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 first several sentences are dense and front-loaded with functional information. However, the final sentence about the public track record is promotional rather than operational and does not help an agent select or invoke the tool, so not every sentence earns its place.
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 tool with one optional parameter, read-only annotations, and no output schema, the description is largely complete: it states what is returned, the access-tier limits, and the intended query phrasing. It does not define WATCH versus ARB signals in detail, but the essentials needed to call the tool are 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?
The only parameter, minGap, is already fully documented in the input schema, including accepted formats and the default WATCH threshold. The description does not add additional parameter-level meaning, so the baseline score 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 uses a specific verb ('Scan for') and a specific resource ('cross-platform price gaps between Kalshi and Polymarket on the same sports contract'). It lists the exact sports covered and the exact returned fields, making the tool's scope unmistakable and implicitly distinguishing it from generic siblings like scan_mispricings.
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?
The description explicitly lists query phrases that should trigger this tool: 'where is the arbitrage', 'cross-platform price gaps', and 'Kalshi vs Polymarket mispricing'. It does not explicitly state when not to use it or name an alternative tool, but the intended use cases are clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kelly_sizeKelly Position SizeARead-onlyInspect
Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".
| Name | Required | Description | Default |
|---|---|---|---|
| bankroll | No | Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure. Accepts a number or a numeric string ("1000", "$1,000"). | |
| fraction | No | Kelly fraction to apply. Half-Kelly is the common sharp-money default. | half |
| marketPrice | Yes | Contract price in cents (1–99). Sets the payout ratio. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. | |
| winProbability | Yes | Your probability the contract resolves YES, in % (0–100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, so the safe, non-mutating nature is already covered. The description adds that the result is a dollar stake and a risk rating, but it does not disclose edge cases such as what happens when winProbability is below or equal to the market price, nor what the risk rating values actually mean. This leaves some behavioral ambiguity.
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 two sentences with no filler. It front-loads the core computation, then lists inputs and outputs, and ends with concrete query examples. Every sentence earns its place and the structure makes the tool easy to scan.
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 calculation tool with no output schema, the description does state the outputs ('dollar stake and a risk rating') and all inputs. However, it leaves the 'risk rating' undefined and does not explain behavior when no Kelly bet is warranted, which an agent would benefit from knowing before invoking the 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%, and the schema already documents each parameter, including accepted formats, defaults, and optionality. The description restates the key parameters but does not add significant new semantic meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 opens with a specific verb and resource: 'Compute the optimal Kelly position size for a prediction-market contract.' It clearly lists the inputs (win probability, market price, bankroll, Kelly fraction) and outputs (dollar stake and risk rating), making the tool's function unmistakable even among many sibling tools.
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?
The description explicitly provides user-intent triggers: 'Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".' This gives clear context on when to invoke the tool. However, it does not mention when not to use it or name any alternative tool, so it falls just short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_pulseMarket Pulse — MacroARead-onlyInspect
The US macro-health composite (0–100) and regime plus the six category scores (growth, labor, inflation, rates, liquidity, sentiment). The composite and the regime call are free without a key, always, along with 2 category scores; one email returns 4 and Pro returns all six. Use for "how is the US economy", "macro regime", "risk-on or risk-off". (NFL edges moved to the dedicated nfl_edge tool.)
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | macro = US macro-health composite (the only topic — NFL is now the nfl_edge tool). | macro |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and openWorld annotations, the description discloses meaningful access-tier behavior: composite and regime are always free, but category score availability depends on the caller's key level. It does not describe the exact response structure or regime labels, but the access behavior is unusually transparent.
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, front-loaded with the core output, and each sentence earns its place: what the tool returns, access behavior, and when to use it. There is no fluff or redundancy beyond the intentional sibling clarification.
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 tool with one optional enum parameter, no output schema, and read-only/open-world annotations, the description covers the output content, access limitations, and intended use cases. Nothing essential is missing for an agent to decide whether and how to invoke it.
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 topic parameter already carries a clear description and enum. The tool description reinforces that NFL is handled elsewhere, but adds little semantic value 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?
The description clearly identifies the tool's output: a US macro-health composite (0–100), a regime call, and six category scores. It also distinguishes itself from the nfl_edge sibling by explicitly stating that NFL edges were moved there.
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 provides concrete example queries ('how is the US economy', 'macro regime', 'risk-on or risk-off') and explicitly routes NFL-related requests to the dedicated nfl_edge tool, making when-to-use and when-not-to-use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nfl_edgeNFL Edge (model vs Kalshi)ARead-onlyInspect
Where the PredictionMarketsPicks NFL model disagrees with live Kalshi prices — the actionable edge across every NFL market: game moneylines this week, season win-total futures, MVP, and championship (playoff / conference / Super Bowl) odds. Returns model probability, Kalshi price, edge in percentage points, and the side, biggest edges first. Pro key required. Use for "which NFL games are mispriced on Kalshi", "NFL win total edges", "NFL MVP value", "Super Bowl odds edge", "NFL prediction market picks". Pass tickers[] to check specific Kalshi markets — e.g. paste your Kalshi Pro screener watchlist (applies to the futures / mvp / championship markets, which are ticker-addressable).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows (default 10). | |
| market | No | game = this week moneyline edges; futures = season win totals; mvp = KXNFLMVP; championship = playoff/conference/Super Bowl. | game |
| minEdge | No | Minimum absolute edge in pp to include (default 4). Ignored when tickers[] is passed. Accepts a number or a numeric string ("3", "3pp", "3%"). | |
| tickers | No | Optional Kalshi ticker watchlist (up to 25) — e.g. paste the tickers from your Kalshi Pro screener or Canvas to get PMP's edge on exactly those markets. Full market or 3-segment event tickers both work. Tickers PMP doesn't model are returned as not_covered (never a fabricated edge). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description discloses the exact return fields (model probability, Kalshi price, edge in percentage points, side), sort order (biggest edges first), the Pro key requirement, and the not_covered behavior for unmodeled tickers with an explicit promise never to fabricate an edge. This is strong behavioral disclosure.
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 front-loaded with the core value proposition, then each sentence adds a distinct fact: return format, auth requirement, usage triggers, and ticker behavior. The natural-language query list is slightly redundant with the market enum but still earns its place by making the tool's invocation more discoverable.
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 read-only tool with four optional parameters and no output schema, the description covers outputs, sorting, authentication, market types, ticker-specific behavior, and failure semantics. No critical operational detail appears missing.
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 description adds value by explaining the tickers[] use case — pasting a Kalshi Pro screener watchlist — and noting that it applies to futures/mvp/championship markets. It also preempts a failure mode by stating that unmodeled tickers return not_covered, which is more than the schema provides.
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 clearly defines the tool as surfacing disagreements between the PMP NFL model and live Kalshi prices, listing concrete market categories: game moneylines, season win-total futures, MVP, and championship odds. This scope distinguishes it from broader siblings like scan_mispricings and prop-specific tools like nfl_prop_edge, even without naming them explicitly.
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 explicit natural-language usage triggers ('which NFL games are mispriced on Kalshi', 'NFL win total edges', 'NFL MVP value') and a clear tickers[] workflow for checking specific Kalshi markets. It does not name sibling alternatives or state when not to use this tool in favor of another, so it stops 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.
nfl_power_ratingsNFL Power Ratings (PWR)ARead-onlyInspect
The PredictionMarketsPicks NFL power ratings — PWR for all 32 teams: points per game above an average team on a neutral field, where PWR = Off PR + Def PR + ST PR. Includes each team's rank and tier. Free, no key. Use for "best NFL teams by power rating", "NFL power rankings 2026", "is Baltimore overrated", "how good is Kansas City", "NFL team ratings".
| Name | Required | Description | Default |
|---|---|---|---|
| team | No | Optional team abbreviation (e.g. "KC", "SF", "LAR") — returns just that team's rating + rank. | |
| tier | No | Optional: only teams in this tier — one of "Elite" (PWR ≥+7), "Contender" (≥+4), "Playoff" (≥+1), "Average" (≥−2), "Below Avg" (≥−5), "Rebuild" (<−5). A tier with no teams at current ratings returns an empty board, not an error. | |
| limit | No | Max teams to return, best rating first (default 32 = full board). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, and the description adds useful behavioral context: it explains the PWR formula, says the result includes rank and tier, and explicitly says 'Free, no key', which informs auth expectations. It does not detail every output field, but for a simple read-only rating lookup the key behavioral facts are present.
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 front-loads the core concept, then gives the formula and example queries. The use-case examples earn their place by helping intent matching. It is slightly dense but every sentence contributes useful information.
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 read-only, zero-required-parameter lookup tool, the description sufficiently explains what the data means, what is included, and which natural-language intents map to it. It does not have an output schema, but describing rank and tier plus the optional team/tier/limit parameters from the schema gives the agent enough to invoke and interpret results correctly.
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 parameters are already well documented with types, defaults, and constraints. The description reinforces usage patterns like team-based queries but does not add meaning beyond the schema. A baseline of 3 is appropriate because 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?
The description clearly identifies the tool as providing NFL power ratings (PWR) for all 32 teams and defines the metric with a formula. It goes well beyond the tool name by explaining that PWR measures points per game above an average team on a neutral field, and notes that rank and tier are included. It does not explicitly compare itself to sibling tools, but the power-ratings focus is distinct enough among the listed siblings.
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?
The description gives concrete query phrasings that should route to this tool, such as 'best NFL teams by power rating', 'is Baltimore overrated', and 'how good is Kansas City'. This gives an agent clear contextual triggers. It does not state when not to use it or name alternative tools, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nfl_prop_boardNFL Prop Market Board (Kalshi vs the books vs exchanges)ARead-onlyInspect
This week's NFL player-prop prices, venue by venue: every Kalshi prop strike with a real two-sided book, the book consensus read at that exact strike, DraftKings/FanDuel/BetRivers lines, Novig and ProphetX exchange quotes, the Kalshi-vs-consensus gap in cents, and WHERE THE BEST PRICE for each side actually is (cents per $1 of payout, Kalshi net of fee). Free, no key. Filter by team, game, player or stat. Use for "where is the best price on Puka Nacua receiving yards", "Kalshi vs DraftKings NFL props", "NFL prop prices this week", "is Kalshi cheaper than the books".
| Name | Required | Description | Default |
|---|---|---|---|
| game | No | Game anchor away-home, e.g. "ne-sea" — rows for that game only. | |
| team | No | Team abbrev (SEA, NE, LAR, JAX) — rows for that club only. | |
| limit | No | Max rows (default 15). | |
| player | No | Player name (partial, case-insensitive), e.g. "Nacua". | |
| gapsOnly | No | Only strikes where Kalshi and the consensus are 5¢+ apart (default false). | |
| statType | No | Optional prop type filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is already covered. The description adds meaningful behavioral context beyond those: it specifies the temporal scope ('this week'), the requirement of a 'real two-sided book', that the consensus is read 'at that exact strike', that best-price is expressed 'cents per $1 of payout', and that Kalshi prices are 'net of fee'. It also discloses that it is 'Free, no key'. No contradiction with annotations is present.
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 long but information-dense: it front-loads the core value proposition, enumerates the exact output fields, then gives filter options and concrete use cases. Every sentence contributes something meaningful, and the example queries earn their place by showing an agent how to phrase intents. It could be slightly tighter by separating the field list from usage examples, but it remains effective.
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?
Because there is no output schema, the description responsibly enumerates what the tool returns: strikes, book consensus, sportsbook lines, exchange quotes, gap in cents, and best price. It also covers filters, free access, and the key comparison intent. Minor gaps remain: it does not explain how rows are ordered, how filters combine, or what happens when no venues match a strike, but the absence of an output schema is substantially compensated by the detailed field description.
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 every parameter has its own descriptive text, so the schema already carries the full burden for parameter meaning. The description merely paraphrases the filters ('Filter by team, game, player or stat') and adds no parameter-level semantics beyond what the schema provides. This matches the baseline of 3 for high schema coverage.
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 clearly identifies the tool as a weekly NFL player-prop price board comparing Kalshi, book consensus, DraftKings/FanDuel/BetRivers, Novig, and ProphetX. It states the specific information returned (strikes, gaps, best price per side), which distinguishes it from most sibling tools by focusing on cross-venue price comparison rather than modeling or player-level analysis. However, it lacks an explicit action verb like 'list' or 'compare', and does not directly contrast with the sibling nfl_prop_edge.
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?
The description includes explicit 'Use for' guidance with concrete query examples like 'where is the best price on Puka Nacua receiving yards' and 'is Kalshi cheaper than the books'. This tells an agent when the tool is appropriate. It does not, however, state when not to use it or name alternative sibling tools for edge calculations or player outlooks, leaving some routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nfl_prop_edgeNFL Player Prop Edge (model vs Kalshi)ARead-onlyInspect
NFL player-prop edges — the PredictionMarketsPicks projection vs the Kalshi prop line for passing yards, rushing yards, receiving yards, receptions, and anytime touchdown. Every Kalshi prop is an "X or more" contract; each row returns the contract (e.g. "3+ receptions"), the call (YES / NO), our odds and the Kalshi price for the called side, the model projection, the edge, and the raw over/under inputs. Live in-season (opens NFL Week 1). Pro key required. Use for "NFL player prop edges", "best NFL props today", "passing yards over under", "receiving yards prop value".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows (default 10). | |
| minEdge | No | Min absolute edge in pp (default 5). Accepts a number or a numeric string ("3", "3pp", "3%"). | |
| propType | No | Optional filter by prop type: pass_yds, pass_tds, rush_yds, rec_yds, receptions, anytime_td. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotation, the description discloses important behavioral context: the tool is live in-season and opens NFL Week 1, a pro key is required, and every Kalshi prop is an 'X or more' contract. It also explains the call semantics (YES/NO) and what each returned row contains, which is especially valuable without an output schema.
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 information-dense with no filler: each sentence adds a distinct fact, the core purpose is front-loaded, and the return payload, lifecycle, auth requirement, and example queries all earn their place.
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 compensates by explicitly listing the fields returned per row: contract, call, odds, Kalshi price, model projection, edge, and raw over/under inputs. It also covers availability timing, auth requirements, and example queries, making the tool fully usable from the description alone.
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 schema already documents all three parameters well. The description adds market context and enumerates prop categories, but it does not add meaning to the limit, minEdge, or propType parameters beyond what is already in the schema. Baseline 3 is appropriate.
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 clearly identifies the resource as NFL player-prop edges comparing the PredictionMarketsPicks projection against Kalshi lines, and enumerates the exact prop types covered. It distinguishes itself from sibling tools by specifying the Kalshi comparison and the row-level output fields, so an agent can select it confidently.
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?
The description gives explicit use-case queries such as 'NFL player prop edges', 'best NFL props today', and 'passing yards over under', which tells the agent when this tool is appropriate. It does not name alternative siblings or state when not to use it, so it misses the explicit exclusion part of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nfl_win_probabilityNFL Win Probability CalculatorARead-onlyInspect
Turn an NFL point spread and game total into win probability, projected score, cover probability, and over/under probability — using the PredictionMarketsPicks scoring-margin model. Provide the spread (home-favored = negative, e.g. -6.5) and optional total, OR two team abbreviations to auto-derive the spread from the power ratings. Free, no key. Use for "NFL win probability from the spread", "what does a -7 spread mean", "who wins Chiefs vs 49ers", "NFL score prediction".
| Name | Required | Description | Default |
|---|---|---|---|
| total | No | Game total (over/under points). Defaults to the league baseline (44) if omitted. | |
| spread | No | Point spread from the home team's perspective — home favored is NEGATIVE (e.g. -6.5). Provide this OR homeTeam+awayTeam. | |
| awayTeam | No | Away team — same formats as homeTeam (SF, 49ers, San Francisco 49ers). Used with homeTeam. | |
| homeTeam | No | Home team — abbrev (KC), nickname (Chiefs), full name (Kansas City Chiefs) or city (Kansas City) all work. Auto-derives the spread from PMP power ratings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag read-only, and the description adds value by disclosing the model source, stating 'Free, no key' (no auth needed), and explaining the two mutually exclusive input paths. It doesn't mention rate limits or conflict behavior when both input modes are supplied, but the essential behavioral context beyond the readOnlyHint is present.
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 tight and front-loaded. The first sentence states the core transformation, the second covers input modes, and the final fragment gives the auth note and concrete use cases. No sentence is wasted.
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 stateless calculator with no output schema, the description covers model, inputs (including name variants for teams), output types, and auth requirements. It does not specify output units or behavior when both input branches are provided, but the core information needed for correct invocation 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?
Since schema description coverage is 100%, the schema already documents each parameter. Still, the description adds semantic value by making the OR relationship between spread/total and homeTeam/awayTeam explicit, reinforcing the home-favored negative sign convention with the -6.5 example, and noting that total is optional.
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 opens with a concrete verb ('Turn') tied to a specific resource (NFL point spread and game total) and enumerates the exact outputs: win probability, projected score, cover probability, and over/under probability. It also distinguishes the tool from sibling NFL tools by naming the PredictionMarketsPicks scoring-margin model and the two alternate input modes.
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?
The description provides clear example queries ('what does a -7 spread mean', 'who wins Chiefs vs 49ers', 'NFL score prediction') that signal exactly when an agent should reach for this tool. It does not, however, name sibling tools or explicitly state when not to use it, so it stops short of full alternative/exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
player_outlookPlayer Draft OutlookARead-onlyInspect
A single player's 2026 fantasy outlook (standard, half-PPR or full-PPR): projected points and per-game, floor/ceiling range, boom/bust odds, consensus ADP and draft round, our positional rank, and whether the model tags him a SLEEPER or a BUST vs the market, with a one-line thesis. Free, no key. Use for "is a sleeper", " fantasy outlook 2026", "should I draft ", " projection".
| Name | Required | Description | Default |
|---|---|---|---|
| player | Yes | Player full name (e.g. "Bijan Robinson", "Jaxon Smith-Njigba"). | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, and the description adds useful context by stating it is 'Free, no key', which informs the agent that no authentication setup is needed. It also clarifies that sleeper/bust labels come from 'the model', setting expectations about automated judgment. There is no contradiction with the readOnlyHint annotation.
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 front-loaded with the core purpose and a detailed list of outputs, followed by a concise usage clause. It is somewhat long, but every sentence contributes meaningful information, especially given there is no output schema. The structure is logical and easy to parse.
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 tool with no output schema, the description compensates well by enumerating the fields returned: projections, floor/ceiling, boom/bust odds, ADP, positional rank, and thesis. Parameter details are covered by the schema. Minor gaps like error behavior for unknown players or ambiguous names are not addressed, but the core calling context is sufficiently complete.
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 parameters are already well documented. The description mentions scoring formats and player names but adds little beyond the schema. A baseline score of 3 is appropriate because the schema carries the semantic weight.
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 clearly identifies the tool as providing a single player's 2026 fantasy outlook and enumerates specific outputs such as projected points, floor/ceiling, ADP, and sleeper/bust tags. It avoids being a tautology and gives a strong sense of what the tool returns. However, it lacks an explicit action verb like 'returns' or 'gets', and sibling differentiation is only implicit through the 'single player' phrasing.
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?
The description provides concrete example queries such as 'is <player> a sleeper' and '<player> fantasy outlook 2026', which tells an agent when this tool is appropriate. It does not explicitly mention alternatives or when not to use it, so it falls short of full exclusionary guidance. Still, the usage context 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.
scan_mispricingsScan MispricingsARead-onlyInspect
Scan Polymarket contracts for mispricings against the PMP model (a probability swarm). Returns each market where the model disagrees with the price, the direction to take, the edge in percentage points, and quarter-Kelly sizing, sorted by absolute edge. Pro key required. Use for "where is the edge today", "mispriced markets", "what should I trade".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return (default 10). | |
| minEdge | No | Minimum absolute edge in pp to include (default 5). Accepts a number or a numeric string ("3", "3pp", "3%"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description's additional disclosure of the Pro key requirement, sorting by absolute edge, and quarter-Kelly sizing adds useful behavioral context. There is no contradiction with the 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?
Three short sentences front-load the purpose and output, then cover auth and use cases. There is no filler; every clause contributes useful information.
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 list-style read tool with two optional, fully documented parameters, the description sufficiently covers return values, ordering, auth requirements, and target use cases. No output schema exists, but the return shape is described clearly enough.
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 description reinforces that edges are in percentage points and that results are sorted by absolute edge, but it does not add substantial meaning beyond what the schema already documents for limit and minEdge.
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 opens with a specific verb ('Scan') and resource ('Polymarket contracts'), names the model ('PMP'), and enumerates the output (direction, edge, quarter-Kelly sizing, sorted by absolute edge). It doesn't explicitly contrast with siblings like edge_alerts or base_rate_gap, so it stops short of a 5.
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?
The description gives concrete query phrasings ('where is the edge today', 'mispriced markets', 'what should I trade') and a hard prerequisite ('Pro key required'). It does not state when-not-to-use or mention alternative tools, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sleepers_and_bustsSleepers & BustsARead-onlyInspect
The biggest gaps between the PredictionMarketsPicks model and consensus ADP for 2026 (standard, half-PPR or full-PPR): SLEEPERS the model ranks well above their draft cost, and BUSTS it ranks below. Filter by position or draft round. Every sleeper and every bust is FREE — the complete list, no key, no email. Use for "fantasy sleepers 2026", "draft busts to avoid", "undervalued players", "overrated fantasy players", "late-round sleepers".
| Name | Required | Description | Default |
|---|---|---|---|
| round | No | Optional draft round filter (by league size, default 12-team). | |
| teams | No | League size (number of teams) for draft-round math. Overrides the platform default; falls back to 12. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. | |
| position | No | Optional position filter. One of: QB · RB · WR · TE. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true. The description adds valuable behavioral context: the complete list is free with 'no key, no email,' the list is based on 2026 standard/half-PPR/full-PPR, and it covers both sleepers and busts. It does not mention pagination, response size, or that openWorldHint=false, but for a read-only list tool the added context is meaningful.
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 front-loaded with the key value proposition: model-vs-ADP gaps. The search-query examples at the end are slightly repetitive but serve as useful usage triggers. Overall it earns its sentences without bloat.
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 read-only list tool with 100% schema coverage and no output schema, the description covers the core scenario: what the tool returns, what filtering exists, and what the data model is (2026, model vs ADP). It could mention that results are for 12-team default or how scoring/platform defaults interact, but those details are already partly in the schema. The absence of output schema is mitigated by the clear description of the list contents.
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 all five parameters are already documented in the schema. The description adds framing around the parameters ('draft round', 'position') and connects them to the tool's core purpose, plus clarifies formats like half-PPR/PPR. It compensates slightly beyond schema, but mostly relies on the schema's already-rich per-parameter descriptions.
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 uses a specific verb ('Filter' is the action; the tool returns lists of sleepers/busts), names the exact resource ('PredictionMarketsPicks model vs consensus ADP for 2026'), and clearly distinguishes itself from siblings by emphasizing a complete free list of model-vs-ADP gaps. It also gives concrete search-query examples that make the purpose immediately recognizable.
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?
The description says what the tool is for ('fantasy sleepers 2026', 'draft busts to avoid', 'undervalued players') and states the filtering options ('Filter by position or draft round'). It does not explicitly say when not to use it or name a sibling alternative, but the query examples effectively position it against other fantasy tools. Lacks an explicit exclusion like 'for ADP itself, use adp_market_gaps instead.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
who_do_i_draftWho Do I Draft?ARead-onlyInspect
Recommend the single best player to draft right now given the roster already on the user's team and their pick number, weighing positional need against the best value available (2026, any scoring format). The pick AND every alternative are free — no key, no email. Pro adds the reasoning behind each one. Prefer this mid-draft when the user asks "who should I take", "who do I draft", "what do I need". Input: roster (names on their team), pick_number, and optionally drafted (names already gone). Without drafted, the board is estimated from pick_number using consensus ADP. Returns one pick + a one-line reason.
| Name | Required | Description | Default |
|---|---|---|---|
| teams | No | League size (number of teams) for draft-round math. Overrides the platform default; falls back to 12. | |
| roster | Yes | Player names already on the user's team. | |
| drafted | No | Player names already drafted by ANY team. Optional — without it the board is estimated from pick_number using consensus ADP. Supplying it is always more accurate. | |
| scoring | No | Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr. | |
| platform | No | League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog. | |
| pick_number | Yes | The overall pick number on the clock. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the readOnlyHint annotation: the tool is free with no key or email, Pro adds reasoning, the board is estimated from ADP when 'drafted' is omitted, and the return is one pick plus a one-line reason. These disclosures help an agent set user expectations and choose invocation strategy. No contradiction with 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?
The description is information-dense but well organized: main purpose first, then pricing/pro model, then usage triggers, then input summary, then output summary. Every sentence contributes something needed for correct invocation or expectation setting.
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?
Given the tool has no output schema, the description correctly covers what is returned. It also covers the core input semantics, the optionality of 'drafted', estimation behavior, usage timing, and free/pro behavior. The schema handles parameter validation details, so no critical guidance is missing for an agent to call this correctly.
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. The description adds semantic value by explaining 'roster (names on their team)', 'pick_number', and the optional 'drafted' parameter's fallback behavior. It doesn't restate teams/scoring/platform details, but the schema already documents those thoroughly.
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 action and resource: 'Recommend the single best player to draft right now' using roster, pick number, and positional need versus value. This clearly sets it apart from sibling tools like draft_board or compare_players, which focus on broader lists or player-to-player comparison.
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 explicit invocation context: 'Prefer this mid-draft when the user asks "who should I take", "who do I draft", "what do I need"'. It does not name specific alternative tools or say when not to use it, but the trigger language 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
25 tool updates
- First observed
adp_market_gaps - First observed
base_rate_gap - First observed
bayes_update - First observed
best_available - First observed
calculate_ev - First observed
combo_edge - First observed
commodity_edge - First observed
compare_players - First observed
convert_probability - First observed
draft_board - First observed
edge_alerts - First observed
explain_player - First observed
fed_rate_odds - First observed
find_arbitrage - First observed
kelly_size - First observed
market_pulse - First observed
nfl_edge - First observed
nfl_power_ratings - First observed
nfl_prop_board - First observed
nfl_prop_edge - First observed
nfl_win_probability - First observed
player_outlook - First observed
scan_mispricings - First observed
sleepers_and_busts - First observed
who_do_i_draft
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
The full 2026 fantasy draft board, free to any AI agent. No key, no email, no signup.
Quant sports analytics: 19 read-only tools across 12 leagues, projections, methods, track record.
Polymarket & Kalshi whale trades, ranked traders, backtesting and Autopilot. $15/mo.
Live Kalshi and Polymarket data: EV edges, cross-venue arbitrage, markets, and whale trades.
Related MCP Servers
- AlicenseAqualityDmaintenancePrediction market probability oracle for AI agents. 26 tools across 500+ live markets from Kalshi and Polymarket. Cross-source arbitrage detection, structured TPF signals, Kelly Criterion sizing, agent performance tracking, and webhook alerts.9671MIT
- AlicenseAqualityCmaintenanceTrade, analyze, and automate Polymarket prediction markets via AI. 34 tools for direct trading, smart money flow, copy trading, backtest, and portfolio management.4815116MIT
- AlicenseAqualityBmaintenance24/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.1619612MIT
- AlicenseAqualityAmaintenance63 deterministic quant computation tools for autonomous financial agents. Options pricing, derivatives, risk metrics, portfolio optimization, statistics, crypto/DeFi, macro/FX, time value of money. 1,000 free calls/day, no signup required.7411MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools are clearly scoped, but best_available and who_do_i_draft both cover mid-draft pick selection with near-identical example queries, and several 'edge' tools (calculate_ev, scan_mispricings, edge_alerts, nfl_edge, commodity_edge) require careful reading to separate. Descriptions do add enough qualifiers to disambiguate most others.
Names are descriptive and uniformly snake_case, but there is no consistent verb_noun pattern: calculate_ev, compare_players, scan_mispricings sit alongside noun phrases like draft_board, nfl_prop_edge, market_pulse and question-style who_do_i_draft. The nfl_* cluster is consistent, but the overall set mixes conventions.
25 tools is at the high end of acceptable for a multi-domain quant server, spanning fantasy, NFL, macro, and general prediction-market math. The count is defensible but feels heavy, and some fantasy tools could be consolidated.
The surface covers the core quant workflow—price discovery, edge detection, EV/Kelly sizing, odds conversion, base rates, and arbitrage—plus deep fantasy and NFL verticals. There is no trade-execution or position-tracking tool, but for an analysis/quant server that is a reasonable omission rather than a dead end.