Skip to main content
Glama

The Odds Gap

Server Details

Ask The Odds Gap sports betting price questions from your AI assistant.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation4/5

The specialized tools (game_lines, player_prop, futures_odds, slate, past_game, team_record, arbs, middles) cover distinct query types. However, the general-purpose 'ask' tool overlaps with several of them by answering plain-language questions about game boards, past results, line movement, and best prices, which could cause an agent to select 'ask' instead of a structured tool.

Naming Consistency3/5

Tool names mix single-word nouns (arbs, middles, slate), abbreviations (calc), verbs (ask), and compound nouns (futures_odds, game_lines, past_game, player_prop, site_info, team_record) with inconsistent plurality (plural vs singular). No consistent verb_noun pattern, though all are lowercase and readable.

Tool Count5/5

11 tools is a well-scoped set for a sports betting information server; each tool corresponds to a distinct data type or operation, and the count is within the ideal 3-15 range.

Completeness5/5

The surface covers current and past game lines, player props, futures, arbitrage, middles, slate listings, team records, calculations, natural language Q&A, and site explanations. No obvious gaps for an information-only odds service.

Available Tools

11 tools
arbsArbitrage SpotsA
Read-onlyIdempotent
Inspect

Spots where two books' prices on opposite sides of the same bet added up to less than 100 percent implied at the scan, with how a stake would split. Prices may have moved since the scan. An arb can close at any time.

ParametersJSON Schema
NameRequiredDescriptionDefault
gameNoThe game in plain words, for example 'Lions at Bears' or 'Yankees tonight'.
textNoThe reader's words.
booksNoThe books this person actually has. Omit for the default set.
stakeNoA total stake to split.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely useful behavioral context beyond that: prices may have moved since the scan and an arb can close at any time, which warns the agent the data is stale and volatile. It does not cover pagination or result limits, but the staleness warning is real added value.

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

Conciseness4/5

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

Three short sentences, front-loaded with the definition and ending with the volatility caveat. No filler, though the opening sentence is dense and slightly concept-heavy for a tool description.

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

Completeness4/5

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

An output schema exists, so return-value structure need not be explained, and annotations plus full schema coverage carry the rest. The missing piece is routing guidance against the `middles` sibling; otherwise an agent has enough to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the four parameters are already documented. The phrase 'how a stake would split' loosely reinforces the `stake` parameter, but the description adds no format or constraint detail beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

States the resource precisely — spots where opposite-side prices sum to under 100% implied — and even describes the output content (stake split). However, it never gives a verb (list/find) and does not differentiate from the sibling `middles`, which is the closest conceptual neighbor for a betting agent.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative naming appears. A reader must infer that this is the tool for arbitrage questions and cannot tell from the text why they would pick it over `middles`, `game_lines`, or `calc`.

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

askAsk a Betting Price QuestionA
Read-onlyIdempotent
Inspect

Ask one whole sports betting price question in plain English, the way a person would: which book pays the most for a bet, hedge math on a ticket, a parlay price, a game's board, a past result or how a line has moved. Returns a plain-sentence answer, the time the prices were scanned and a link to the matching page on theoddsgap.com. When a question could mean more than one game, it returns the choices as plain text to ask again with. Prices may have moved since the scan. Information only: it places no bets and gives no picks.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesOne whole question, for example 'where is the best price on the Lions moneyline' or 'hedge my Ravens ticket at +240 for $50'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A4.2/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds substantial context: the answer shape, the scan timestamp, a source link, ambiguity handling that returns choices for a follow-up ask, staleness of prices, and the explicit 'places no bets and gives no picks' disclaimer.

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

Conciseness4/5

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

One front-loaded paragraph led by the core purpose, then return shape, ambiguity behavior, and safety. Every clause carries information, though the question-type enumeration is dense and slightly long for a single-parameter tool.

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

Completeness5/5

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

An output schema exists so return values needn't be explained, yet the description still covers input style, ambiguity resolution, price staleness, and the no-betting disclaimer. Nothing an agent needs to invoke this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% for the single 'question' parameter, including its 400-character limit and inline examples, so the schema does the heavy lifting. The description reinforces 'one whole question ... plain English' but adds no format or syntax detail beyond what the schema already states.

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

Purpose5/5

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

States a specific verb ('ask') and resource (a sports betting price question) and enumerates the exact question classes it handles: best price by book, hedge math, parlay price, game board, past result, line movement. That enumeration lets an agent distinguish it from structured siblings like game_lines, calc, or past_game without opening schemas.

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

Usage Guidelines3/5

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

The list of supported question types implies when the tool applies, but it never names a sibling as an alternative or states a when-not condition (e.g., use game_lines for a structured board lookup). Usage is inferable rather than explicit.

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

calcBetting CalculatorA
Read-onlyIdempotent
Inspect

Runs a betting calculation on numbers you supply: convert odds between formats, implied probability, payout on a stake, the no-vig price of two sides, hold, breakeven, a parlay of typed odds, or an arb or hedge split on typed prices. Uses only the numbers given, no market data.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe reader's words, with their numbers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds a genuinely useful constraint beyond structured data: it operates purely on supplied numbers with no market-data fetch, which reinforces the closed-world hint and tells the agent it can rely on self-contained input.

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

Conciseness5/5

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

A single front-loaded sentence led by the verb and resource, with the capability enumeration and the self-containment constraint packed into clauses that each earn their place. No filler or redundancy.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the single parameter is well covered by the schema. The only minor gap is that input phrasing (how to express odds/prices in freeform text) is not illustrated, which for a broad multi-mode calculator would help an agent form a valid call.

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

Parameters3/5

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

With one parameter at 100% schema coverage, the schema already carries the definition ('The reader's words, with their numbers'). The description's 'numbers you supply' / 'typed odds' / 'typed prices' phrasing adds marginal color but no syntax or format guidance beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('runs a betting calculation') and enumerates the concrete modes (odds conversion, implied probability, payout, no-vig, hold, breakeven, parlay, arb/hedge). It also distinguishes itself from market-data siblings with 'Uses only the numbers given, no market data,' though the arb/hedge mode hints at overlap with the 'arbs' sibling that isn't addressed.

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

Usage Guidelines3/5

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

The list of calculation modes implies when an agent would reach for this tool, and the 'no market data' clause signals it is for pure computation rather than lookup. However, there is no explicit when-to-use/when-not or named alternative (e.g., arbs vs. this tool's arb split), so routing is left to inference.

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

futures_oddsFutures PricesB
Read-onlyIdempotent
Inspect

Season-long futures such as the Super Bowl, World Series, Stanley Cup, NBA and college titles: the highest price we saw on a team, or the top of one futures market, with the scan time. Prices may have moved since the scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamNoOne entrant, if they named one.
textNoThe person's own words. This is what names the market, because a futures market has no id anybody would ever say out loud.
booksNoThe books this person actually has. Omit for the default set.
marketNoA market phrase, if it is separable from the rest of the sentence.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered. The description adds genuinely useful context beyond them: the value is a snapshot ('the highest price we saw') and it may be stale since the scan. It remains silent on the unusual free-text matching behavior the 'text' parameter implies.

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

Conciseness4/5

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

Two sentences, front-loaded with the scope, and the enumerable examples (Super Bowl, World Series, Stanley Cup, NBA, college titles) earn their space by making 'futures' concrete. Slightly list-heavy but no wasted sentences.

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

Completeness4/5

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

An output schema exists, so return shape needn't be described, and the annotations cover safety; the description supplies the one non-obvious trait, snapshot staleness. It is nearly complete, with only the free-text matching semantics left unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are documented in the schema itself. The description echoes the notions of 'team' and 'market' but adds no syntax, format, or interaction detail beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific resource (season-long futures) and exactly what is returned: the highest price seen on a team or the top of one futures market, plus a scan time. This clearly separates it from game_lines, player_prop, and slate, but it never names those siblings for contrast.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no statement of when to prefer it over game_lines or player_prop. The only contextual note is a staleness caveat ('Prices may have moved since the scan'), which is a warning rather than routing advice.

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

game_linesGame LinesA
Read-onlyIdempotent
Inspect

One game's moneyline, spread or total: both sides on the consensus number, or which side the market has as the favorite. Name the game in plain words, for example Lions at Bears. Shows the scan time and a link to the game's page. Prices may have moved since the scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
gameYesThe game in plain words, for example 'Lions at Bears' or 'Yankees tonight'.
lineNoThe spread or total the bet is at. Omit for a moneyline, or to use the consensus line.
sideNohome or away for a moneyline or spread; over or under for a total.
booksNoThe books this person actually has. Omit for the default set.
marketNoml, spread or total.
favoredNoWho the market favors, as a price.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior, and the description adds genuinely new context beyond them: the response shows a scan time and a link to the game page, and prices may have moved since the scan. That staleness caveat is exactly the kind of behavioral disclosure annotations cannot convey.

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

Conciseness4/5

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

Four short sentences, front-loaded with what the tool returns, and the freshness caveat is placed last where it reads as a qualifier. The naming example ('Lions at Bears') largely duplicates the schema's own example, a minor redundancy.

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

Completeness5/5

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

An output schema exists, so return values need not be described, and annotations carry the safety profile. The description covers the remaining agent needs: what is returned, the two query modes, the freshness caveat, and how to name the game.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining the two modes: both sides on the consensus number versus asking which side the market favors, which clarifies how the line and favored parameters interact.

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

Purpose4/5

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

States a specific resource and scope: one game's moneyline, spread, or total, with the two output modes (both sides on the consensus number vs. the market's favored side) named directly. It is clearly distinguishable from multi-game or futures siblings, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The description implies usage (single-game line lookup) and gives input guidance on how to name the game, but never states when to prefer this over slate, futures_odds, player_prop, or past_game, and gives no exclusions or prerequisites.

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

middlesMiddlesA
Read-onlyIdempotent
Inspect

Spread and total middles across sportsbooks at the scan: two numbers far enough apart that both bets could win. Prices may have moved since the scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
gameNoThe game in plain words, for example 'Lions at Bears' or 'Yankees tonight'.
textNoThe reader's words.
booksNoThe books this person actually has. Omit for the default set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral caveat beyond the annotations: 'Prices may have moved since the scan,' warning the agent that results are a stale snapshot rather than live odds.

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

Conciseness4/5

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

Two compact sentences with no filler; the core purpose comes first and the freshness caveat follows. The colon-heavy phrasing is slightly dense but not wasteful.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and all three parameters are fully documented in the schema. With annotations covering the read-only safety profile and a freshness caveat supplied, the description is nearly complete; relational guidance versus 'arbs' is the only real gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents 'game', 'text', and 'books' with usable descriptions. The prose adds nothing about parameter syntax, formats, or defaults, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description states what the tool produces (spread and total middles across sportsbooks) and even defines the domain term inline ('two numbers far enough apart that both bets could win'), so an agent can grasp the concept without outside knowledge. It does not, however, distinguish itself from the closely related sibling 'arbs', which an agent would likely confuse it with.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as 'arbs' or 'game_lines'. Usage is only implied by the content of the result.

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

past_gamePast Game ResultA
Read-onlyIdempotent
Inspect

A finished game: the final score, the closing spread and total, and the earliest line we recorded, with a link to the game's page. Never an upcoming game.

ParametersJSON Schema
NameRequiredDescriptionDefault
gameNoThe game in plain words, for example 'Lions at Bears' or 'Yankees tonight'.
textYesThe team or matchup, in the reader's words.
list_allNoEvery finished game in the window the words name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful content context about what data the result carries, but says nothing about behavior for the list_all case (single result vs. many) or any freshness/latency characteristics.

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

Conciseness5/5

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

A single sentence that leads with the resource and its payload, then closes with the exclusion. No filler and nothing repeated from annotations or schema.

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

Completeness4/5

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

An output schema exists, so return values need no elaboration, and annotations cover safety. The one meaningful gap is the list_all parameter, which switches the tool from a single game to every finished game in the window — a behavioral difference the description's singular framing does not acknowledge.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (game, text, list_all) are already documented in the schema; the baseline is 3. The description adds no parameter-level detail, and notably never mentions the list_all mode that changes the shape of the response.

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

Purpose4/5

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

The description names a specific resource (a finished game) and enumerates its payload: final score, closing spread and total, earliest recorded line, and a page link. It clearly bounds scope with 'Never an upcoming game,' which implicitly separates it from siblings like slate and game_lines, though it never names an alternative directly.

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

Usage Guidelines3/5

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

'Never an upcoming game' is a genuine negative condition that implies the split with upcoming-game siblings, but no alternative tool is named and no positive trigger ('use this when the reader asks about a game that already happened') is given. Usage is implied rather than stated.

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

player_propPlayer PropA
Read-onlyIdempotent
Inspect

One player's prop: the line the market is at and the highest price we saw on each side, with the scan time. The player must be on our props board. Prices may have moved since the scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineNoThe line the person named, if they named one.
sideNoover, under, yes or no.
booksNoThe books this person actually has. Omit for the default set.
marketNoThe prop market key, e.g. player_receptions or pitcher_strikeouts. Omit to be told what the board has for that player.
playerYesThe player's name as the person typed it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the board-membership requirement and the staleness caveat ('prices may have moved since the scan') with scan time returned.

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

Conciseness4/5

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

Three short sentences with no filler, and the payload summary is front-loaded. The prerequisite and staleness caveats follow in logical order, though the opening sentence is slightly dense.

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

Completeness4/5

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

An output schema exists, so return values need no explanation here. The description covers the key precondition and data-freshness limitation, leaving only minor gaps around failure behavior when a player is off the board.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented in the schema, including the market-key example and the books default behavior. The description adds no parameter-level meaning beyond the board-membership note, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific resource ('one player's prop') and enumerates the payload: the market line, the highest price on each side, and the scan time. It is distinguishable from siblings like game_lines or futures_odds by scope, though it never explicitly contrasts itself with them.

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

Usage Guidelines3/5

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

It states one real precondition ('the player must be on our props board'), which tells the agent when the call will fail. However, it offers no guidance on when to choose this over sibling tools such as game_lines or ask, leaving the selection to inference.

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

site_infoHow The Odds Gap WorksA
Read-onlyIdempotent
Inspect

Explains a betting term or how The Odds Gap works (gap percent, matched lines, the exchange depth rule, Kalshi fees, why offshore books are left out, the site's tools), in the site's own words with a link to the page it comes from.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe reader's words.
topicNoA topic key, or omit to read the words.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-open-world behavior, so the safety profile is covered. The description adds genuine context beyond that: answers are quoted from the site itself and include a link to the source page, which tells the agent the output is grounded canonical text rather than generated prose.

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

Conciseness4/5

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

A single front-loaded sentence that leads with the purpose and folds detail into a parenthetical list. Dense but not padded, and every clause carries information.

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

Completeness5/5

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

With an output schema present and annotations covering the safety profile, the description need not describe return values. It supplies the domain coverage and provenance needed to invoke the tool correctly, leaving little missing.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are documented structurally. The description does not explain the topic-key-vs-reader-words routing, though its parenthetical list of covered subjects loosely hints at valid lookup areas; this keeps it at the baseline.

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

Purpose4/5

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

States a specific verb+resource (explains a betting term or site mechanics) and enumerates the content domains it covers, so the agent understands it is an explainer/lookup tool. It does not, however, distinguish itself from the sibling 'ask' tool, which likely also answers questions.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: reach for it when a reader needs a betting term or site mechanic explained. There is no explicit when-not, no named alternative (e.g. 'use ask for generated analysis instead'), so the agent must infer the boundary from 'in the site's own words'.

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

slateGames on the ScheduleA
Read-onlyIdempotent
Inspect

Lists the games in a window (tonight, tomorrow, a weekday or a date) for a league or one team, with the highest moneyline price we saw on each side and the time it was scanned. Prices may have moved since the scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamNoOne team: its upcoming games.
textNoThe reader's words, for the window.
whenNotoday, tonight, tomorrow, a weekday, weekend, or YYYY-MM-DD. Default the next 24 hours.
booksNoThe books this person actually has. Omit for the default set.
limitNoHow many games. Default 8, max 8.
sportNoLeague, e.g. nfl or college football.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the data represents the highest observed moneyline per side, includes the scan timestamp, and carries a staleness caveat ("Prices may have moved since the scan").

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

Conciseness5/5

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

Two tight sentences with zero filler. The primary capability is front-loaded and the caveat about stale prices follows as supporting context, so nothing is wasted.

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

Completeness5/5

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

An output schema exists, so return-value shape needn't be described, and annotations cover the safety profile. For a six-parameter, zero-required query tool, the description supplies everything an agent needs to choose and call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are already well documented and the baseline is 3. The description echoes a couple of them (window options, league or team) but adds no syntax, defaults, or format detail beyond what the schema states.

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

Purpose4/5

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

States a specific verb and resource ("Lists the games in a window") plus the scope options (league or one team) and the distinctive payload (highest moneyline price per side with scan time). This clearly separates it from line-history or results siblings, though it never names a sibling (e.g. game_lines, past_game) to sharpen the boundary.

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

Usage Guidelines3/5

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

Usage is implied through the window vocabulary ("tonight, tomorrow, a weekday or a date") and the league/team scope, so an agent can infer the right call context. There is no explicit when-to-use/when-not guidance or named alternative, so an agent comparing against game_lines or past_game gets no routing help.

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

team_recordTeam Results on The Odds GapB
Read-onlyIdempotent
Inspect

A team's finished games tracked on The Odds Gap and its next game. Not an official league record.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamYesThe team as typed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYesTrue when the tool produced an answer.
cardNoThe same answer, structured, when there is one.
pageYesThe matching page on theoddsgap.com.
toolNo
as_ofNoWhen the prices were scanned, Eastern Time.
staleNoTrue when that scan is older than usual for our hourly snapshot.
answerYesThe answer in plain sentences.
optionsNoWhen the question could mean more than one thing: whole questions to ask again with.
warningsNo
state_noteNoWhere to check what is legal for you.
decline_kindNoSet when the question is one we do not answer, and which kind.
free_left_todayNo
responsible_gamblingYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety behavior is covered. The description adds genuine provenance context ('tracked on The Odds Gap', 'Not an official league record') that the annotations do not convey. It does not discuss ordering, depth of history, or whether the next game may be absent, so it is solid 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.

Conciseness4/5

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

Two short, front-loaded sentences with no filler; the resource is stated first and the provenance caveat second. Nothing is wasted, though the caveat is the only element that adds informational value.

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

Completeness4/5

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

An output schema exists and annotations cover the safety profile, so the description only needs to frame the resource and its data source, which it does. The one gap is that it never clarifies its relationship to sibling tools like past_game, but for a simple single-parameter lookup that is a minor shortfall.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage ('The team as typed.'), so the schema carries the parameter semantics. The description adds no syntax, format, or matching-behavior 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.

Purpose4/5

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

The description names the specific resource (a team's finished games plus its next game) and scopes it to The Odds Gap, which separates it from a generic schedule tool. The implicit verb 'retrieve/list' is not stated outright, but the resource is unambiguous. The caveat 'Not an official league record' further sharpens what data is returned.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus siblings like past_game, game_lines, or slate, which plausibly overlap for game results. The 'Not an official league record' note is a provenance caveat rather than routing guidance. The agent must infer the use case from the description alone.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updates
    • First observedarbs
    • First observedask
    • First observedcalc
    • First observedfutures_odds
    • First observedgame_lines
    • First observedmiddles
    • First observedpast_game
    • First observedplayer_prop
    • First observedsite_info
    • First observedslate
    • First observedteam_record

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Wraps the Sports Game Odds API to provide sports game odds data through natural language queries.
    166 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to access sports betting odds data from 265+ bookmakers across 34 sports, including events, odds, historical data, arbitrage, and value bets.
    22
    128 npm
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to query live sports betting odds, best prices, arbitrage, +EV bets, and middles directly through Model Context Protocol tools.
    8
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides AI assistants with sports model win probabilities and fair odds across nine sports without requiring an API key.
    3
    60 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources