stat-api — Sports Data

NFL/NBA/MLB/NHL/PGA + DFS and prediction-market data. Browse free; query with a free API key.

我该使用它吗

质量与安全性

B
描述质量
100%
模式完整度
72%
命名质量
91%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 query_table 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,252token 数(工具定义)
~686 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.98%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "sports-data": {
      "url": "https://api.stat-api.com/mcp"
    }
  }
}

远程端点

https://api.stat-api.com/mcpstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢list_leagues

List every league/data group this API serves (nfl, nba, mlb, nhl, pga, dfs, kalshi, polymarket, reference) with table counts and availability. No credentials needed. Start here, then call list_tables.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_tables(league)

List every queryable table in one league with a one-line summary each. No credentials needed. Follow with describe_table before querying.

输入模式

{
  "type": "object",
  "properties": {
    "league": {
      "enum": [
        "nfl",
        "nba",
        "mlb",
        "nhl",
        "pga",
        "dfs",
        "kalshi",
        "polymarket",
        "reference"
      ],
      "type": "string"
    }
  },
  "required": [
    "league"
  ],
  "additionalProperties": false
}
🟢describe_table(league, table)

Full contract for one table: fields with types and descriptions, the filters query_table accepts (with operators like __gte/__lte/__between/__like and required filter combinations), page-size limits, primary key, and a runnable example URL. No credentials needed. Always call this before query_table — filters not listed here are rejected.

输入模式

{
  "type": "object",
  "properties": {
    "league": {
      "enum": [
        "nfl",
        "nba",
        "mlb",
        "nhl",
        "pga",
        "dfs",
        "kalshi",
        "polymarket",
        "reference"
      ],
      "type": "string"
    },
    "table": {
      "type": "string"
    }
  },
  "required": [
    "league",
    "table"
  ],
  "additionalProperties": false
}
🟡query_table(filters, from_id, league, limit, table)

Query any table. Returns `{"<table>": [rows], "limit": N, "next_from_id": M|null, "has_more": bool}`. To read every row, start with from_id=0 and re-call with from_id set to the previous next_from_id until it is null. A call without from_id returns the first page in the table's default sort with next_from_id null. filters is a flat object of `field` or `field__op` keys from describe_table (e.g. {"season_id": 2024, "day__between": "20250101,20250131"}). Requires an API key (Authorization: Bearer <key>; free tier at https://stat-api.com). Every returned row counts against the monthly record quota.

输入模式

{
  "type": "object",
  "properties": {
    "filters": {
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean"
        ]
      },
      "description": "field or field__op keys → scalar values; see describe_table",
      "type": "object"
    },
    "from_id": {
      "description": "keyset cursor: 0 for the first page of a full walk, then the previous next_from_id",
      "type": "integer"
    },
    "league": {
      "enum": [
        "nfl",
        "nba",
        "mlb",
        "nhl",
        "pga",
        "dfs",
        "kalshi",
        "polymarket",
        "reference"
      ],
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "table": {
      "type": "string"
    }
  },
  "required": [
    "league",
    "table"
  ],
  "additionalProperties": false
}
🟢get_record(id, league, table)

Fetch a single row by primary key. Returns the row object. Requires an API key; costs 1 record of quota.

输入模式

{
  "type": "object",
  "properties": {
    "id": {
      "description": "primary-key value (integer or text PK)",
      "type": "string"
    },
    "league": {
      "enum": [
        "nfl",
        "nba",
        "mlb",
        "nhl",
        "pga",
        "dfs",
        "kalshi",
        "polymarket",
        "reference"
      ],
      "type": "string"
    },
    "table": {
      "type": "string"
    }
  },
  "required": [
    "league",
    "table",
    "id"
  ],
  "additionalProperties": false
}
🟢search_players(league, limit, name)

Fuzzy player-name search (typo-tolerant). Currently NBA only — for other leagues query the players table with a name filter via query_table. Returns player rows ordered by match quality. Requires an API key; rows count against quota.

输入模式

{
  "type": "object",
  "properties": {
    "league": {
      "default": "nba",
      "enum": [
        "nba"
      ],
      "type": "string"
    },
    "limit": {
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "name": {
      "maxLength": 100,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false
}
🟢games_on_date(date, league)

Games scheduled/played on one calendar date (US-Eastern) for nba, mlb, or nhl; defaults to today. Returns the same envelope as query_table on the games table. NFL is week-based, not date-based — for nfl, use query_table on nfl/games with season_id + week filters instead. Requires an API key; rows count against quota.

输入模式

{
  "type": "object",
  "properties": {
    "date": {
      "description": "YYYY-MM-DD; defaults to today in US-Eastern time",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "league": {
      "enum": [
        "nba",
        "mlb",
        "nhl"
      ],
      "type": "string"
    }
  },
  "required": [
    "league"
  ],
  "additionalProperties": false
}
🟡graphql_query(query, variables)

Run a GraphQL query against the same data with relations — nest from a game to its teams/players/odds in one call. Root fields are leagues (nfl, nba, …), each exposing its tables with the same filter arguments as REST plus `first`/`after` pagination. Do NOT send introspection queries (the schema is huge) — use describe_table instead; the SDL is at https://api.stat-api.com/api/v1/graphql/sdl. Requires an API key; every row resolved anywhere in the tree counts against quota.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "variables": {
      "type": "object"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
⚪api_usage

Your key's quota position: plan, monthly record limit, records used, remaining, and when the quota resets. Requires an API key; costs 1 record.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具
已验证未记录版本9 个工具