Betting Edge — NFL Elo Research
Server Details
NFL Elo forecasts, odds comparisons, archived games, ratings and calibration. Research only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 7 tools
Tools mostly target distinct resources: rankings, predictions, shortlist, dive, props, record, and calibration. There is mild overlap between get_game_prediction/get_week_shortlist and between get_calibration/get_record, but the descriptions clarify free vs archived vs performance-oriented purposes.
Every tool follows the same get_<noun> convention, with clear and predictable names such as get_elo_rankings, get_game_prediction, and get_week_shortlist. No mixed casing or inconsistent verb patterns are present.
Seven tools is well-scoped for a narrow NFL Elo research and betting-edge server. Each tool maps to a distinct read operation and none feels redundant or excessive.
The surface covers forecasts, shortlists, rankings, records, props, calibration, and paid dives, but lacks discovery tools for game slugs, NFL weeks, or available cached dives. Agents may hit dead ends if they do not already know the required slug or week.
Available Tools
7 toolsget_calibrationBInspect
Read first-frozen Elo forecast grading and same-cohort Brier benchmarks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read operation and names the data domain, but does not describe auth needs, rate limits, return format, or other operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It is concise, though the dense jargon reduces clarity slightly without adding structural context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description gives a reasonable indication of returned data (grading and Brier benchmarks). It remains incomplete because it does not clarify when to use the tool or what the returned metrics mean, which matters especially with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema imposes no semantic burden. The description does not need to explain parameter semantics, and the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ("Read") and resource ("Elo forecast grading and same-cohort Brier benchmarks"), which is more than a tautology. However, the domain terms "first-frozen" and "same-cohort" are unexplained, and the description does not explicitly distinguish this tool from siblings like get_elo_rankings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. An agent must infer its role from the tool name and sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_elo_rankingsBInspect
Read verified public Elo rating information, if published.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load. It does disclose that data is 'verified public' and may not exist ('if published'), which is meaningful for a read tool, but it omits what happens on absence, whether results are paginated, or the shape of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the availability caveat placed at the end. No waste, though the wording drifts slightly from the tool name's 'rankings'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description should clarify what a caller receives (a ranked list, a single rating, an empty result). It signals a conditional data source but leaves the return contract and empty-state behavior unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('Elo rating information') with a scope qualifier ('verified public'). The sibling tools cover clearly different resources, so differentiation is implicit, though 'rating information' is slightly looser than the tool name's 'rankings'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'if published' hints at a conditional availability, but there is no explicit guidance on when to call this versus the siblings, nor any prerequisites or fallback behavior when data is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_game_predictionBInspect
Read frozen Elo forecast for a public game slug; no paid dive.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. 'Frozen' usefully signals a precomputed/static forecast and 'no paid dive' signals no cost or premium gating, but it says nothing about error behavior for unknown slugs, determinism, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the core operation front-loaded and zero filler. The 'no paid dive' clause is compact but cryptic enough to cost some clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-param read tool with no annotations and no output schema, the essential 'what it does' is present. Missing details on return shape, staleness semantics of 'frozen', and failure modes leave it merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 0% schema description coverage, so the description must compensate. It adds the useful qualifier that the slug refers to a 'public game', but does not clarify slug format, source (e.g., matchup ID vs. week slug), or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Read') plus resource ('frozen Elo forecast') scoped to a 'public game slug'. It implicitly differentiates from the sibling get_member_dive via 'no paid dive', though the phrasing is jargon-laden rather than a clean contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'no paid dive' hints that this is the free counterpart to a paid tool, but it never names get_member_dive or states the selection condition explicitly. 'Public game slug' implies a restriction to public games, but no exclusions or alternatives are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_member_diveBInspect
Paid Edge: retrieve a cached existing game dive only after authenticating and verifying active Stripe subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two important traits: authentication is required and an active Stripe subscription is verified, and only cached (not freshly computed) dives are returned. It omits what happens on auth/subscription failure (error shape) and any rate or freshness characteristics of the cache.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the paid-gating condition front-loaded via the 'Paid Edge:' prefix. No filler, though the compressed phrasing makes it slightly opaque.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema and no annotations, the description covers the access-control story but leaves the input semantics, cache/freshness expectations, and failure behavior unexplained. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single `slug` parameter has 0% schema description coverage, and the description never explains what the slug identifies or its format. With low coverage the description should compensate, but it adds nothing about the only input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('retrieve a cached existing game dive') and marks it as a paid-tier feature, which separates it from free siblings like get_game_prediction and get_record. The term 'dive' is domain jargon not defined anywhere, so an agent unfamiliar with the domain gets only partial clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'only after authenticating and verifying active Stripe subscription' gives a clear precondition, and 'cached existing' implies it will not generate a new dive. However, no alternative tool is named for the non-subscribed or non-cached case, so the agent must infer where to route those requests.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_player_propsBInspect
Return ONLY the free featured prop, never full top ten or reasoning.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full disclosure burden, and it only reveals one behavioral trait: the response is intentionally truncated (no top ten, no reasoning). It says nothing about freshness of the prop, what happens when no featured prop exists, whether the result is cached, or what fields come back. For a read tool with zero annotation coverage, that is a thin disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single economical sentence with the scope constraint front-loaded via "ONLY". The trailing negative clause ("never full top ten or reasoning") is slightly awkward and references concepts the reader has no context for, which costs it a point, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source of information about the return value, and "free featured prop" does not tell the agent what shape or fields to expect. For a tool whose entire purpose is returning a specific payload, the definition leaves the payload essentially undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb and object ("Return ... the free featured prop") and bounds the scope with "ONLY", so the agent knows this is a narrow single-item retrieval. However, "prop" and "featured" are unexplained internal jargon, and it never says what domain or resource this belongs to, so an agent seeing only this definition cannot tell what a caller would actually receive. It also does not differentiate itself from any of the six sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusions ("never full top ten or reasoning") imply when this tool is the wrong choice and point at an unstated richer alternative, which gives partial routing guidance. But no sibling is named as that alternative, so the agent is left to guess which tool provides the "full top ten" or the reasoning when it actually needs them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recordCInspect
Read public graded record by tier and recorded units.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it delivers almost none: 'Read' implies a safe read and 'public' implies no auth, but there is no mention of return shape, pagination, rate limits, or what a 'graded record' contains. Those inferences are left entirely to the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single eleven-word sentence, front-loaded with the verb, with no filler or redundancy. Brevity is not the problem here; substance is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no annotations, and no output schema, the description is the only source of information about behavior and return values, and it supplies neither. An agent cannot tell what it will receive or when the call is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties with additionalProperties: false, yet the description says the read happens 'by tier and recorded units' — implying filter inputs the caller cannot actually supply. That mismatch is actively misleading rather than merely sparse, so the usual zero-parameter baseline of 4 does not apply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a verb+resource ('Read ... record') but the resource is defined only by undefined jargon: 'public graded record', 'tier', and 'recorded units' convey nothing an agent can map to a domain object. Against siblings like get_elo_rankings and get_week_shortlist, which telegraph their content, this one is nearly indistinguishable from the bare name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the six sibling get_* tools, and no prerequisites or exclusions. The only usable hint is the word 'public', which faintly implies no authentication is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_week_shortlistBInspect
Read archived pre-kickoff NFL Elo predictions for an NFL week, no paid dives.
| Name | Required | Description | Default |
|---|---|---|---|
| week | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses two useful traits — the data is archived (immutable read) and requires no paid access — but says nothing about return contents, whether a week value is required, or what happens when week is omitted given 0 required parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded clause with no filler, but 'no paid dives' reads as internal jargon and the compression leaves key questions (what 'shortlist' means, optionality of week) unanswered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undocumented optional parameter, the description needs to do more. It never explains what the shortlist returns or how an omitted week is handled, so an agent cannot predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'week' parameter, so the description must compensate. It confirms the value is an NFL week, matching the schema's 1–18 bounds, but its optionality and default behavior are unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (archived pre-kickoff NFL Elo predictions for a week), which separates it from get_game_prediction and get_elo_rankings by the 'archived/pre-kickoff' qualifier. However, the term 'shortlist' is never explained, so what the resource actually contains remains ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'no paid dives' hints that this is the free counterpart to a paid sibling (get_member_dive), which is implied routing guidance. But there is no explicit 'use this when' statement or named alternative, leaving the agent to infer the tradeoff.
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.
7 tool updates
- First observed
get_calibration - First observed
get_elo_rankings - First observed
get_game_prediction - First observed
get_member_dive - First observed
get_player_props - First observed
get_record - First observed
get_week_shortlist
Related MCP Connectors
Graded track records of NFL and election pundits: records, leaderboards, takes, game and race calls.
Monte Carlo NFL, MLB, NHL, NBA and soccer odds, plus model-vs-market edge from live prices
Calibrated, sourced football predictions: odds, tournament sims, standings, brackets, model card.
Probability-calibrated NBA, EuroLeague, football and ATP/WTA tennis predictions, full distributions
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables natural language access to NFL data, including play-by-play with EPA, player and team stats, injuries, depth charts, and closing lines for games since 1999.MIT
- AlicenseNot gradedqualityCmaintenanceGrades sports bets against thousands of play-by-play simulations, reporting simulated probability, implied probability, and edge.MIT
- AlicenseAqualityDmaintenanceSchedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.1614MIT

PropLineofficial
AlicenseAqualityAmaintenanceLive sports betting odds, cross-book +EV, and graded player-prop resolution across 13 books.11790 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.