返回 MCP 目录
public公开dns本地运行

mcp

一个提供BALLDONTLIE体育数据API访问的MCP服务器,涵盖NBA、WNBA、NFL、MLB等15个主要体育联赛的200多个数据端点,包括球队、球员、比赛、统计数据、赔率等全面信息。

article

README

🚀 BALLDONTLIE体育MCP服务器

BALLDONTLIE体育MCP服务器是一个模型上下文协议(MCP)服务器,它提供对BALLDONTLIE API中全面体育数据的访问。这些数据涵盖了NBA、WNBA、NFL、MLB、EPL、NHL、NCAAF、NCAAB、MMA、2026年国际足联世界杯、西甲、意甲、欧冠、德甲和法甲等赛事的统计数据、球员信息、比赛数据等。

✨ 主要特性

  • 200多个体育端点:可完全访问所有BALLDONTLIE API端点。
  • 15项主要体育赛事/联赛:包括NBA、WNBA、NFL、MLB、EPL、NHL、NCAAF、NCAAB、MMA、2026年国际足联世界杯、西甲、意甲、欧冠、德甲和法甲。
  • 全面的数据:涵盖球队、球员、比赛、统计数据、排名、伤病情况、博彩赔率和高级分析等。
  • 身份验证:可无缝将API密钥转发到后端。
  • 分页功能:完全支持基于游标(cursor)的分页。
  • 错误处理:能正确转发和处理错误。
  • TypeScript支持:具备完整的类型安全和智能感知(IntelliSense)支持。

📦 安装指南

npm install @balldontlie/mcp-server

🚀 快速开始

1. 获取API密钥

BALLDONTLIE上注册,以获取免费的API密钥。

2. 配置MCP客户端

选项A:使用托管的远程服务器(推荐)

将以下配置添加到你的MCP客户端配置文件(例如Claude Desktop)中,以使用托管服务器:

{
  "mcpServers": {
    "balldontlie-api": {
      "url": "https://mcp.balldontlie.io/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "<YOUR_BALLDONTLIE_API_KEY>"
      }
    }
  }
}

请将<YOUR_BALLDONTLIE_API_KEY>替换为你从BALLDONTLIE获取的实际API密钥。

选项B:从源代码运行

克隆并从源代码运行:

git clone https://github.com/balldontlie-api/mcp-server.git
cd mcp-server
npm install
npm run build
npm start

配置你的MCP客户端以连接到本地服务器:

{
  "mcpServers": {
    "balldontlie-api": {
      "url": "http://localhost:3000/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "<YOUR_BALLDONTLIE_API_KEY>"
      }
    }
  }
}

3. 在你的MCP客户端中使用

服务器将自动提供所有可用的工具。你可以向你的AI助手提出以下问题:

  • "获取当前NBA的排名情况"
  • "展示勒布朗·詹姆斯的赛季数据"
  • "今天有哪些NFL比赛?"
  • "获取曼联最近的英超比赛信息"
  • "展示阿贾·威尔逊的WNBA赛季数据"
  • "当前WNBA的排名如何?"
  • "展示NCAAB锦标赛的赛程表"
  • "获取今晚NBA比赛的博彩赔率"

📚 详细文档

环境变量

| 属性 | 详情 | |------|------| | 端口(PORT) | 本地运行时的服务器端口,默认值为3000 | | 后端API URL(BACKEND_API_URL) | BALLDONTLIE API的基础URL,默认值为https://api.balldontlie.io | | API超时时间(API_TIMEOUT) | 请求超时时间(毫秒),默认值为30000 | | 日志级别(LOG_LEVEL) | 日志记录级别(错误、警告、信息、调试),默认值为info | | 节点环境(NODE_ENV) | 环境(开发、生产、测试),默认值为development | | 启用调试(ENABLE_DEBUG) | 是否启用调试日志记录,默认值为false | | 启用跟踪(ENABLE_TRACING) | 是否启用DataDog APM跟踪(需要设置DD_AGENT_HOST),默认值为false | | DataDog代理主机名(DD_AGENT_HOST) | 用于APM跟踪的DataDog代理主机名 | | 启用DataDog分析(DD_PROFILING_ENABLED) | 是否启用DataDog分析,默认值为false | | 服务版本(SERVICE_VERSION) | 用于跟踪的服务版本,默认值为1.0.0 |

可用工具

NBA(23个工具)

| 工具 | 描述 | 参数 | | --------------------------- | --------------------------------- | ---------------------------------------------------------------------------------- | | nba_get_teams | 获取所有NBA球队 | division(分区), conference(联盟) | | nba_get_team_by_id | 获取特定的NBA球队 | id(必需) | | nba_get_players | 按筛选条件获取NBA球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), 分页参数 | | nba_get_player_by_id | 获取特定的NBA球员 | id(必需) | | nba_get_active_players | 获取现役NBA球员 | 与nba_get_players参数相同 | | nba_get_games | 获取NBA比赛 | dates(日期), seasons(赛季), team_ids(球队ID), postseason(季后赛), start_date(开始日期), end_date(结束日期), 分页参数 | | nba_get_game_by_id | 获取特定的NBA比赛 | id(必需) | | nba_get_stats | 获取NBA统计数据 | dates(日期), seasons(赛季), team_ids(球队ID), player_ids(球员ID), game_ids(比赛ID), postseason(季后赛), 分页参数 | | nba_get_season_averages | 获取赛季平均数据 | season(赛季,必需), category(类别,必需), type(类型,必需), player_ids(球员ID), season_type(赛季类型) | | nba_get_advanced_stats | 获取高级统计数据 | 与nba_get_stats参数相同 | | nba_get_box_scores | 获取比赛数据统计 | dates(日期), seasons(赛季), team_ids(球队ID), game_ids(比赛ID), postseason(季后赛), 分页参数 | | nba_get_live_box_scores | 获取实时比赛数据统计 | 与nba_get_box_scores参数相同 | | nba_get_standings | 获取球队排名 | season(赛季), conference(联盟), division(分区) | | nba_get_leaders | 获取数据领先者 | season(赛季), stat_type(统计类型), per_page(每页数量) | | nba_get_player_injuries | 获取球员伤病情况 | player_ids(球员ID), team_ids(球队ID), 分页参数 | | nba_get_betting_odds | 获取比赛博彩赔率 | dates(日期), game_ids(比赛ID), 分页参数 | | nba_get_lineups | 获取比赛阵容 | game_ids(比赛ID,必需), 分页参数 | | nba_get_player_props | 获取球员博彩赔率 | game_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) | | nba_get_contracts_by_team | 按球队获取球员合同 | team_id(球队ID,必需), season(赛季) | | nba_get_contracts_by_player | 按球员获取合同 | player_id(球员ID,必需), seasons(赛季), 分页参数 | | nba_get_contracts_aggregate | 获取汇总的合同数据 | player_id(球员ID,必需) | | nba_get_plays | 获取逐回合比赛数据 | game_id(比赛ID,必需) |

NFL(17个工具)

| 工具 | 描述 | 参数 | | ---------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------- | | nfl_get_teams | 获取所有NFL球队 | division(分区), conference(联盟) | | nfl_get_team_by_id | 获取特定的NFL球队 | id(必需) | | nfl_get_players | 获取NFL球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), position(位置), 分页参数 | | nfl_get_player_by_id | 获取特定的NFL球员 | id(必需) | | nfl_get_active_players | 获取现役NFL球员 | 与nfl_get_players参数相同 | | nfl_get_games | 获取NFL比赛 | dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), postseason(季后赛), start_date(开始日期), end_date(结束日期), 分页参数 | | nfl_get_game_by_id | 获取特定的NFL比赛 | id(必需) | | nfl_get_stats | 获取NFL统计数据 | dates(日期), seasons(赛季), team_ids(球队ID), player_ids(球员ID), game_ids(比赛ID), weeks(周数), postseason(季后赛), 分页参数 | | nfl_get_season_stats | 获取赛季统计数据 | season(赛季), player_ids(球员ID), team_ids(球队ID), postseason(季后赛), 分页参数 | | nfl_get_standings | 获取球队排名 | season(赛季), conference(联盟), division(分区) | | nfl_get_player_injuries | 获取球员伤病情况 | player_ids(球员ID), team_ids(球队ID), 分页参数 | | nfl_get_advanced_rushing_stats | 获取高级冲球统计数据 | season(赛季), week(周数), player_ids(球员ID), team_ids(球队ID), position(位置), 分页参数 | | nfl_get_advanced_passing_stats | 获取高级传球统计数据 | 与冲球统计参数相同 | | nfl_get_advanced_receiving_stats | 获取高级接球统计数据 | 与冲球统计参数相同 | | nfl_get_betting_odds | 获取比赛博彩赔率 | season(赛季), week(周数), game_ids(比赛ID), 分页参数 | | nfl_get_team_roster | 获取球队阵容/深度表 | id(球队ID,必需), season(赛季) | | nfl_get_player_props | 获取球员博彩赔率 | game_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型), vendors(博彩公司) |

MLB(12个工具)

| 工具 | 描述 | 参数 | | --------------------------- | ----------------------- | ----------------------------------------------------------------------------------------------- | | mlb_get_teams | 获取所有MLB球队 | division(分区), league(联盟) | | mlb_get_team_by_id | 获取特定的MLB球队 | id(必需) | | mlb_get_players | 获取MLB球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), position(位置), active(是否现役), 分页参数 | | mlb_get_player_by_id | 获取特定的MLB球员 | id(必需) | | mlb_get_active_players | 获取现役MLB球员 | 与mlb_get_players参数相同 | | mlb_get_games | 获取MLB比赛 | dates(日期), seasons(赛季), team_ids(球队ID), postseason(季后赛), start_date(开始日期), end_date(结束日期), 分页参数 | | mlb_get_game_by_id | 获取特定的MLB比赛 | id(必需) | | mlb_get_stats | 获取MLB统计数据 | dates(日期), seasons(赛季), team_ids(球队ID), player_ids(球员ID), game_ids(比赛ID), postseason(季后赛), 分页参数 | | mlb_get_season_stats | 获取赛季统计数据 | season(赛季), player_ids(球员ID), team_ids(球队ID), postseason(季后赛), 分页参数 | | mlb_get_team_season_stats | 获取球队赛季统计数据 | season(赛季), team_ids(球队ID), postseason(季后赛), 分页参数 | | mlb_get_standings | 获取球队排名 | season(赛季), league(联盟), division(分区) | | mlb_get_player_injuries | 获取球员伤病情况 | player_ids(球员ID), team_ids(球队ID), 分页参数 |

EPL(17个工具)

| 工具 | 描述 | 参数 | | ------------------------------ | ---------------------------- | ----------------------------------------------------------------------------- | | epl_get_teams | 获取所有英超球队 | 分页参数 | | epl_get_team_by_id | 获取特定的英超球队 | id(必需) | | epl_get_team_players | 获取球队球员 | id(球队ID,必需), 分页参数 | | epl_get_team_season_stats | 获取球队赛季统计数据 | id(球队ID,必需), season(赛季), stat_types(统计类型) | | epl_get_team_stats_leaders | 获取球队数据领先者 | season(赛季), stat_type(统计类型), per_page(每页数量) | | epl_get_standings | 获取英超排名 | season(赛季) | | epl_get_players | 获取英超球员 | search(搜索关键词), team_ids(球队ID), player_ids(球员ID), position(位置), 分页参数 | | epl_get_player_by_id | 获取特定的英超球员 | id(必需) | | epl_get_player_season_stats | 获取球员赛季统计数据 | id(球员ID,必需), season(赛季), stat_types(统计类型) | | epl_get_player_stats_leaders | 获取球员数据领先者 | season(赛季), stat_type(统计类型), per_page(每页数量) | | epl_get_games | 获取英超比赛 | dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), start_date(开始日期), end_date(结束日期), 分页参数 | | epl_get_game_by_id | 获取特定的英超比赛 | id(必需) | | epl_get_game_lineups | 获取比赛阵容 | id(比赛ID,必需) | | epl_get_game_goals | 获取比赛进球情况 | id(比赛ID,必需) | | epl_get_game_team_stats | 获取比赛球队统计数据 | id(比赛ID,必需) | | epl_get_game_player_stats | 获取比赛球员统计数据 | id(比赛ID,必需) | | epl_get_betting_odds | 获取比赛博彩赔率 | season(赛季), week(周数), game_ids(比赛ID), 分页参数 | | epl_get_player_props | 获取球员博彩赔率 | game_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

NHL(14个工具)

| 工具 | 描述 | 参数 | | ------------------------------ | ---------------------------- | ----------------------------------------------------------------------------------- | | nhl_get_teams | 获取所有NHL球队 | conference(联盟), division(分区), 分页参数 | | nhl_get_team_by_id | 获取特定的NHL球队 | id(必需) | | nhl_get_team_season_stats | 获取球队赛季统计数据 | id(球队ID,必需), season(赛季) | | nhl_get_team_stats_leaders | 获取球队数据领先者 | season(赛季), stat_type(统计类型), per_page(每页数量) | | nhl_get_players | 获取NHL球员 | search(搜索关键词), team_ids(球队ID), player_ids(球员ID), position(位置), 分页参数 | | nhl_get_player_by_id | 获取特定的NHL球员 | id(必需) | | nhl_get_player_season_stats | 获取球员赛季统计数据 | id(球员ID,必需), season(赛季) | | nhl_get_player_stats_leaders | 获取球员数据领先者 | season(赛季), stat_type(统计类型), per_page(每页数量) | | nhl_get_games | 获取NHL比赛 | dates(日期), seasons(赛季), team_ids(球队ID), season_type(赛季类型), start_date(开始日期), end_date(结束日期), 分页参数 | | nhl_get_game_by_id | 获取特定的NHL比赛 | id(必需) | | nhl_get_standings | 获取NHL排名 | season(赛季), conference(联盟), division(分区) | | nhl_get_box_scores | 获取NHL比赛数据统计 | dates(日期), seasons(赛季), team_ids(球队ID), game_ids(比赛ID), season_type(赛季类型), 分页参数 | | nhl_get_betting_odds | 获取比赛博彩赔率 | dates(日期), game_ids(比赛ID), 分页参数 | | nhl_get_player_props | 获取球员博彩赔率 | game_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

WNBA(14个工具)

| 工具 | 描述 | 参数 | | ------------------------------- | ---------------------------- | -------------------------------------------------------------------------------- | | wnba_get_teams | 获取所有WNBA球队 | conference(联盟) | | wnba_get_team_by_id | 获取特定的WNBA球队 | id(必需) | | wnba_get_players | 获取WNBA球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), 分页参数 | | wnba_get_player_by_id | 获取特定的WNBA球员 | id(必需) | | wnba_get_active_players | 获取现役WNBA球员 | 与wnba_get_players参数相同 | | wnba_get_games | 获取WNBA比赛 | dates(日期), seasons(赛季), team_ids(球队ID), season_type(赛季类型), start_date(开始日期), end_date(结束日期), 分页参数 | | wnba_get_game_by_id | 获取特定的WNBA比赛 | id(必需) | | wnba_get_player_stats | 获取球员比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), player_ids(球员ID), team_ids(球队ID), 分页参数 | | wnba_get_team_stats | 获取球队比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), team_ids(球队ID), 分页参数 | | wnba_get_player_season_stats | 获取球员赛季统计数据 | player_ids(球员ID), team_ids(球队ID), season(赛季), season_type(赛季类型), 分页参数 | | wnba_get_team_season_stats | 获取球队赛季统计数据 | team_ids(球队ID), season(赛季), season_type(赛季类型), 分页参数 | | wnba_get_standings | 获取WNBA排名 | season(赛季), conference(联盟) | | wnba_get_player_injuries | 获取球员伤病情况 | player_ids(球员ID), team_ids(球队ID), 分页参数 | | wnba_get_plays | 获取逐回合比赛数据 | game_id(比赛ID,必需) |

NCAAF(17个工具)

| 工具 | 描述 | 参数 | | -------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------- | | ncaaf_get_conferences | 获取所有NCAAF联盟 | 无 | | ncaaf_get_conference_by_id | 获取特定的NCAAF联盟 | id(必需) | | ncaaf_get_teams | 获取所有NCAAF球队 | conference(联盟), 分页参数 | | ncaaf_get_team_by_id | 获取特定的NCAAF球队 | id(必需) | | ncaaf_get_players | 获取NCAAF球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), position(位置), 分页参数 | | ncaaf_get_active_players | 获取现役NCAAF球员 | 与ncaaf_get_players参数相同 | | ncaaf_get_player_by_id | 获取特定的NCAAF球员 | id(必需) | | ncaaf_get_standings | 获取NCAAF排名 | season(赛季), conference_id(联盟ID), 分页参数 | | ncaaf_get_games | 获取NCAAF比赛 | dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), start_date(开始日期), end_date(结束日期), 分页参数 | | ncaaf_get_game_by_id | 获取特定的NCAAF比赛 | id(必需) | | ncaaf_get_rankings | 获取NCAAF排名 | season(赛季), week(周数), 分页参数 | | ncaaf_get_plays | 获取逐回合比赛数据 | game_id(比赛ID,必需) | | ncaaf_get_player_stats | 获取球员比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), player_ids(球员ID), team_ids(球队ID), weeks(周数), 分页参数 | | ncaaf_get_team_stats | 获取球队比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), 分页参数 | | ncaaf_get_player_season_stats | 获取球员赛季统计数据 | season(赛季,必需), player_ids(球员ID), team_ids(球队ID), 分页参数 | | ncaaf_get_team_season_stats | 获取球队赛季统计数据 | season(赛季,必需), team_ids(球队ID), 分页参数 | | ncaaf_get_betting_odds | 获取比赛博彩赔率 | season(赛季), week(周数), game_ids(比赛ID), 分页参数 |

NCAAB(18个工具)

| 工具 | 描述 | 参数 | | --------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------- | | ncaab_get_conferences | 获取所有NCAAB联盟 | 无 | | ncaab_get_conference_by_id | 获取特定的NCAAB联盟 | id(必需) | | ncaab_get_teams | 获取所有NCAAB球队 | conference(联盟), 分页参数 | | ncaab_get_team_by_id | 获取特定的NCAAB球队 | id(必需) | | ncaab_get_players | 获取NCAAB球员 | search(搜索关键词), first_name(名), last_name(姓), team_ids(球队ID), player_ids(球员ID), position(位置), 分页参数 | | ncaab_get_player_by_id | 获取特定的NCAAB球员 | id(必需) | | ncaab_get_active_players | 获取现役NCAAB球员 | 与ncaab_get_players参数相同 | | ncaab_get_standings | 获取NCAAB排名 | season(赛季), conference_id(联盟ID), 分页参数 | | ncaab_get_games | 获取NCAAB比赛 | dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), start_date(开始日期), end_date(结束日期), 分页参数 | | ncaab_get_game_by_id | 获取特定的NCAAB比赛 | id(必需) | | ncaab_get_rankings | 获取NCAAB排名 | season(赛季), week(周数), 分页参数 | | ncaab_get_plays | 获取逐回合比赛数据 | game_id(比赛ID,必需) | | ncaab_get_player_stats | 获取球员比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), player_ids(球员ID), team_ids(球队ID), weeks(周数), 分页参数 | | ncaab_get_team_stats | 获取球队比赛统计数据 | game_ids(比赛ID), dates(日期), seasons(赛季), team_ids(球队ID), weeks(周数), 分页参数 | | ncaab_get_player_season_stats | 获取球员赛季统计数据 | season(赛季,必需), player_ids(球员ID), team_ids(球队ID), 分页参数 | | ncaab_get_team_season_stats | 获取球队赛季统计数据 | season(赛季,必需), team_ids(球队ID), 分页参数 | | ncaab_get_brackets | 获取锦标赛赛程表 | season(赛季), 分页参数 | | ncaab_get_betting_odds | 获取比赛博彩赔率 | dates(日期), game_ids(比赛ID), 分页参数 |

MMA(12个工具)

| 工具 | 描述 | 参数 | | --------------------------- | ------------------------------------- | ---------------------------------------------------------------- | | mma_get_leagues | 获取所有MMA联盟(如UFC等) | 无 | | mma_get_league_by_id | 获取特定的MMA联盟 | id(必需) | | mma_get_events | 获取MMA赛事 | date(日期), year(年份), 分页参数 | | mma_get_event_by_id | 获取特定的MMA赛事 | id(必需) | | mma_get_fighters | 获取MMA格斗选手 | search(搜索关键词), fighter_ids(选手ID), 分页参数 | | mma_get_fighter_by_id | 获取特定的MMA格斗选手 | id(必需) | | mma_get_fights | 获取MMA比赛 | fight_ids(比赛ID), fighter_ids(选手ID), event_ids(赛事ID), 分页参数 | | mma_get_fight_by_id | 获取特定的MMA比赛 | id(必需) | | mma_get_rankings | 获取MMA格斗选手排名 | 无 | | mma_get_fight_stats | 获取详细的比赛统计数据 | fight_ids(比赛ID), fighter_ids(选手ID), event_ids(赛事ID), 分页参数 | | mma_get_fight_stat_by_id | 获取特定的比赛统计数据 | id(必需) | | mma_get_betting_odds | 获取MMA博彩赔率 | event_id(赛事ID), fight_id(比赛ID) |

2026年国际足联世界杯(6个工具)

| 工具 | 描述 | 参数 | | --------------------------- | --------------------------------------------------------- | ---------- | | fifa_get_teams | 获取所有2026年国际足联世界杯参赛国家 | 无 | | fifa_get_stadiums | 获取所有2026年国际足联世界杯主办体育场 | 无 | | fifa_get_group_standings | 获取小组赛排名(需要ALL - STAR级别) | 无 | | fifa_get_matches | 获取所有比赛(包括小组赛和淘汰赛,需要GOAT级别) | 无 | | fifa_get_betting_odds | 获取比赛博彩赔率(需要GOAT级别) | 无 | | fifa_get_futures_odds | 获取未来博彩赔率(如锦标赛冠军等,需要GOAT级别) | 无 |

西甲(11个工具)

| 工具 | 描述 | 参数 | | --------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | | laliga_get_teams | 获取所有西甲球队 | season(赛季,必需) | | laliga_get_rosters | 获取球队阵容 | team_id(球队ID,必需), season(赛季), 分页参数 | | laliga_get_players | 获取西甲球员 | season(赛季,必需), team_ids(球队ID), search(搜索关键词), 分页参数 | | laliga_get_standings | 获取西甲排名 | season(赛季,必需) | | laliga_get_matches | 获取西甲比赛 | season(赛季), team_ids(球队ID), dates(日期), start_date(开始日期), end_date(结束日期), 分页参数 | | laliga_get_match_events | 获取比赛事件(进球、黄牌等) | match_ids(比赛ID), 分页参数 | | laliga_get_match_lineups | 获取比赛阵容 | match_ids(比赛ID), 分页参数 | | laliga_get_player_match_stats | 获取球员比赛统计数据 | match_ids(比赛ID), player_ids(球员ID), 分页参数 | | laliga_get_team_match_stats | 获取球队比赛统计数据 | match_ids(比赛ID), team_ids(球队ID), 分页参数 | | laliga_get_betting_odds | 获取比赛博彩赔率 | match_ids(比赛ID), dates(日期), 分页参数 | | laliga_get_player_props | 获取球员博彩赔率 | match_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

意甲(11个工具)

| 工具 | 描述 | 参数 | | --------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | | seriea_get_teams | 获取所有意甲球队 | season(赛季,必需) | | seriea_get_rosters | 获取球队阵容 | team_id(球队ID,必需), season(赛季), 分页参数 | | seriea_get_players | 获取意甲球员 | season(赛季,必需), team_ids(球队ID), search(搜索关键词), 分页参数 | | seriea_get_standings | 获取意甲排名 | season(赛季,必需) | | seriea_get_matches | 获取意甲比赛 | season(赛季), team_ids(球队ID), dates(日期), start_date(开始日期), end_date(结束日期), 分页参数 | | seriea_get_match_events | 获取比赛事件(进球、黄牌等) | match_ids(比赛ID), 分页参数 | | seriea_get_match_lineups | 获取比赛阵容 | match_ids(比赛ID), 分页参数 | | seriea_get_player_match_stats | 获取球员比赛统计数据 | match_ids(比赛ID), player_ids(球员ID), 分页参数 | | seriea_get_team_match_stats | 获取球队比赛统计数据 | match_ids(比赛ID), team_ids(球队ID), 分页参数 | | seriea_get_betting_odds | 获取比赛博彩赔率 | match_ids(比赛ID), dates(日期), 分页参数 | | seriea_get_player_props | 获取球员博彩赔率 | match_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

欧冠(12个工具)

| 工具 | 描述 | 参数 | | --------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | | ucl_get_teams | 获取所有欧冠球队 | season(赛季,必需) | | ucl_get_rosters | 获取球队阵容 | team_id(球队ID,必需), season(赛季), 分页参数 | | ucl_get_players | 获取欧冠球员 | season(赛季,必需), team_ids(球队ID), search(搜索关键词), 分页参数 | | ucl_get_standings | 获取欧冠排名 | season(赛季,必需) | | ucl_get_matches | 获取欧冠比赛 | season(赛季), team_ids(球队ID), dates(日期), start_date(开始日期), end_date(结束日期), 分页参数 | | ucl_get_match_events | 获取比赛事件(进球、黄牌等) | match_ids(比赛ID), 分页参数 | | ucl_get_match_lineups | 获取比赛阵容 | match_ids(比赛ID), 分页参数 | | ucl_get_player_match_stats | 获取球员比赛统计数据 | match_ids(比赛ID), player_ids(球员ID), 分页参数 | | ucl_get_team_match_stats | 获取球队比赛统计数据 | match_ids(比赛ID), team_ids(球队ID), 分页参数 | | ucl_get_betting_odds | 获取比赛博彩赔率 | match_ids(比赛ID), dates(日期), 分页参数 | | ucl_get_player_props | 获取球员博彩赔率 | match_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) | | ucl_get_futures_odds | 获取未来博彩赔率 | 无 |

德甲(11个工具)

| 工具 | 描述 | 参数 | | ----------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | | bundesliga_get_teams | 获取所有德甲球队 | season(赛季,必需) | | bundesliga_get_rosters | 获取球队阵容 | team_id(球队ID,必需), season(赛季), 分页参数 | | bundesliga_get_players | 获取德甲球员 | season(赛季,必需), team_ids(球队ID), search(搜索关键词), 分页参数 | | bundesliga_get_standings | 获取德甲排名 | season(赛季,必需) | | bundesliga_get_matches | 获取德甲比赛 | season(赛季), team_ids(球队ID), dates(日期), start_date(开始日期), end_date(结束日期), 分页参数 | | bundesliga_get_match_events | 获取比赛事件(进球、黄牌等) | match_ids(比赛ID), 分页参数 | | bundesliga_get_match_lineups | 获取比赛阵容 | match_ids(比赛ID), 分页参数 | | bundesliga_get_player_match_stats | 获取球员比赛统计数据 | match_ids(比赛ID), player_ids(球员ID), 分页参数 | | bundesliga_get_team_match_stats | 获取球队比赛统计数据 | match_ids(比赛ID), team_ids(球队ID), 分页参数 | | bundesliga_get_betting_odds | 获取比赛博彩赔率 | match_ids(比赛ID), dates(日期), 分页参数 | | bundesliga_get_player_props | 获取球员博彩赔率 | match_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

法甲(11个工具)

| 工具 | 描述 | 参数 | | --------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ | | ligue1_get_teams | 获取所有法甲球队 | season(赛季,必需) | | ligue1_get_rosters | 获取球队阵容 | team_id(球队ID,必需), season(赛季), 分页参数 | | ligue1_get_players | 获取法甲球员 | season(赛季,必需), team_ids(球队ID), search(搜索关键词), 分页参数 | | ligue1_get_standings | 获取法甲排名 | season(赛季,必需) | | ligue1_get_matches | 获取法甲比赛 | season(赛季), team_ids(球队ID), dates(日期), start_date(开始日期), end_date(结束日期), 分页参数 | | ligue1_get_match_events | 获取比赛事件(进球、黄牌等) | match_ids(比赛ID), 分页参数 | | ligue1_get_match_lineups | 获取比赛阵容 | match_ids(比赛ID), 分页参数 | | ligue1_get_player_match_stats | 获取球员比赛统计数据 | match_ids(比赛ID), player_ids(球员ID), 分页参数 | | ligue1_get_team_match_stats | 获取球队比赛统计数据 | match_ids(比赛ID), team_ids(球队ID), 分页参数 | | ligue1_get_betting_odds | 获取比赛博彩赔率 | match_ids(比赛ID), dates(日期), 分页参数 | | ligue1_get_player_props | 获取球员博彩赔率 | match_id(比赛ID,必需), player_id(球员ID), prop_type(赔率类型) |

身份验证

服务器会将授权头信息转发到BALLDONTLIE API。你的MCP客户端应在请求中包含API密钥:

Authorization: YOUR_API_KEY

错误处理

服务器提供详细的错误信息:

  • 身份验证错误(401):缺少或无效的API密钥。
  • 授权错误(403):访问级别不足。
  • 验证错误(400):无效的参数。
  • 限速错误(429):请求速率超过限制。
  • 服务器错误(5xx):后端API出现问题。

开发

# 克隆并安装依赖
git clone <repository>
cd mcp-server
npm install

# 构建项目
npm run build

# 在开发模式下运行
npm run dev

# 清理构建文件
npm run clean

API层级

BALLDONTLIE提供不同的访问层级:

  • 免费版:基本端点(球队、球员、比赛)。
  • 全明星版(每月9.99美元):包括统计数据、伤病情况、排名等。
  • 传奇版(每月39.99美元):全面访问,包括高级统计数据、比赛数据统计、博彩赔率等。

支持

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端