Skip to main content
Glama

Server Details

Predicted scores, win chances and checked sport stats for 29 competitions. Free and licensed tools.

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
Server Listing
betbetter-mcp

TDQS

A3.9/5.0

Scored across 12 tools

Disambiguation4/5

Most tools map to distinct product lines (Bets, Line Moves, Predictions, Storylines, Products, Account), and the free-vs-licensed pairs are clarified by explicit tier language in descriptions. However, get_predictions (kind=games returns line, total, win chances) and get_predicted_scores (projected margin/total/win chances for upcoming games) have genuine overlap that could trip an agent choosing which to call for a game's projection.

Naming Consistency5/5

All tool names are snake_case verb_noun with a get_ prefix except the semantically appropriate list_leagues, and product families are cleanly namespaced with storylines_ prefixes. The pattern is highly predictable and readable throughout.

Tool Count5/5

Twelve tools is well-scoped for a multi-product sports data API, with each tool covering a distinct feed, sample, account, or catalog function. No tool feels redundant as filler; the surface matches the business naturally.

Completeness4/5

The set covers league discovery, licensed and free prediction/bets/line-move feeds, stat facts, product pricing, and account plan inspection—a broad lifecycle for a data provider. Minor gaps exist (e.g. no odds-comparison or broader historical/search tools beyond 30-day graded data), but core workflows are covered.

Available Tools

12 tools
get_bets_feedBets feed (licensed)A
Read-onlyIdempotent
Inspect

The licensed Bets feed: the model's selections that fit a proven group, sent before the start, with our chance, the minimum price that still fits, the confidence word and the group in words. graded=true returns the last 30 days graded. Needs the Bets feed.

NameRequiredDescriptionDefault
limitNoMost rows to return (default 50).
gradedNotrue = graded selections of the last 30 days.
leagueNoOptional league or board filter, for example nfl or epl.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish that this is a safe, read-only, idempotent operation. The description adds useful behavioral context beyond annotations: it states the feed is pre-start, mentions the licensing requirement, and explains the graded-mode time window.

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 short and front-loads what the feed contains, then adds the graded behavior and prerequisite. The list of returned attributes is slightly dense but each item adds meaningful information about the feed.

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?

With no output schema, the description usefully names the key returned fields: chance, minimum price, confidence word, and group. It also covers the main prerequisite and graded mode, though it does not elaborate on pagination or response structure beyond the fields mentioned.

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 all three parameters are already documented. The description reinforces the graded parameter's meaning by saying it returns the last 30 days graded, but does not add detail for limit or league beyond what the schema provides.

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 a specific resource and scope: a licensed Bets feed containing model selections that fit a proven group and are sent before the start. The word 'licensed' and the focus on proven-group selections help distinguish it from get_free_picks, though the sibling is not named 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 phrase 'Needs the Bets feed' gives an important prerequisite, and 'graded=true returns the last 30 days graded' clarifies one mode. However, it does not explicitly say when to choose this over get_free_picks or other prediction tools, so usage guidance remains implied rather than direct.

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

get_free_picksFree picks for a leagueA
Read-onlyIdempotent
Inspect

The free public picks for one league: game, start time (UTC), market, selection, line, the model's chance (percent), fair decimal odds and a confidence word (HIGH, LEAN, LONG-SHOT). Members-only picks are counted, not shown. Free tier, CC BY 4.0.

NameRequiredDescriptionDefault
leagueYesLeague path as the public API spells it.

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds useful behavioral context beyond annotations: members-only picks are counted but omitted, the free tier applies, and the license is CC BY 4.0. It does not cover freshness, pagination, or rate limits, but it adds meaningful return-shape and access-tier context.

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

Conciseness5/5

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

The definition is compact and front-loaded: it names the resource, scope, returned fields, member-pick behavior, and licensing in essentially two dense sentences. The field enumeration earns its place because no output schema is provided.

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?

With no output schema, the description does a good job listing returned fields and confidence values, and it explains what is excluded. It is slightly incomplete on freshness, sorting, or whether all current picks for the league are returned, but the core contract is clear.

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%, and the single league parameter has a complete enum. The description reinforces the one-league scope but does not add syntax, format, or selection details beyond what the schema already 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.

Purpose4/5

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

The description states a clear resource and scope: free public picks for exactly one league, with the returned fields enumerated. It distinguishes free picks from members-only picks, but it does not explicitly differentiate itself from related siblings such as get_predictions or get_bets_feed.

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 by 'free public picks' and the note that members-only picks are counted but not shown, which helps an agent understand the free-tier limitation. However, there is no explicit guidance on when to use this tool versus get_predictions, get_bets_feed, or other sibling tools.

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

get_line_movesLine Moves (licensed)A
Read-onlyIdempotent
Inspect

The licensed Line Moves feed: our open calls on which way a game or player line will move before the start (call, strength, line now, predicted close, our number), newest first. graded=true returns the last 30 days of graded calls instead. Needs Line Moves for the sport.

NameRequiredDescriptionDefault
limitNoMost calls to return (default 50).
sportNonfl, nba, soccer, mlb, nhl, tennis or all (default = every sport your plan covers).
gradedNotrue = graded calls of the last 30 days.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the read-only, non-destructive, idempotent profile, and the description adds meaningful behavior beyond that: result ordering ('newest first'), the entitlement requirement per sport, and the distinct semantics of the graded mode. It does not disclose error behavior when the plan lacks Line Moves or any pagination nuance beyond the limit default.

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 dense sentences, zero waste. The primary behavior and returned fields come first, with the graded alternative and entitlement prerequisite following in a logical order.

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?

No output schema exists, so listing the returned fields (call, strength, line now, predicted close, our number) is necessary and well done, and ordering plus entitlement are covered. Missing only edge-case behavior (unlicensed fallback, error shape) to be fully complete.

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 all three parameters are already documented, including the graded enum-style boolean meaning. The description restates the graded behavior and adds the entitlement constraint tied to sport ('Needs Line Moves for the sport'), which is a small value-add over the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 (the licensed Line Moves feed) and what it contains: open calls on line movement with call, strength, line now, predicted close, and our number. The 'licensed' qualifier implicitly distinguishes it from get_line_moves_sample, but no sibling is named directly, so it falls just 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.

Usage Guidelines4/5

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

Explicitly describes the main branch (default = current open calls, newest first) and the alternative branch (graded=true returns the last 30 days of graded calls), plus the prerequisite 'Needs Line Moves for the sport.' It stops short of telling the agent what to do when unlicensed (e.g., fall back to get_line_moves_sample), so no explicit alternative routing.

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

get_line_moves_sampleLine Moves free sampleA
Read-onlyIdempotent
Inspect

A delayed free sample of Line Moves: our calls on which way a line would move, for games that started 3+ hours ago (last 30 days). Shows the call, the line when we called it and our predicted closing line. Free tier.

NameRequiredDescriptionDefault
limitNoMost calls to return (default 25).
sportNonfl, nba, soccer, mlb, nhl, tennis or all (default).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world, non-destructive, so the safety profile is fully covered. The description adds genuinely new context beyond that: it is a delayed sample, restricted to games that started 3+ hours ago, and limited to the last 30 days — key expectations for the caller.

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?

Front-loaded with the core identity ('delayed free sample of Line Moves') and follows with the qualifying constraints and return fields. Compact and free of filler; only minor redundancy in spelling out both 'free sample' and 'Free tier'.

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?

With no output schema, the description helpfully enumerates the returned fields (the call, line at call time, predicted closing line). Absent only a note on ordering or pagination, which is minor for a two-param sample endpoint.

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?

Both parameters (limit, sport) are fully documented in the schema at 100% coverage, including the default and enum values. The description adds no parameter-level detail such as how 'limit' interacts with the sample size or default ordering, so it hits 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 resource (line-move calls) and scope precisely: delayed free sample covering games that started 3+ hours ago within the last 30 days, with named return fields (call, line at call time, predicted closing line). It implicitly distinguishes itself from the paid get_line_moves by 'free sample'/'delayed' but never names that sibling 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 constraints ('free tier', 'delayed', 3+ hours ago, last 30 days) imply when this tool applies versus the full feed, but the description never says 'use get_line_moves for full/real-time data'. The agent must infer the routing from the sibling name alone.

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

get_my_planYour planB
Read-onlyIdempotent
Inspect

What this connection is signed in as: the leagues the Predictions licence covers, the Storylines plan and today's facts calls left, and where to add more.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so safety is covered. The description adds real context the annotations lack: the result reflects the caller's auth identity and includes a consumable daily quota ('today's facts calls left'), which implies per-day resets. It stops short of stating what happens at zero quota or whether the counters are real-time.

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 dense sentence with no waste, front-loading the identity concept before the list of reported items. The colon-separated list is slightly packed but each clause carries information.

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?

With no output schema, the description must convey the return shape, and it does by naming the four categories of information returned (licences, Storylines plan, facts-call balance, upgrade path). Missing only detail on format and what an exhausted quota looks like.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly describes a no-input introspection call.

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 enumerates what the tool reports – the signed-in connection's licence coverage, Storylines plan, remaining daily facts calls, and upgrade location – which distinguishes it from catalog tools like get_products and list_leagues. It never uses an explicit verb such as 'returns' or 'reports', relying on the indirect framing 'What this connection is signed in as', but the resource is unambiguous.

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 guidance on when to call this versus the entitlement-adjacent siblings get_products, list_leagues, or get_storylines_facts, and no prerequisites stated. The phrase 'where to add more' hints at an upgrade workflow but never says to call this before purchasing or when quota errors occur.

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

get_predicted_scoresPredicted scoresA
Read-onlyIdempotent
Inspect

The model's projected final score, margin and total for every upcoming game in a league. Free tier: the public feed (home win chance for the next 3 games only). With a Predictions licence for the league: every game with home, away and draw chances. League codes: nfl, cfb, nba, cbb, wnba, nhl, mlb, afl, nrl, epl, laliga, bundesliga, seriea, ligue1, mls, eflchamp, brasileirao, aleague, worldcup, tennis, ufc, cricket (also ncaaf, ncaab, soccer).

NameRequiredDescriptionDefault
limitNoMost games to return (default 40).
leagueYesLeague code, for example nfl, nba, epl, cfb. 'soccer' = every soccer league (free feed).

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 bar is low. The description adds genuinely useful context beyond them: a paywall/entitlement gating model that changes the shape and volume of results depending on licence, plus explicit coverage of the free-tier feed.

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?

Front-loads what is returned, then tier behavior, then valid codes — a sensible ordering with little wasted prose. The long league-code list is dense but earns its place by preventing invalid calls.

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?

No output schema exists, so the description carries the burden of explaining return values, and it does so (score, margin, total; win/draw chances). The main remaining gap is the relationship to sibling prediction tools.

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 both parameters are already documented and the baseline is 3. The description adds a full league-code enumeration beyond the schema's terse examples, including the 'soccer' aggregation alias, which compensates somewhat but is already partially mirrored in the schema.

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: projected final score, margin and total for every upcoming game in a league. Very concrete about the returned fields, but never distinguishes itself from siblings like get_predictions or get_free_picks, which sound overlapping.

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?

Explains the access tiers (free feed = home win chance for next 3 games; licence = all games with home/away/draw chances), which helps an agent judge whether the call will be useful. However, it never says when to prefer this over get_predictions or get_free_picks, so the choice among siblings 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.

get_predictionsPredictions feed (licensed)A
Read-onlyIdempotent
Inspect

The licensed Predictions feed for one league: kind=games (our line, total, win chances and fair prices for every game), kind=props (player projections with over and under chances) or kind=markets (team totals, halves, quarters and other game markets). Needs a Predictions licence covering the league. League codes: nfl, cfb, nba, cbb, wnba, nhl, mlb, afl, nrl, epl, laliga, bundesliga, seriea, ligue1, mls, eflchamp, brasileirao, aleague, worldcup, tennis, ufc, cricket.

NameRequiredDescriptionDefault
kindNogames (default), props or markets.
teamNoOptional: only rows whose teams (or player's team or name) contain this text.
limitNoMost rows to return (default 50).
leagueYesLeague code, for example nfl, nba, epl.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, so credit is for added context: the licence prerequisite, the league-scoped nature, and what each kind yields. It leaves out rate limits and pagination behavior, but the licensing caveat is a genuinely useful behavioral disclosure the annotations cannot express.

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?

Front-loaded with the resource and the three kind variants, then the licensing constraint. The long league-code list is bulky but practically useful; everything else earns its place.

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?

For a read-only feed with no output schema, the description gives enough about the shape of returned data per kind and the access prerequisite to call it correctly. Pagination/limit behavior is left unstated, a minor gap given the schema documents it.

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 baseline is 3; the description earns more by explaining what each kind enum value actually returns (lines/totals/win chances vs player projections vs other game markets), which the schema only names. The team and limit parameters are left entirely to the schema.

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 (licensed Predictions feed) scoped to one league and enumerates the three data shapes it can return, so the agent knows exactly what data comes back. It does not explicitly contrast with near siblings like get_free_picks or get_predicted_scores, so it falls 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.

Usage Guidelines3/5

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

The licence requirement is stated ('needs a Predictions licence covering the league'), which implies entitlement gating, but there is no explicit when-to-use-this-vs-alternatives guidance despite several similarly named prediction/picks siblings. Usage is inferred rather than directed.

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

get_productsProducts and pricesA
Read-onlyIdempotent
Inspect

Every Bet Better Data product with its live price (US$), what it contains, coverage (leagues, Line Moves sports, Storylines competitions on sale) and the page to buy or read more, plus the free CC BY 4.0 API. Use it to answer 'what does it cost' or 'which plan do I need'.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/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 safety is covered. The description adds real behavioral context beyond that: prices are live, currency is US$, coverage spans leagues/Line Moves/Storylines, and the free CC BY 4.0 API is included — useful for interpreting the response 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.

Conciseness5/5

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

Two sentences, front-loaded with the resource and its price focus, then a compact payload enumeration, then the use cases. The parenthetical coverage list is dense but every element (leagues, Line Moves sports, Storylines competitions) carries distinct information an agent cannot get elsewhere.

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?

For a zero-parameter read-only listing with no output schema, the description adequately explains what each returned product record contains (price, contents, coverage, purchase page) and mentions the free CC BY 4.0 API. Minor gaps remain around price freshness or pagination, though neither is likely material for a small catalog.

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

Parameters4/5

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

The tool takes zero parameters and the schema is empty, so there is nothing to disambiguate and baseline 4 applies. The description correctly implies a full-catalog, unfiltered listing rather than any parameterized query.

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 (Bet Better Data product catalog with live US$ prices) and enumerates its contents: price, plan contents, coverage, and purchase/info page. It is clearly distinguishable from sibling data tools like get_line_moves or get_storylines_on_sale, though it never explicitly names the closest sibling, get_my_plan.

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

Usage Guidelines4/5

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

Provides concrete trigger questions — 'what does it cost' and 'which plan do I need' — which give an agent a clear signal for selection. It stops short of an exclusion clause, e.g. telling the agent to use get_my_plan instead when the question is about the caller's existing subscription.

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

get_storylines_factsStorylines stat factsA
Read-onlyIdempotent
Inspect

Checked sport-stat facts (plain sentences with the stat, value and as-of date) for one game (home + away), or with Storylines Pro or Publisher for one player or team. Stats only: no prices, picks or chances. Free: 3 facts a game; Creator 12; Pro and Publisher 30.

NameRequiredDescriptionDefault
awayNoAway team (for a game).
homeNoHome team, as get_storylines_games lists it (for a game).
kindNomatchup (default), player or team. player and team need Storylines Pro or Publisher.
teamNoSoccer player only: his club, so we can check the competition is covered.
sportYesSport key, for example nfl, nba, nhl, mlb, ncaaf, soccer, cricket.
entityNoThe player or team name (kind player or team).

TDQS

A4.5/5.0
Behavior4/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 safety is covered. The description adds genuinely new behavioral context — access tiers and per-tier fact quotas (free 3, Creator 12, Pro/Publisher 30) — that an agent needs to predict results and errors.

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 tight sentences, front-loaded with what the tool returns, then modes, then limits. No filler; 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?

No output schema, but the description conveys the return shape (plain sentences with stat, value, as-of date), both invocation modes, tier prerequisites and quotas. Nothing an agent needs to call this correctly is missing.

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 baseline is 3. The description adds structure the schema doesn't state outright: that home and away are the game-mode pair, that kind defaults to matchup, and that entity modes need a paid tier, which helps an agent choose parameters correctly.

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 and resource — 'checked sport-stat facts (plain sentences with the stat, value and as-of date)' — and delineates scope: one game (home+away) or, with Pro/Publisher, one player or team. 'Stats only: no prices, picks or chances' explicitly separates it from siblings like get_free_picks and get_predictions.

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

Usage Guidelines4/5

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

Gives clear context: game mode vs player/team mode, plus the prerequisite that player and team require Storylines Pro or Publisher, and it points to get_storylines_games for team naming. It doesn't spell out explicit exclusions beyond 'stats only', which keeps it from a 5.

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

get_storylines_gamesStorylines games for a dayA
Read-onlyIdempotent
Inspect

Upcoming games Storylines has checked stats for, for one sport and day (US Eastern date). Use the team names exactly as returned when you ask for facts.

NameRequiredDescriptionDefault
dateNoOptional YYYY-MM-DD; default = the next day with games (up to 4 days ahead).
sportYesSport key, for example nfl, nba, nhl, mlb, ncaaf, soccer, cricket.

TDQS

A3.5/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 two real facts beyond that: results are gated on Storylines having checked stats, and the returned team names are canonical identifiers to reuse downstream. It says nothing about ordering, result volume, or what happens when no games qualify.

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 sentences, both front-loaded, with no filler. The only minor cost is the slightly awkward framing 'Upcoming games Storylines has checked stats for', which reads as an inverted clause rather than a clean statement of purpose.

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

Completeness3/5

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

There is no output schema, yet the return shape is only hinted at via 'team names exactly as returned'. An agent knows the input contract and the downstream team-name rule, but not what fields come back per game (times, IDs, status), which matters for a scheduled-events endpoint.

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 baseline is 3, but the description adds meaning the schema does not: the 'day' is a US Eastern date, which disambiguates timezone for a date-only string field. It also reinforces the one-sport-per-call constraint, complementing the schema's example keys.

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?

Names a specific resource and scope: upcoming games for one sport and one day, where the data is limited to games Storylines has stats for. The implicit verb (list/fetch) plus the 'checked stats' qualifier separates it from siblings like get_storylines_facts or get_predictions, though the description 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 sentence 'Use the team names exactly as returned when you ask for facts' implicitly describes a two-step workflow with get_storylines_facts, which is genuinely useful. However it never states when to prefer this tool over get_predictions, get_predicted_scores, or get_free_picks, and gives no exclusion conditions.

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

get_storylines_on_saleStorylines competitionsA
Read-onlyIdempotent
Inspect

The competitions Storylines covers right now (each one is on sale only while it passes our accuracy checks).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior. The description adds useful behavioral context: availability is time-sensitive and only included while it passes accuracy checks. It could go further by explaining freshness cadence or result behavior.

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 compact sentence with no wasted words. The core resource is front-loaded and the accuracy-check caveat is appropriately parenthetical.

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?

For a no-parameter list tool with rich annotations and no output schema, the description sufficiently says what is returned and why availability changes. It could better relate itself to sibling Storylines tools and hint at the result shape.

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

Parameters4/5

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

The tool has zero parameters, so the schema baseline is 4. The description correctly does not invent parameter semantics where none exist.

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 clearly: current Storylines competitions that are on sale. However, it does not use an explicit verb like list/returns and does not distinguish this from sibling tools such as get_storylines_games or get_storylines_facts.

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?

Implies the tool is for checking currently available competitions, but gives no explicit when-to-use guidance or alternatives. With several sibling Storylines tools present, an agent 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.

list_leaguesList leagues and coverageA
Read-onlyIdempotent
Inspect

Lists every league Bet Better covers (code, name, season, in season now), which free feeds exist for each, and what this connection's licence covers. Call this first.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/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 safety is covered. The description adds meaningful substance beyond that by disclosing what the payload contains — per-league season, in-season status, free-feed existence, and the licence scope of this connection — which is context an agent cannot infer from 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.

Conciseness5/5

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

A single dense sentence covering what is listed, followed by a short imperative. The fields are front-loaded and nothing is redundant or padded.

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 no output schema and no parameters, the description carries the whole burden and meets it by enumerating the fields returned plus the licence-scope caveat. An agent knows what it gets back and that it should call this before other tools.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there are no argument semantics the description needs to compensate for. It correctly spends no words explaining inputs and instead describes output content.

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 and resource ("Lists every league Bet Better covers") and enumerates the returned fields — code, name, season, in-season status, free-feed availability, and licence coverage. That scope is clearly narrower and more foundational than sibling lookups like get_bets_feed or get_free_picks, so an agent can pick it without opening the schema.

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

Usage Guidelines4/5

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

Ends with an explicit sequencing directive, "Call this first," which tells the agent exactly where this tool belongs in a workflow. It does not name a when-not-to-use condition or point at a specific alternative, so it stops short of a full 5.

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

Tool Schema Changelog

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

  1. 12 tool updates
    • First observedget_bets_feed
    • First observedget_free_picks
    • First observedget_line_moves
    • First observedget_line_moves_sample
    • First observedget_my_plan
    • First observedget_predicted_scores
    • First observedget_predictions
    • First observedget_products
    • First observedget_storylines_facts
    • First observedget_storylines_games
    • First observedget_storylines_on_sale
    • First observedlist_leagues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only access to pre-kick-off football match outcome probabilities and the open record of how those predictions turned out, including match listings, per-match analysis, and aggregate hit rates with baselines. It requires no account or API key and lets users query results by date, week, language, and time zone.
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides soccer match predictions and league statistics using xG data and Poisson distribution models. It enables users to forecast outcomes, analyze team performance, and view league tables across major European football leagues.
    2
    3
    GPL 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Provides football fixtures, real results, and bet settlement with odds arithmetic, enabling AI agents to devig markets, evaluate prices, and settle picks without an API key.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources