Skip to main content
Glama

Server Details

Win probabilities for 13 sports: NFL, NBA, soccer, tennis, golf, cricket. No API key, no signup.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: fixture current state vs. movement, fixture listing vs. tournament/outright listings, and golf tournaments vs. soccer tournaments are explicitly separated. The descriptions cross-reference each other to prevent confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: get_fixture, get_fixture_movement, list_fixtures, list_golf_tournaments, list_tournament_outrights. The naming is predictable and clearly hierarchical.

Tool Count5/5

Five tools cover the server's purpose without bloat. The scope is focused on reading odds data, and each tool earns its place: current fixture, fixture movement, fixture list, and the two outright market lists.

Completeness5/5

The surface covers the full read-only workflow: discover fixtures, inspect current odds, examine movement, and access tournament outrights for the sports that have them. No major gaps are apparent, and the descriptions explicitly note unsupported sports to avoid dead ends.

Available Tools

5 tools
get_fixtureGet one fixtureA
Read-only
Inspect

One fixture in full: fair probability and fair odds for every outcome, how many bookmakers were surveyed, and when the consensus last updated. Use when you already have a fixture id; call list_fixtures first if you do not. Use get_fixture_movement instead when you need how the price CHANGED rather than where it stands now. Read-only. An id that is unknown or has rolled off the board returns a fixture_not_found error rather than an empty fixture, and a low bookmaker count means a thin market rather than a failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFixture id, exactly as returned by list_fixtures. An opaque string — never construct, guess, or derive one from team names or dates; ids are not stable across sports namespaces.
sportNoWhich sport to query. Omit entirely for soccer, which is the default; every other sport must be named explicitly. Note "football" means American football and "rugby" covers union.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
statusNo
skipoddsNoDe-vigged probabilities for this market. Keys vary by sport: home/draw/away for team sports, p1/p2 for tennis and fights, players[] for golf.
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description adds concrete behavioral expectations: unknown or rolled-off ids produce a fixture_not_found error rather than an empty fixture, and a low bookmaker count means a thin market rather than failure. This equips the agent with edge-case handling.

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

Conciseness5/5

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

Three sentences, each with a distinct role: what the tool returns, when to use it (and when not), and edge-case behavior. Every sentence earns its place with no redundancy or filler.

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

Completeness5/5

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

For a single-fixture retrieval with a rich output schema, the description covers purpose, usage preconditions, alternatives, and error semantics. It is complete enough for an agent to select and invoke the tool correctly without additional context.

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?

The input schema already provides 100% parameter coverage, including id provenance and sport enum semantics, so the description correctly doesn't repeat those details. The description does not add further param-specific meaning, which is acceptable given the schema's completeness.

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

Purpose5/5

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

The description clearly identifies the tool's function: retrieving a single fixture in full with fair probability, fair odds, bookmaker count, and consensus update time. It distinguishes itself from siblings by naming get_fixture_movement for price changes and list_fixtures for obtaining ids.

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

Usage Guidelines5/5

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

Explicitly states when to use: when you already have a fixture id, and directs those without one to call list_fixtures first. It also names the alternative tool for price changes (get_fixture_movement), providing a clear when-not-to-use rule.

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

get_fixture_movementFixture line movementA
Read-only
Inspect

Time series of how one fixture's fair probabilities moved — timestamped consensus snapshots, oldest first. Use to spot line movement, steam or drift, and to answer "has this shortened since yesterday". Use get_fixture instead for the current price alone. Read-only. An unknown id returns a fixture_not_found error; a series with only one or two snapshots means the fixture was surveyed recently, not that the request failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFixture id, exactly as returned by list_fixtures. Opaque — do not construct or guess one.
hoursNoHow far back to look, in hours. Defaults to 24. Capped at 72 on free and paid tiers below Scale, 336 on Scale; a larger value is clamped rather than rejected.
sportNoWhich sport to query. Omit entirely for soccer, which is the default; every other sport must be named explicitly. Note "football" means American football and "rugby" covers union.

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNoProbabilities at the latest capture.
fromNoProbabilities at the earliest capture in the window.
delta_pctNoSigned change in PERCENTAGE POINTS, not percent.
span_hoursNoHours actually covered, which can be less than requested.
Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description discloses concrete behavioral traits: results are ordered oldest first, unknown ids yield a fixture_not_found error, and a series of only one or two snapshots is a normal early-survey case (not a failure). These additions are highly useful for interpreting tool behavior and avoiding false error conclusions.

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

Conciseness5/5

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

The description is three sentences, each earning its place: the first defines the resource, the second gives usage and the alternative, and the third clarifies error handling and edge-case interpretation. It is front-loaded, efficient, and free of filler.

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

Completeness5/5

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

Given the tool has an output schema (so return values need not be explained), annotations, and a moderate parameter count, the description is remarkably complete. It covers purpose, usage, alternatives, error behavior, and how to interpret small result sets, leaving no obvious gaps for an AI agent to select and invoke 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 baseline is 3. The description adds context like 'fair probabilities' but does not provide new parameter-level semantics for id, hours, or sport that the schema does not already cover. It neither compensates nor falls short, so the baseline is appropriate.

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

Purpose5/5

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

The description opens with a precise, specific verb+resource statement: 'Time series of how one fixture's fair probabilities moved — timestamped consensus snapshots, oldest first.' This clearly distinguishes it from siblings like get_fixture (current price alone) and list_fixtures, which is the explicit alternative given.

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

Usage Guidelines5/5

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

The description states when to use it: 'Use to spot line movement, steam or drift, and to answer "has this shortened since yesterday".' It also explicitly names the alternative: 'Use get_fixture instead for the current price alone.' This provides clear contextual guidance and an exclusion.

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

list_fixturesList fixturesA
Read-only
Inspect

Upcoming and recent fixtures with fair win probabilities: every surveyed bookmaker price averaged and stripped of its margin (de-vigged), so probabilities sum to exactly 100%. 13 sports, 69+ bookmakers. START HERE — the fixture ids returned are what get_fixture and get_fixture_movement require. Use get_fixture instead when you already hold an id, and list_tournament_outrights for who-wins-the-competition rather than individual matches. "recent" means a kickoff within the last 6 hours for soccer and tennis, 8 hours for basketball, baseball, hockey, American football, MMA and boxing, and 12 hours for cricket and rugby; anything older has rolled off the board. Outright/tournament-winner markets exist for soccer and golf only — every other sport is fixture-level. Read-only. Returns an empty list, not an error, when nothing is scheduled in range.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum fixtures to return. Defaults to 10; raise it to widen the window rather than calling repeatedly.
sportNoWhich sport to query. Omit entirely for soccer, which is the default; every other sport must be named explicitly. Note "football" means American football and "rugby" covers union.
competitionNoRestrict to one soccer competition by slug, e.g. "premier-league-2026". Soccer only — ignored for other sports. Slugs appear on the fixtures this tool returns, so call once without it to discover them.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sourceNo
fixturesYesOne entry per fixture. Empty when nothing is scheduled in range — not an error.
Behavior5/5

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

Beyond the readOnlyHint=true annotation, the description adds rich behavioral context: probabilities are de-vigged to sum to 100%, "recent" has specific kickoff windows per sport, outright markets are limited to soccer and golf, and the tool returns an empty list rather than an error when nothing is scheduled. 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.

Conciseness5/5

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

The description is dense but every sentence serves a purpose: core function, coverage scope, usage priority, sibling guidance, time windows, market exceptions, and empty-list behavior. It is front-loaded with the most important information and avoids fluff.

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

Completeness5/5

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

The description covers all key aspects: what the tool returns (fixtures with probabilities), how to use the returned IDs, when to use alternatives, what "recent" means, sport coverage, outright-market limitations, and empty-list behavior. This is complete for the tool's complexity even with an output schema present.

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?

The input schema already provides thorough descriptions for all three parameters (limit, sport, competition), achieving 100% coverage. The description does not add significant parameter-specific meaning beyond what the schema already states, 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.

Purpose5/5

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

The description opens with a specific verb+resource: "Upcoming and recent fixtures with fair win probabilities" and explains the de-vigging process. It clearly distinguishes itself from siblings by stating "START HERE" and explicitly naming get_fixture and list_tournament_outrights as alternatives for different use cases.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool vs alternatives: "Use get_fixture instead when you already hold an id, and list_tournament_outrights for who-wins-the-competition rather than individual matches." It also clarifies the "recent" window per sport, giving concrete context for when data is available.

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

list_golf_tournamentsGolf tournamentsA
Read-only
Inspect

Golf outright-winner probabilities, normalised across the priced field. Call with NO arguments to list the tournaments currently priced together with their tournament_key values; call again passing tournament_key to get that one tournament with its full player field. GOLF ONLY — use list_tournament_outrights for soccer competitions. Read-only. Between tournaments the no-argument call returns an empty list, which means nothing is currently priced rather than an error; an unrecognised tournament_key returns a tournament_not_found error.

ParametersJSON Schema
NameRequiredDescriptionDefault
tournament_keyNoIdentifies one tournament, taken verbatim from a no-argument call to this same tool. Omit it to get the list. This is NOT an API key — credentials go in the Authorization header.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavioral nuances: the empty-list semantics between tournaments, the tournament_not_found error for unrecognized keys, and the normalization across the priced field. This significantly helps the agent anticipate edge cases.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose, followed by usage instructions and edge cases. While it is a bit lengthy, each sentence contributes meaningful information. The 'Read-only' sentence is redundant with the readOnlyHint annotation, but this is a minor deduction.

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

Completeness5/5

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

The description is complete for this tool's complexity: it covers the two call patterns, error behavior, and the distinction from the sibling soccer tool. Since an output schema exists, the description does not need to explain return values, and it fully leverages the schema and annotations.

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

Parameters4/5

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

The schema already covers the parameter with 100% coverage, but the description adds essential context: the value must be taken verbatim from a no-argument call to the same tool, omitting it lists tournaments, and it explicitly clarifies this is not an API key. This goes beyond the schema's basic 'Identifies one tournament' description.

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

Purpose5/5

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

The description clearly states the tool lists golf outright-winner probabilities and can retrieve a specific tournament by key. It specifies the verb 'list' and distinguishes from sibling list_tournament_outrights by explicitly stating 'GOLF ONLY' and naming the alternative for soccer.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: call with no arguments to list tournaments, call with tournament_key to get a single tournament. It also names the alternative tool for soccer competitions and clarifies that an empty list means no tournaments are priced rather than an error.

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

list_tournament_outrightsTournament winner probabilitiesA
Read-only
Inspect

Outright winner probabilities for a soccer competition, normalised across the teams that can still win — eliminated teams are dropped, so the field sums to 100% of the live market. Use for "who wins the league/cup"; use list_fixtures for individual matches. SOCCER ONLY — call list_golf_tournaments for golf. The other eleven sports have no outright market in this API at all, so for them list_fixtures is the only option; say so rather than retrying with a sport argument. Read-only. An unrecognised competition slug returns an empty field rather than an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
competitionNoCompetition slug, e.g. "premier-league-2026". Omit to get every competition currently priced, which is also how you discover valid slugs.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Beyond readOnlyHint and openWorldHint, the description adds key behaviors: normalization across live teams, elimination of already-eliminated teams, field summing to 100%, and empty field on unrecognised competition slug. This enriches transparency without contradicting annotations.

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

Conciseness5/5

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

The description is dense yet efficient, covering purpose, use cases, alternatives, sport exclusions, read-only status, and error handling in a single paragraph. Every clause adds value with no repetition or filler.

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

Completeness5/5

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

Given the tool's complexity and available schema/annotations, the description fully covers purpose, usage guidance, alternatives, limitations (soccer only, no outright markets for other sports), and edge-case behavior (empty field). Output schema exists, so return-values need no extra elaboration.

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 parameter, so the schema already explains the 'competition' slug and omission behavior. The description does not add meaning beyond the schema (e.g., no format details or examples), though it mentions empty-field behavior separately.

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

Purpose5/5

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

The description clearly states the tool provides outright winner probabilities for soccer competitions, with specific scope ('SOCCER ONLY') and normalization details. It distinguishes from list_fixtures for individual matches, making the purpose unambiguous.

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

Usage Guidelines5/5

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

Explicitly says when to use ('who wins the league/cup'), names alternatives (list_fixtures for matches, list_golf_tournaments for golf), and instructs the agent to inform users that other sports lack outright markets rather than retrying. This covers when/when-not and alternatives comprehensively.

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

Frequently Asked Questions

Discussions

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

Related MCP Servers

  • 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
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables plain-language cricket analytics for MCP clients, including calibrated win probability, ball-by-ball match archives, career and matchup records, venue and phase stats, and live scores, all without an API key.
    BSD 3-Clause
  • A
    license
    A
    quality
    A
    maintenance
    Real-time tennis data for ATP, WTA, Challenger and ITF: live scores, player rankings, match-winner odds, and model win-probability. 12 read-only tools; a tier-gated endpoint returns a plain-English explanation of which plan it needs rather than a bare 403. Requires a paid API key.
    24
    110
    162
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources