Skip to main content
Glama
therundown-data

therundown-data

Official

Official TheRundown Data MCP

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

The 0.4.0 source candidate registers 75 public REST operation tools, four bounded actual WebSocket capture tools, and six existing convenience tools. It uses the official MCP SDK and Node.js 22+. COVERAGE.md lists exact routes, aliases, retired/private exclusions and transport limits.

The hosted account connection is https://mcp.therundown.io/oauth/mcp; legacy / and /mcp accept Product API keys in authenticated headers.

On 2026-10-28, public initialize and tools/list metadata at https://mcp.therundown.io/mcp reported v0.4.0 and 85 tools, all annotated read-only; the check made zero Product calls. This count does not verify the exact source/image commit, every tool's Product behavior, OAuth, or directory approval. An earlier live check on 2026-10-03 reported v0.3.0 and six tools; that inventory is historical. Current discovery metadata is at therundown.io/.well-known/mcp.json. A personal connection is not a directory listing. The separate documentation MCP at https://docs.therundown.io/mcp cannot return Product prices.

ChatGPT uses Streamable HTTP. Each capture opens a real upstream WebSocket, observes at most five seconds / 50 messages / 256 KiB, then closes. It is not a continuous background feed. See COVERAGE.md for channel, snapshot and resume limits, and HOSTED.md for deployment requirements.

Anonymous metadata and ping make no Product calls. Every data tool requires local key authentication or the connected account on the OAuth route. Keep credentials out of prompts, URLs, source, logs and browser bundles.

The historical source ZIP below remains 0.2.3 and does not include this candidate. There is no published npm package. That ZIP is stdio-only; npm start does not start the HTTP adapter.

Download the versioned source bundle, verify its SHA-256 checksum, and extract it. The official ZIP is 41,072 bytes and its SHA-256 is cb0a0841aa040f049ffddec5b5fa2436cb9de721a30a3bd53270132db7204025. 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.3/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.3/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. Without a key, the process stays available for MCP metadata discovery and returns a sanitized missing_credentials error for Product tool calls without making a network request.

The original six convenience 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 the reviewed source tool manifest, and reports its UTC check time, scope, selected event ID, source URLs, usage, and counts. Require status: "ok", the full source tool manifest, 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: handigraphs-stats-api-mcp

Agent brief and errors (since 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_linesGet main linesA
Read-onlyIdempotent
Inspect

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.

Inputs: event_id (required), page, limit, market_ids, +1 more. Returns: data, plan, empty, error, +12 more

list_affiliatesList affiliatesA
Read-onlyIdempotent
Inspect

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.

Inputs: no named parameters. Returns: data, plan, empty, error, +12 more

list_eventsList eventsA
Read-onlyIdempotent
Inspect

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.

Inputs: date (required), sport_id (required), page, limit, +3 more. Returns: data, plan, empty, error, +12 more

list_futuresList futuresA
Read-onlyIdempotent
Inspect

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.

Inputs: sport_id (required), limit, cursor, market_ids, +2 more. Returns: data, plan, empty, error, +12 more

list_marketsList marketsA
Read-onlyIdempotent
Inspect

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.

Inputs: date, live, page, limit, +2 more. Returns: data, plan, empty, error, +12 more

list_sportsList sportsA
Read-onlyIdempotent
Inspect

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

Inputs: no named parameters. Returns: data, plan, empty, error, +12 more

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 6 tools

    Disambiguation4/5

    The tools have distinct core functions: listing sports, affiliates, markets, events, futures, and fetching main lines. However, list_markets and list_futures both involve markets, and list_events and get_main_lines are closely related, which could cause some confusion for an agent about when to use each.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern (list_sports, list_affiliates, list_markets, list_events, get_main_lines, list_futures). The only slight deviation is get_main_lines, but it still fits the verb_noun structure.

    Tool Count5/5

    Six tools is a well-scoped number for a data retrieval server covering sports, affiliates, markets, events, and futures. Each tool serves a distinct purpose without excessive redundancy.

    Completeness4/5

    The server covers discovery of sports, affiliates, markets, events, and futures, plus retrieval of main lines. However, it lacks tools for accessing other types of odds or markets beyond main lines, and no write operations are present, though that may be outside the domain scope.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Provides read-only access to the Sleeper Fantasy Sports API for league info, rosters, matchups, drafts, transactions, and player data.
      18
      135 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Provides read-only access to the Handigraphs Stats API v1, enabling discovery of sports resources and querying of protected sports statistics.
      19
      16 npm
      Apache 2.0
    • F
      license
      A
      quality
      D
      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
      -
    • A
      license
      A
      quality
      B
      maintenance
      Enables MCP-compatible clients to access sports betting odds, player props, prediction markets, live previews, coverage checks, and ParlayAPI account signup through native tools.
      22
      50 PyPI
      1
      MIT