Skip to main content
Glama

HalfPoint

Server Details

No-vig consensus odds, bet-stops, fixtures, live scores and grades: NFL, NBA, MLB, NHL, soccer

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
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation4/5

Most tools target clearly distinct resources: leagues, fixtures, live scores, consensus, bet-stop status, and pass pricing are all unambiguous. The one soft spot is get_sample, which duplicates a subset of get_consensus and list_fixtures (one league, 60-120s stale, no stop data), so an agent may hesitate between it and the keyed equivalents. Descriptions do make the key/rate-limit distinction explicit, which mitigates the overlap.

Naming Consistency5/5

Every tool follows a verb_noun pattern with get_ for single-resource lookups and list_ for collections, used consistently (list_fixtures, list_leagues vs. get_consensus, get_live, get_sample). No mixed casing or stray verbs. The only nit is get_live/get_sample using an adjective rather than a noun, but the convention still reads predictably.

Tool Count5/5

Seven tools is a tight, well-scoped surface for a sports-betting data API: discovery (leagues, fixtures), live state, odds, risk, and commercial/onboarding all have exactly one tool each. Nothing appears redundant or bloated.

Completeness4/5

The surface covers the full read lifecycle an agent needs: find leagues, list fixtures, check live state, get odds, check stop/widening risk, and discover pricing/keys, including a no-auth sample path. Gaps are minor: no historical/results lookup, no fixture search by team, and consensus is limited to games within 24 hours or in play, with no key/quota status tool.

Available Tools

7 tools
get_bet_stop_statusA
Read-onlyIdempotent
Inspect

Whether each market is in a bet stop (stop: true when something just happened that can be front-run, e.g. a score) and whether its price is widened. Needs an API key with plan risk.

NameRequiredDescriptionDefault
leagueNoone league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all
fixtureNoone fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish read-only and idempotent behavior, and the description adds useful context: what a bet stop means, that it can be triggered by a score, and that an API key with plan risk is required. It does not describe the response structure, but the added behavioral and auth context is meaningful.

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

Conciseness4/5

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

The description is compact and front-loads the core status information before the authentication note. Every sentence contributes, though the phrase 'plan risk' is slightly cryptic and could be clearer.

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 simple read-only status tool with two optional, fully documented parameters and no output schema, the description covers the key return concept and authentication requirement. It is complete enough for an agent to call correctly, with only minor gaps around output shape.

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 the league and fixture parameters are already fully documented in the input schema. The description adds no parameter-specific meaning beyond what the schema provides, which is acceptable given the high coverage.

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 clearly states the tool reports whether each market is in a bet stop and whether its price is widened. It is specific about the resource and status being retrieved, though it does not distinguish this tool from siblings such as get_live or get_pass_options.

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?

It provides an authentication prerequisite (API key with plan risk) but gives no explicit guidance on when to use this tool versus alternatives. The agent must infer usage from the purpose statement alone.

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

get_consensusA
Read-onlyIdempotent
Inspect

The consensus: a market-implied probability per outcome (home, away, draw) for games starting within 24 hours and those being played, at most 1 s old. recent false means no current consensus. Needs an API key.

NameRequiredDescriptionDefault
leagueNoone league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all
fixtureNoone fixture id, e.g. nba-261030-mia-cha (from list_fixtures); default all of the league

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent, so the description adds real value on top: a freshness SLA (at most 1 s old), the coverage window (next 24 hours plus in-play), the meaning of a 'recent false' result (no current consensus), and an auth requirement (needs an API key). It still does not describe the shape of the response or behavior when league/fixture are omitted, so it stops short of a 5.

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 payload definition, with no filler. The sentence 'recent false means no current consensus' is slightly cryptic because 'recent' is never otherwise introduced, but it is compact rather than wasteful.

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, so the description must explain returns; it covers the outcome-to-probability mapping and the 'recent' flag at a high level but not the full response structure (e.g., per-fixture grouping, timestamps). For a 2-param read tool with annotations, it is adequate but leaves gaps on return shape.

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%, including the league enum list and the fixture id format with a pointer to list_fixtures. The description adds no parameter-level meaning beyond that. Baseline 3 is appropriate when the schema carries this burden.

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 resource and its payload precisely: a market-implied probability per outcome (home, away, draw). It also scopes the data to games starting within 24 hours or currently in play. It does not explicitly distinguish itself from siblings such as get_live or get_sample, 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?

Usage is implied through the scope statement (games within 24h and live games, data at most 1 s old), which tells the agent when the data is valid. However, it never says when to prefer this tool over get_live or get_sample, nor any exclusions. An agent must infer the routing decision.

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

get_liveA
Read-onlyIdempotent
Inspect

Games being played now (and final within 2 hours): score, period, clock. Needs an API key.

NameRequiredDescriptionDefault
leagueNoone league (mlb, nba, nfl, cfb, nhl, epl, bund, laliga, ucl); default all

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare read-only and idempotent behavior, so the description need not repeat that. It adds useful context beyond annotations by stating the API key requirement and the two-hour final-game inclusion window.

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?

One sentence front-loads the resource, temporal scope, returned fields, and auth requirement with no unnecessary wording.

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 simple read-only live-scores tool, the description covers the essential scope, return fields, and API key requirement. It could mention league filtering or empty-result behavior, but the schema covers the parameter and no output schema is 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 schema has 100% description coverage and fully documents the single league parameter, including possible values and the default. The description adds no additional parameter 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 names a specific resource and scope: games being played now, plus games finalized within the last two hours, with score, period, and clock. This clearly distinguishes it from fixture-listing or league-listing siblings.

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 implies when the tool is useful by specifying live and recently final games, but does not explicitly name alternatives such as list_fixtures or state when not to use it. The usage context is clear but not fully prescriptive.

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

get_pass_optionsA
Read-onlyIdempotent
Inspect

The plans for sale, their prices (USD), trials and checkout links, where a key is bought, and the x402 passes (a plan for a period, paid in USDC). Works without an API key.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered; the description adds the genuinely non-obvious auth note that no API key is required, plus a definition of what an 'x402 pass' is (a plan for a period, paid in USDC). It does not cover pagination or result shape, but the field enumeration partly substitutes for the absence of 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.

Conciseness4/5

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

A single dense sentence with no filler, and the list of returned artifacts is front-loaded. The trailing parenthetical defining x402 passes is justified because the term is otherwise opaque, though the sentence is long enough that a period-split would read better.

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 parameters and no output schema, the description carries the burden of telling the agent what comes back, and it does so by enumerating plans, USD prices, trials, checkout links, and USDC-denominated x402 passes. What is missing is the structure of the response (flat list vs grouped by plan) and whether checkout links are stable or per-request.

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 for a no-param tool applies, and the description correctly avoids inventing filter options that the schema would reject (additionalProperties: false).

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 identifies the resource precisely — plans for sale, prices in USD, trials, checkout links, and x402 passes — so an agent knows exactly what data this returns. It stops short of a leading verb ('Returns/Get'), phrasing the purpose as a noun list, but the resource is unmistakable and none of the siblings (bets, consensus, live, fixtures, leagues) overlap with it.

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 only implied: an agent can infer it should call this when it needs pricing or purchase options. The one explicit guidance sentence, 'Works without an API key,' is a useful precondition but is about auth, not about when to choose this over something else. No exclusions or alternatives are named.

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

get_sampleA
Read-onlyIdempotent
Inspect

A free sample without an API key: one league's consensus (kind odds, 60 to 120 s old, without stop and widened) or today's fixtures (kind fixtures), 10 fixtures at most. Limited to 10 calls a minute.

NameRequiredDescriptionDefault
kindYesodds (the consensus) or fixtures (today's schedule)
leagueYesthe league: mlb, nba, nfl, cfb, nhl, epl, bund, laliga or ucl

TDQS

A4/5.0
Behavior5/5

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

With only readOnlyHint and idempotentHint in annotations, the description carries real extra weight: no API key required, data freshness of 60-120 s, exclusions ('without stop and widened'), a 10-fixture cap, and a 10 calls/minute rate limit. Those are exactly the operational constraints an agent needs before choosing this tool.

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

Conciseness4/5

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

A single dense sentence that front-loads the key differentiator ('free sample without an API key') and then packs limits at the end. Nothing is redundant, though the parenthetical 'without stop and widened' is jargon that costs a re-read.

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 two-parameter read-only retrieval tool with no output schema, the description covers access model, freshness, result cap, and rate limit. It stops short of indicating what fields come back or what 'widened' means, which is the main residual gap.

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 identifying odds as the consensus and qualifying its staleness and exclusions, while the schema only says 'the consensus'. The league parameter gets no extra treatment beyond the schema's own enumeration.

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 concrete verb+resource pair: returns one league's consensus odds (kind=odds) or today's fixtures (kind=fixtures), explicitly framed as a free sample. The distinction from full-data siblings lies only in the word 'sample' and 'without an API key', so an agent can infer it differs from get_consensus/list_fixtures but is not told so 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?

'A free sample without an API key' implies the usage condition (no key, quick peek), and the 10-call/minute limit implies this is not for bulk work. However, it never names get_consensus or list_fixtures as the full-data alternatives, so the agent must infer the routing itself.

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

list_fixturesA
Read-onlyIdempotent
Inspect

A league's schedule on a date: fixture ids, start times (UTC), teams, status (Scheduled, In Progress, Final, Postponed, ...), postponement links. Needs an API key.

NameRequiredDescriptionDefault
dateNoYYYY-MM-DD, or a range YYYY-MM-DD-YYYY-MM-DD of up to 31 days; the league's local date; default today
leagueYesthe league: mlb, nba, nfl, cfb (college football), nhl, epl (Premier League), bund (Bundesliga), laliga (LaLiga) or ucl (Champions League)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the exact fields returned, that start times are UTC while the date parameter is league-local, the status vocabulary, and the API-key requirement. It doesn't mention pagination or result limits, keeping it out of 5 territory.

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 with no filler; the returned-field list is front-loaded and the API-key caveat is placed last. The noun-phrase style is terse but readable, with only the trailing '...' in the status list being slightly loose.

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 enumerates the return fields, and the API-key prerequisite is stated. For a two-parameter read tool whose annotations cover safety, that is nearly complete; only result-size/pagination behavior is 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 the schema already documents both parameters including the date format, 31-day range cap, and league codes. The description only restates 'on a date' and adds the UTC contrast for start times, adding little beyond structured data. 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 the resource (a league's schedule/fixtures on a date) and enumerates the returned fields (ids, UTC start times, teams, status, postponement links), which is specific enough to distinguish it from siblings like get_live or get_consensus. It lacks an explicit verb and never names a sibling it is not, so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the tool for a league's schedule on a date. The one explicit operational note, "Needs an API key," is a prerequisite rather than when-to-use guidance. No exclusions or comparison with get_live (live scores) or list_leagues are given.

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

list_leaguesA
Read-onlyIdempotent
Inspect

The leagues served, with their ids, names and sports. Needs an API key.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description contributes the authentication requirement and the shape of the returned records (ids, names, sports), which is genuine added context, though it says nothing about filtering, pagination, or failure behavior when the key is missing.

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 short sentences, zero waste. The output content is front-loaded and the operational constraint follows immediately.

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 parameters, no output schema, and read-only annotations, the description covers what the agent needs: what comes back and that an API key is required. Only a note on result size or error behavior would add anything meaningful.

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 schema has nothing to document and the baseline is 4. The description correctly implies an unfiltered listing, consistent with the empty object 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?

"The leagues served, with their ids, names and sports" names the resource and enumerates the returned fields, distinguishing it from sibling list_fixtures. The verb is only implied (a noun phrase rather than "List leagues"), which keeps it 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 Guidelines2/5

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

"Needs an API key" is a prerequisite, not usage guidance. Nothing states when an agent should call list_leagues versus list_fixtures, or under what conditions the call is inappropriate.

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. 7 tool updates
    • First observedget_bet_stop_status
    • First observedget_consensus
    • First observedget_live
    • First observedget_pass_options
    • First observedget_sample
    • First observedlist_fixtures
    • First observedlist_leagues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Live sports betting odds, cross-book +EV, and graded player-prop resolution across 13 books.
    11
    386 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Sorqen is a sports fair-value API + MCP server: it turns sportsbook odds into a versioned, no-vig consensus probability for NFL/NBA/MLB/NHL moneyline, spread, and total markets, with confidence, provenance, and freshness attached to every number instead of a black-box pick.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources