关于 balldontlie
balldontlie 是连接 BALLDONTLIE 体育 API 的远程 MCP 服务,面向需要体育数据与分析的 AI 客户端。它根据公开 OpenAPI 规范生成工具,并要求每次 MCP 请求提供 API 密钥。
主要功能
- 01按 OpenAPI 规范生成工具
- 02覆盖多项体育赛事与联盟 API
- 03API 密钥认证
- 04敏感账户工具默认禁用
- 05提供健康状态端点
适用场景
- 01查询 BALLDONTLIE 体育 API 数据
- 02让 AI 客户端调用 API 操作
- 03查看服务健康状态与部署版本
MCP 相关
服务将 BALLDONTLIE API 操作作为 MCP 工具提供,工具目录与输入定义来自公开 OpenAPI 规范。所有 MCP 请求均需携带 BALLDONTLIE API 密钥,部分敏感账户工具默认关闭。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.balldontlie.io/mcpclaude mcp add --transport http io-balldontlie https://mcp.balldontlie.io/mcp{"mcpServers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}在 Cursor 中打开{"servers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-balldontlie":{"type":"http","url":"https://mcp.balldontlie.io/mcp"}}}{"mcpServers":{"io-balldontlie":{"serverUrl":"https://mcp.balldontlie.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.balldontlie.io/mcp需要授权工具
详细介绍
BALLDONTLIE MCP Server
面向 BALLDONTLIE 体育 API 的远程模型上下文协议服务。工具目录根据随附的公开 OpenAPI 规范生成,确保端点方法、路径、参数和约束与 API 源保持一致。
当前生成的工具集包含来自 27 份规范的 529 个工具:Account、ATP、Bundesliga、college baseball、Counter-Strike、Dota 2、EPL、F1、FIFA World Cup、La Liga、Ligue 1、League of Legends、MLB、MLS、MMA、NBA、NCAAB、NCAAF、NCAAW、NFL、NHL、PGA、Serie A、UCL、Valorant、WNBA 和 WTA。/health 会报告权威的运行时工具数量和部署版本。
身份验证
每个 MCP 请求都需要 BALLDONTLIE API 密钥:
Authorization: Bearer YOUR_API_KEY
初始化、工具列表查询、经过身份验证的文档访问,以及在 MCP 之外公开的 API 操作,都会先验证所提供的密钥。其他工具调用仅将 Authorization 标头转发到对应的、需要身份验证的 BALLDONTLIE 端点。
公开服务元数据仅限于 /health 和 /.well-known/mcp-config。/api/docs 需要有效的 API 密钥。
敏感的 Account 工具
完整的 Account API 工具集均已注册,但以下工具默认处于禁用状态:
account_signupaccount_rotate_api_keyaccount_change_subscriptionaccount_cancel_subscriptionaccount_create_checkoutaccount_get_billing_portal
这些工具可创建凭据、更改账单状态,或返回敏感的托管账单会话 URL。部署时必须将 ENABLE_SENSITIVE_ACCOUNT_TOOLS 精确设置为 true 才能启用这些工具。启用此标志意味着这些值可能会有意进入经过身份验证的调用方的 MCP 对话记录。其他拼写、大小写或空格形式均会被安全拒绝。
account_get_me 仍可使用,但始终会省略响应中的 api_key 字段。
MCP 请求示例
curl https://mcp.balldontlie.io/mcp \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "nba_get_teams",
"arguments": {}
}
}'
使用 tools/list 获取当前工具目录、输入架构,以及 MCP 只读/破坏性操作标注。
开发
npm ci
npm run check:openapi
npm test
npm run build
测试会独立对照所有随附的规范,逐项比较每个生成的操作和输入。测试还涵盖旧版工具名称兼容性、精确的数组查询序列化、路径/请求体分发、保障凭据安全的错误与日志、API 密钥验证限制,以及 Account 安全控制。测试绝不会调用实际的 Account 修改操作。
根据 API 源更新
- 将
balldontlie-2/marketing/public/openapi.yml复制到openapi.yml。 - 将
balldontlie-2/marketing/public/openapi/*.yml中的所有文件复制到openapi/。 - 将
scripts/openapi-source.json更新为源 API 的提交版本。 - 运行
npm run generate:openapi。 - 运行
npm test和npm run build。
已生成的 src/tools/*.ts、src/schemas/*.ts 和注册表文件均已纳入版本控制,禁止手动编辑。运行时不会解析 YAML,生产环境也没有 YAML 解析器依赖。
配置
| 变量 | 默认值 | 用途 |
|---|---|---|
PORT | 3000 | HTTP 端口 |
BACKEND_API_URL | https://api.balldontlie.io | BALLDONTLIE API 基础 URL |
API_TIMEOUT | 30000 | 上游超时时间,单位为毫秒 |
ENABLE_DEBUG | false | 仅记录方法、不含查询参数的路径以及查询字段数量 |
ENABLE_SENSITIVE_ACCOUNT_TOOLS | false | 仅在值精确为 true 时启用敏感的 Account 工具 |
TRUST_PROXY_HOPS | 生产环境为 1,其他环境为 0 | 经过验证的可信代理跳数;仅接受 0 或 1 |
ENABLE_TRACING | false | 配置了 Agent 主机时启用 Datadog 跟踪 |
Authorization 值、查询值、请求体、原始上游错误、API 密钥响应和托管账单会话 URL 均不会出现在服务器日志或跟踪标签中。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。