Skip to main content
Glama
TheRundown

therundown-data

Official
by TheRundown

Official TheRundown Data MCP

This is the official TheRundown source repository. aigeon-ai/therundown is unofficial.

A local, read-only Model Context Protocol server for TheRundown Product API. It fetches sports, affiliates, market definitions, events, futures, and open main lines using your own API key. It uses the official MCP SDK and Node.js 22+.

This directory is a runnable source example. There is no hosted data MCP endpoint or published npm package. The existing https://docs.therundown.io/mcp endpoint searches documentation only.

The separate HTTP adapter candidate is prepared for a future operated service. It is excluded from the local ZIP and is never started by npm start. No hosted data endpoint is available to install today.

The checked-out source is version 0.2.1. It adds the therundown://brief resource, shared first-conversation instructions, and structured error and empty result explanations. The published source ZIP contains the same local runtime.

Download the versioned source bundle, verify its SHA-256 checksum, and extract it. The official ZIP SHA-256 is 71b7339d9f329262e6ff0279ab2ee185c9a06f05f62671b0ec55ac7678a36e74. The ZIP manifest verifies every bundled source file. The ZIP README is generated from BUNDLE-README.md; this repository README also includes repository setup material. From the extracted ZIP directory:

npm ci --ignore-scripts
npm test

To run the checked-out source instead, use Node.js 22+ from this repository:

npm ci --ignore-scripts
npm test

For Claude Desktop's manual local configuration, add this to claude_desktop_config.json where supported and restart the client. Use absolute Node 22+ and server paths; this source ZIP is not a .mcpb desktop extension:

{
  "mcpServers": {
    "therundown-data": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/therundown-data-mcp-0.2.1/server.mjs"],
      "env": { "THERUNDOWN_API_KEY": "YOUR_API_KEY" }
    }
  }
}

For Cursor, use the global ~/.cursor/mcp.json and make the key available in the environment that launches Cursor:

{
  "mcpServers": {
    "therundown-data": {
      "type": "stdio",
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/therundown-data-mcp-0.2.1/server.mjs"],
      "env": { "THERUNDOWN_API_KEY": "${env:THERUNDOWN_API_KEY}" }
    }
  }
}

Client references: local MCP servers, Cursor.

Replace the path and key locally. Use your client's secret storage or inherited environment when available. Do not commit a filled-in client config. The server reads THERUNDOWN_API_KEY from its process environment and sends it only as X-TheRundown-Key; keys are never accepted as tool arguments. stdout contains only MCP protocol messages. A missing key exits with a generic message on stderr.

The six tools are:

Tool

What it does

When not to use it for discovery

list_sports

Lists current public sport IDs and names.

Do not infer that a sport has events or price coverage from its catalog row.

list_affiliates

Lists current public affiliate IDs and names.

Do not use it as proof that a book offers a requested sport or market; retired 27 is excluded.

list_markets

Lists market definitions, or date-scoped markets for a sport.

Do not treat definitions as open prices; date-scoped discovery rejects live.

list_events

Finds dated event summaries and available market IDs for one sport.

Do not select an event from memory or a similarly named result; resolve the exact participant, date, and timezone first.

get_main_lines

Fetches open per-affiliate main lines for one exact event ID.

Do not call it before list_events, or use it to search for an event; it requires the exact returned ID.

list_futures

Lists scoped futures competition boards with public schedule, settlement, and open main-line fields.

Do not use it for ordinary dated event discovery or assume a catalog/settlement status alone proves the board is fully settled.

list_markets keeps catalog discovery and can also discover markets available for one sport_id and date; date-based discovery rejects live because that endpoint does not classify live markets. Event queries always use main_line=true, hide_closed=true, and include=all_periods. list_futures is an Ultra+ competition endpoint with scoped defaults [1141] and [19,23], opaque cursor pagination, public schedule/settlement fields, and open per-affiliate main lines without line IDs. Defaults for dated event tools remain markets [1,2,3] and affiliates [19,23]. Pass live markets [41,42,43] explicitly. Retired affiliate 27 is rejected and excluded from discovery.

First conversation

Use TheRundown to list current sports and affiliates. Find MLB (sport 3).
For today's UTC date, list events with market_ids [1,2,3]
and affiliate_ids [19,23]. Select an event ID from that response and
call get_main_lines with the same filters.
Show the source URL, each book's line value and price updated_at,
and the returned usage headers. Explain empty results without inventing odds.

npm test runs offline. To check actual Product API data, privately set THERUNDOWN_API_KEY and run npm run smoke. The default checks pre-match [1,2,3] for MLB and affiliates [19,23]. Free includes delayed pre-match odds and excludes live odds, props/alternates, and history; a source catalog row does not grant access to it.

With an eligible key, THERUNDOWN_SMOKE_LIVE=1 npm run smoke also requests live [41,42,43]. THERUNDOWN_SMOKE_DATE=YYYY-MM-DD and THERUNDOWN_SMOKE_SPORT_ID select the dated scope. For a bounded Ultra+ competition check, set THERUNDOWN_SMOKE_FUTURES=1 and a sport such as 40 (PGA) or 41 (Formula 1); it requests only market 1141 and affiliates 19,23. The check has a 60-second deadline, verifies all six tool names, and reports its UTC check time, scope, selected event ID, source URLs, usage, and counts. Require status: "ok", six tools, and positive event/main-line counts. Empty data is inconclusive and exits 2. These requests are opt-in and metered.

Usage, API plan delays, and entitlements apply to every request. Catalog, date-market, event, and main-line pages paginate locally, so each page refetches a snapshot and is separately metered. list_futures uses the API's upstream opaque cursor and page limit; each cursor page is still a metered request and is only a partial competition listing when has_more is true. Results expose safe source URLs, retrieval timestamps, API usage headers, and per-price updated_at; a retrieval timestamp is not evidence that a price is fresh.

Related MCP server: sipap-data-mcp

Agent brief and errors in 0.2.1

Read therundown://brief through MCP resources for the current Build with AI rules and first conversation. Initialization returns the same instructions; neither operation calls the Product API.

HTTP failures return status, plan, missing_entitlement, required_plan, retry_after (seconds), remaining_points, monthly_remaining_points, and limit_reason, alongside the safe source URL, retrieval time, and usage headers. Fields stay null when the API does not supply a recognized value. The server does not guess the current plan from a denied feature. Raw upstream error bodies are never returned, and errors do not trigger automatic retries.

An empty successful result retains its normal data shape and adds empty with a code, explanation, and request scope. Dated results report the sport, date, and date-boundary offset (UTC at zero); a page beyond existing results is identified separately from an empty slate. Empty odds do not establish absent coverage.

See the setup guide, DESIGN.md, authentication, and billing. Read the OpenAPI specification, sports catalog, markets catalog, affiliates catalog, TheRundown llms.txt, and documentation llms.txt for current public contracts and IDs.

Available Tools

6 tools
get_main_linesA
Read-onlyIdempotent

Fetch open per-affiliate main lines for one event_id. Do not call until list_events returned that exact ID, and do not treat retrieved_at as price freshness. Preserves participant identity, line value and price updated_at. Request live markets 41/42/43 explicitly; each local page is metered.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
event_idYesExact event_id from list_events; never a URL.
market_idsNoCanonical market IDs. Prematch 1/2/3; live 41/42/43. Discover with list_markets.
affiliate_idsNoCanonical affiliate IDs; defaults to 19 and 23. Discover current IDs with list_affiliates.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already convey a safe read-only, idempotent operation. The description adds value beyond that by disclosing that retrieved_at is not price freshness, that pages are metered, and what data is preserved (participant identity, line value, price updated_at). These are meaningful behavioral notes not present in 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?

The description is three concise sentences, each serving a distinct purpose: the action, the call-order constraint, data semantics, and operational cautions. It is front-loaded and contains zero filler, making it efficiently readable by an agent.

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?

The description covers the essential aspects: when to call, what data is returned (participant, line value, timestamps), and operational constraints like metering. It lacks a detailed return format description and explicit pagination details, but given the tool's simplicity and that the data-property hint implies the return structure, it is reasonably 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?

The description adds context for event_id (must originate from list_events) and market_ids (explicitly request live markets 41/42/43), going slightly beyond the schema's descriptions. However, page and limit lack schema descriptions, and the description only hints at pagination through the metering note without explaining those parameters. Given the 60% coverage, it partially compensates but not fully.

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

Purpose5/5

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

The description clearly states the action (Fetch), the resource (open per-affiliate main lines), and the scope (for one event_id). It distinguishes itself from siblings like list_events and list_markets by its specific focus on main lines, leaving no ambiguity about what the tool does.

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?

The description provides explicit guidance: only call after list_events returns the exact ID, don't treat retrieved_at as price freshness, request live markets 41/42/43 explicitly, and be mindful of page metering. It lacks an explicit 'when not to use' or alternative tool mention, but the context is sufficient for correct invocation.

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

list_affiliatesA
Read-onlyIdempotent

List currently published affiliate IDs and names, excluding retired affiliates. Do not use a catalog row as proof of plan access or an open offer for a sport or market.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds valuable behavioral context beyond that: the result is current and excludes retired affiliates, and the warning about not treating catalog rows as proof of a plan or opportunity. No contradictions exist.

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 concise sentences, the first front-loads the action and scope, the second is a purposeful caveat. Every phrase earns its place and nothing is redundant.

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

Completeness5/5

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

For a parameter-less list tool, the description fully covers the output content (IDs and names), the output scope (currently published, excluding retired), and includes an important caveat on interpretation. No output schema is required, and the description gives enough context to call the tool correctly.

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 params and schema coverage is 100%, so the baseline is 4. The description does not need to explain any parameters or add field-level details.

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 uses a specific verb and resource: 'List currently published affiliate IDs and names'. It clearly scopes the list to current, non-retired affiliates, which makes it distinguishable from sibling tools like list_sports or list_markets without needing to open their schemas.

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

Usage Guidelines3/5

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

The usage is implied by the tool's purpose, and the caveat warns against using catalog rows as proof of plan access or open offer. However, it does not explicitly compare with sibling list tools or state when to switch to alternatives, so it misses the top levels of guidance.

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

list_eventsA
Read-onlyIdempotent

Find event IDs and summaries for one sport and date. Do not use this tool for futures or as a price quote; use the returned exact event ID with get_main_lines. Defaults to open main lines for prematch markets 1/2/3 and affiliates 19/23. Each local page refetches a metered snapshot.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesCalendar date. Without offset, the day starts at midnight UTC.
pageNo
limitNo
offsetNoDate-boundary offset in minutes; default UTC.
sport_idYes
market_idsNoCanonical market IDs. Prematch 1/2/3; live 41/42/43. Discover with list_markets.
affiliate_idsNoCanonical affiliate IDs; defaults to 19 and 23. Discover current IDs with list_affiliates.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent behavior. The description adds useful nuance: it returns open main lines by defaultable market/affiliate IDshare and warns that each local page refetches a metered snapshot. It does not contradict 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?

Three short sentences, front-loaded with the core purpose; every sentence adds useful information with no filler.

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-output-schema tool, it explains the returned value, tells when not to use it, points to get_main_lines for follow-up, and notes pagination/metering. Minor gaps remain around exact response 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 covers date, offset, and list IDs, and the description adds context for market/affiliate defaults and the sport/date scope. However, sport_id and pagination parameters are only implied; with 57% schema coverage the description could explain more.

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 first sentence clearly states what the tool returns ('event IDs and summaries') and its scope ('one sport and date'), which also sets it apart from list_futures.

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

Usage Guidelines5/5

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

Explicitly warns against using it for futures or price quotes and directs the agent to use the returned event IDs with get_main_lines. This is concrete, actionable routing guidance.

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

list_futuresA
Read-onlyIdempotent

Read one sport's scoped futures competition page. Do not use this for dated event discovery or treat a partial page as a complete listing. Futures require an eligible Ultra plan or higher and use opaque cursor pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
sport_idYes
market_idsNoCanonical futures market IDs; defaults to 1141. Discover with list_markets.
affiliate_idsNoCanonical affiliate IDs; defaults to 19 and 23. Discover current IDs with list_affiliates.
include_settledNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety and world-openness, but the description adds real behavioral context: it requires an eligible Ultra plan and uses opaque cursor pagination. This goes beyond the structured annotations and helps the agent predict authorization and iteration 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?

Three short, information-dense sentences. Each sentence carries scoping, exclusion, operational requirements, and pagination without fluff.

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 list tool with no output schema, this covers the critical agent needs: what it lists, what it does not handle, access requirement, and pagination. It does not mention return shape, but that's acceptable with no output schema and simple list semantics.

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 33% — only market_ids and affiliate_ids have descriptions. The description mentions futures page and cursor pagination, which helps with cursor, but leaves sport_id, limit, and include_settled unexplained in prose. Existing schema defaults compensate partially.

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 states a specific verb ('Read') and resource ('futures competition page' scoped by sport). It explicitly separates itself from dated event discovery, which is enough to distinguish it from list_events and other list tools.

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?

It gives clear when-not-to-use guidance ('do not use for dated event discovery') and warns against treating partial pages as complete. It does not name sibling tools explicitly, but the exclusions semantically route to list_events.

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

list_marketsA
Read-onlyIdempotent

Discover market definitions, or available markets for one sport and date. Do not use definitions as price quotes or combine live with date-based discovery. Catalog sport/live filters use catalog metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
liveNo
pageNo
limitNo
offsetNoDate-boundary offset in minutes; used only with date-based discovery.
sport_idNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond annotations: market definitions are not price quotes, live and date-based discovery are incompatible, and sport/live filters rely on catalog metadata. These are valuable operational warnings an agent would not otherwise know.

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-loaded with the primary purpose. The first two sentences are efficient and informative, but the third sentence, 'Catalog sport/live filters use catalog metadata,' is vague and likely to confuse an agent without adding clear value.

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?

With no output schema and six optional parameters, the description gives useful warnings but does not explain what result shape to expect, how to select between 'market definitions' and 'available markets,' or pagination behavior. It is adequate for a simple list tool but leaves notable gaps for fully correct invocation.

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 only 17%, so the description must compensate for six parameters. It explains the relevance of sport, date, and live, and touches on date-based offset behavior, but it does not describe page/limit pagination or clarify how the two discovery modes map to specific parameter combinations. Partial compensation, not full.

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 identifies the tool as discovering market definitions or available markets for a sport/date, with a specific verb and resource. It distinguishes the two discovery modes but does not explicitly differentiate from sibling tools such as list_events or get_main_lines, 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 Guidelines4/5

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

The description gives clear when-not guidance: do not treat definitions as price quotes, do not combine live with date-based discovery, and use catalog metadata for catalog filters. It provides useful usage context but never names a specific alternative tool, such as get_main_lines for prices, so it lacks full alternative routing.

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

list_sportsA
Read-onlyIdempotent

List current canonical sport IDs and names. Do not use a catalog row as evidence of current events, prices, or plan access.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, and idempotent behavior. The description adds meaningful context beyond that: the rows are 'canonical' and must not be used as evidence of live prices, current events, or plan access. This gives an agent a useful behavioral constraint that annotations alone do not express.

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

Conciseness5/5

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

The description is two short sentences with no filler. The purpose is front-loaded, and the second sentence earns its place by preventing a realistic misuse of the returned catalog data.

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 list tool with no output schema, the description specifies the output contents and adds an important usage caveat. It does not describe pagination or response format, but the lack of parameters and the simplicity of the output make the description sufficiently complete.

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 and the schema coverage is trivially complete, so the baseline of 4 applies. The description's mention of 'current canonical sport IDs and names' clarifies exactly what the returned rows represent, which is sufficient for parameter-free operation.

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

Purpose5/5

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

The description opens with a specific verb and object: 'List current canonical sport IDs and names.' It clearly states both the action and the exact output content, making it obvious what this tool does and distinguishing it from sibling list tools that target different entities like markets, affiliates, or futures.

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?

The description provides a clear negative usage guideline: the returned catalog rows should not be treated as evidence of current events, prices, or plan access. It does not explicitly name sibling tools or state when to choose this one over them, but the resource type (sports) and output scope are unambiguous enough for an agent to route correctly.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv0.2.1
    • First observedget_main_lines
    • First observedlist_affiliates
    • First observedlist_events
    • First observedlist_futures
    • First observedlist_markets
    • First observedlist_sports

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct entity type: sports, affiliates, markets, events, main lines, and futures. The descriptions reinforce clear boundaries, so an agent is unlikely to confuse one tool with another.

Naming Consistency5/5

Tool names follow a consistent list_* pattern for collection-style operations, with get_main_lines appropriately using get_ for a single-resource fetch. This is a predictable and coherent naming convention.

Tool Count5/5

Six tools is well-scoped for a sports/odds data server. Each tool covers a necessary part of the domain without unnecessary redundancy or sprawl.

Completeness4/5

The surface covers core reference data, event discovery, market definitions, main lines, and futures, covering the main workflows. Minor gaps exist such as no direct historical odds fetch or event detail tool, but agents can work within the provided flow.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only access to the Sleeper Fantasy Sports API for league info, rosters, matchups, drafts, transactions, and player data.
    18
    71
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to sports data, odds intelligence, and historical stats via 10 MCP tools, with fast response times through Redis caching.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Provides read-only access to the Handigraphs Stats API v1, enabling discovery of sports resources and querying of protected sports statistics.
    3
    37
    Apache 2.0
  • F
    license
    A
    quality
    C
    maintenance
    Enables read-only access to Sleeper fantasy sports data, including users, leagues, rosters, matchups, transactions, drafts, players, trending activity, playoff brackets, traded picks, and sport state via MCP tools.
    18
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheRundown/data-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server