关于 mcp-cricket
mcp-cricket 为 AI 助手提供板球实时比分、比赛档案、球员数据和胜率分析,面向球迷及板球分析用户。它还并列展示 Kalshi 市场价格与模型估算,并提供板球术语的棒球类比解释。
主要功能
- 01计算比赛状态的胜率
- 02查询逐球档案与球员数据
- 03查看实时和即将进行的比赛
- 04对照 Kalshi 市场价格与模型
- 05用棒球类比解释板球术语
适用场景
- 01查询实时比赛比分和胜算
- 02分析击球手与投球手的交锋
- 03查看球场、阶段和球员统计
- 04比较市场价格与模型概率
MCP 相关
该 MCP 服务向客户端提供板球胜率、比赛档案、职业数据、实时比分及市场价格等只读工具。服务托管版本还提供 Minor League Cricket 和 Atlanta Open T20 数据。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://cricketfornoobs.com/mcpclaude mcp add --transport http asaraog-mcp-cricket https://cricketfornoobs.com/mcp{"mcpServers":{"asaraog-mcp-cricket":{"type":"http","url":"https://cricketfornoobs.com/mcp"}}}在 Cursor 中打开{"servers":{"asaraog-mcp-cricket":{"type":"http","url":"https://cricketfornoobs.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"asaraog-mcp-cricket":{"type":"http","url":"https://cricketfornoobs.com/mcp"}}}{"mcpServers":{"asaraog-mcp-cricket":{"serverUrl":"https://cricketfornoobs.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
17| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| runs | integer | 是 | 击球方目前已得分数 |
| overs | number | 是 | 板球记分法中的已投球数,例如 15.3 表示 15 局 3 球 |
| target | integer | 否 | 获胜所需的分数(仅限第二局) |
| innings | integer | 是 | 1 表示先设定目标的一方,2 表示追分方 |
| wickets | integer | 是 | 目前失去的三柱门数(0-10) |
| total_overs | integer | 是 | 每方的局数:T20 和 The Hundred 为 20,ODI 为 50 |
| batting_team | string | 否 | 队伍名称;通过 Elo 提高实时估算的准确性;若仅提供 bowling_team,则为尚未开始的比赛估算赔率 |
| bowling_team | string | 否 | 可选的队伍名称,通过 Elo 提高估算的准确性 |
| balls_per_over | integer | 否 | 每轮投球数:通常为 6;The Hundred 每组投 5 球——此时传入 5,否则所有速率都会低五分之一。 |
详细介绍
🏏 Cricket MCP 服务
为 Claude Desktop、Claude Code、Cursor 和任何其他 MCP 客户端提供板球分析——校准后的获胜概率模型、22,479 场归档比赛,以及实时预测市场价格。
一个 Model Context Protocol 服务,为 AI 助手提供真正的板球知识:校准后的获胜概率模型、超过 22,000 场比赛的逐球档案、实时预测市场价格、职业生涯记录和实时比分。
用日常语言询问板球问题,即可获得基于数据而非训练记忆计算出的答案。
⚡ 一步添加
服务已托管。无需安装、下载、构建或配置。
https://cricketfornoobs.com/mcp
将其粘贴到客户端的连接器设置中即可。
| 客户端 | 位置 |
|---|---|
| Claude(包括免费方案) | Customize → Connectors → Add custom connector |
| ChatGPT | Settings → Apps → Developer mode → add server |
| Claude Code | claude mcp add --transport http cricket https://cricketfornoobs.com/mcp |
| Cursor / VS Code | 在 cricketfornoobs.com/mcp 上使用一键按钮 |
| Gemini CLI | 将 {"cricket": {"httpUrl": "https://cricketfornoobs.com/mcp"}} 添加到 ~/.gemini/settings.json |
无需账户、API 密钥或数据管道。只读。
想在自己的机器上运行?请参阅下方的快速入门:工具相同,只需一个静态二进制文件。
💬 可以这样提问
- “印度队现在的比赛谁占上风?模型怎么判断?”
- “Minor League Cricket 比赛的比分是多少?哪队更被看好?”
- “还剩三轮,149 比 7 追 178,哪队更被看好?”
- “Kohli 在 T20 中对阵 Bumrah 时表现如何?”
- “Welsh Fire 对阵 Southern Brave,市场的看法和你的模型有什么不同?”
- “Bumrah 是怎么拿下三柱门的——击中三柱门、接杀还是腿前截球?”
- “Rashid Khan 在 T20 中的未得分球比例是多少?”
- “Kohli 先击球还是追分时表现更好?”
- “Rohit Sharma 的得分主要来自和谁搭档?”
- “Grand Prairie Stadium 是否有利于追分?”
- “展示 Pooran 在比赛末段的记录。”
- “Googly 到底是什么球?”
同一套获胜模型也已在生产环境中用于 cricketfornoobs.com,这是一个面向美国体育迷的实时板球解说网站。此服务将其分析功能开放给任何 MCP 客户端。
✨ 与众不同之处
大多数体育 MCP 服务只是封装比分 API,而这个服务提供分析:
- 基于拟合模型的获胜概率——按比赛形式和局数划分的逻辑回归模型,基于 10,847 场比赛(340 万个逐球状态),并结合赛前 Elo 评分。留出集对数损失为 0.42(T20 追分)/ 0.40(ODI 追分);对高置信度判断的准确率约为 91%。模型知道,追分时 149/7 和 149/2 代表的局势并不相同。
- 逐球档案——涵盖 T20、ODI/List-A、测试赛和国内多日赛的 22,479 场比赛及 1,140 万次投球。
- 职业生涯与对阵记录——击球手与投球手的直接对阵记录、各阶段数据(强打期 / 中段 / 末段)、场馆报告和联赛排行榜。
- 棒球术语转换——通过最接近的棒球术语解释每个板球术语,帮助新手了解这项运动。
🛠️ 工具
| 工具 | 功能 |
|---|---|
cricket_win_probability | 计算任何实时或假设比赛状态下的获胜概率 |
cricket_head_to_head | 击球手与投球手的职业生涯交锋记录(投球数、得分、出局次数、击球率) |
cricket_player_career | 按赛制统计职业生涯总数据,涵盖男子和女子板球 |
cricket_match_archive | 查询已归档比赛的记分卡,可按球队/联赛/年份搜索 |
cricket_phase_stats | 按强打阶段、中间局数和死亡阶段划分击球与投球数据 |
cricket_venue_stats | 球场报告:首局平均得分、追分获胜率 |
cricket_leaders | 联赛和赛季的得分或三柱门排行榜。t20i 仅包含 T20 国际赛;t20 还包含没有独立代码的国内 T20 赛事。t20i、t20、odi、test、bbl、cpl 和 hundred 均包含男子和女子比赛;除非 gender 为 female,否则读取男子数据 |
cricket_team_form | 球队近期已归档的比赛结果。可选的 format(t20、odi、test)和 gender(male、female)可筛选球队比赛:归档数据中,一个国家的男子队和女子队使用同一个名称 |
cricket_dismissals | 击球手如何出局,或投球手如何取得三柱门 |
cricket_discipline | 无得分球和边界球的百分比,这些数据不会显示在记分卡上 |
cricket_situational | 击球手先攻与追分时的记录 |
cricket_partnerships | 与每位搭档在场上共同取得的得分,以及最佳搭档得分 |
cricket_market_odds | 与本模型的数值并列显示的实时预测市场价格(Kalshi) |
cricket_live_matches | 当前正在进行和即将开始的比赛 |
cricket_explain_term | 任意板球术语及其棒球对应说法 |
cricket_minor_league | 小联盟板球(美国国内 T20)和 Atlanta Open T20:来自 Kalshi 实时数据的实时比分、比赛情况和获胜概率。仅托管服务提供来自赛事计分应用 CricCenter 的 Atlanta Open 击球手、投球手和掷币信息 |
cricket_minor_league_info | 小联盟历史、球队、球场和球员记录。仅托管服务提供的数据:本地版本会引导你使用托管服务 |
所有工具均为只读。
小联盟板球数据。 ESPN 不涵盖该联赛,因此赛程和比分来自 Kalshi 的公开实时数据:赛程、每场比赛的比分和状态,以及 Kalshi 的市场数据。该数据源不提供逐球解说,也不包含击球手或投球手姓名,因此 cricket_minor_league 无法说明谁正在击球、谁取得了三柱门,或某一球发生了什么。只有当 Kalshi 的盘口显示真实价格时,才会显示市场价格;模型只对追分进行定价。托管服务的 cricket_minor_league_info 会显示球员姓名:数据来自 CricClubs 记分卡和比赛结果,以及维基百科的赛季条目(CC BY-SA 4.0),因此这些数据仅保留在托管服务上。
🚀 快速开始
1. 安装
单个静态二进制文件,无需运行时、解释器或依赖项。
go install github.com/asaraog/mcp-cricket/cmd/cricket-mcp@latest
或者从 Releases 下载适用于 macOS(Apple 芯片或 Intel)、Linux (x86-64 或 arm64)或 Windows 的预编译二进制文件。
将其注册到 Claude Code:
claude mcp add cricket -- ~/go/bin/cricket-mcp
2. 或配置桌面客户端
将服务添加到客户端的配置中——以下为 Claude Desktop 的配置:
| 操作系统 | 配置文件 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
{
"mcpServers": {
"cricket": {
"command": "/ABSOLUTE/PATH/TO/cricket-mcp"
}
}
}
重启客户端后,板球工具就会显示。实时比分、获胜模型、市场价格和术语表可直接使用。归档工具需要逐球数据库,而该数据库不包含在二进制文件中。
3. 档案
该数据库由
asaraog/cricket-history-data
工作流根据公开的 Cricsheet 数据构建,并作为
history-full.db.gz(206 MB)发布资产发布在该仓库中。该发布版本是
私有的。设置 HISTORY_DB_TOKEN 为有权读取该发布版本的 GitHub 令牌后,
服务会在首次使用时解析最新发布版本,将档案下载一次到操作系统的缓存
目录(macOS 上为 ~/Library/Caches,Linux 上为 ~/.cache,
Windows 上为 %LocalAppData%),此后重复使用;后续发布版本替换该资产
时,下次启动会下载新版本。没有令牌时,下载会失败,档案工具会提示档案缺失。
自行构建无需令牌:
curl -O https://cricsheet.org/downloads/all_json.zip
python3 scripts/histgen.py all_json.zip history.db
然后将 HISTORY_DB 指向生成的文件。自行构建的文件会直接打开,不会被下载
内容替换。仅限有限轮数赛制的档案也能使用:缺少某种赛制时,工具会正常降级。
scripts/histgen.py 与工作流运行的脚本相同。自 2026-10-06 起,
其 deliveries 表包含 wide 和 noball 列,因此击球手面对的球数不计
宽球,投球手的投球数不计宽球和无球,这与记分卡的统计方式一致。更早构建的
档案没有这两列;服务会像以前一样读取,将每一行都计为一球。
自 2026-10-07 起,其 matches 表还包含 gender 列,值为 male
或 female,与 Cricsheet 的记录一致。cricket_leaders 和
cricket_team_form 会按此筛选。较旧的档案(v1 文件和 2026-10-06
重建的文件)仍可使用:如果没有该列,系统会根据赛事名称判断比赛的性别;
对于 Cricsheet 的女子赛事,赛事名称中会包含 “Women”。
⚙️ 配置
| 变量 | 用途 |
|---|---|
HISTORY_DB | 档案所在位置(默认:操作系统的缓存目录) |
HISTORY_DB_URL | 改为从此 URL 下载档案,而不是下载最新发布版本 |
HISTORY_DB_TOKEN | 有权读取私有发布版本的 GitHub 令牌,或用于 HISTORY_DB_URL 的 bearer 令牌 |
HISTORY_QUERY_TIMEOUT | 比赛查询和记分卡的截止时间,默认值为 3s |
HISTORY_ANALYTICS_TIMEOUT | 阶段拆分、领先者、出局方式、纪律、情境和搭档查询的截止时间,默认值为 15s |
MILC_LIVE | 设为 off 可关闭 Minor League Cricket 实时数据 |
实时比分工具无需任何档案;如果数据库缺失,档案工具会明确报告,而不会编造答案。
📊 关于模型
胜率模型通过离线拟合得出,并非在运行时猜测。特征包括比赛状态(得分、出局数、 剩余球数、所需得分率)、赛前 Elo,以及出局数 × 所需得分率的交互项——因为当 所需得分率很高时,击球阵容薄弱造成的影响要大得多。校准效果按手握的出局数 衡量:在大多数范围内,误差约在 1 个百分点以内。
标准杆数因球场而异。 第一局得分只有相对于该球场的通常得分才有意义,因此
第一局的分段模型是根据包含 371 个球场和 7 个联赛的表格拟合的,而不是使用
一个全局常数。仅按联赛划分,实际标准杆数就在 153.7 到 172.5 之间,按球场
划分则差异更大。为 cricket_win_probability 传入 venue(以及 league),
同样是 10 轮后 80/2 的局面,在 Chinnaswamy 的胜率为 47%,在 Newlands 则为
60%。不提供球场时,系统会按球场 → 联赛 → 全局的顺序回退,留出集上的对数
损失约增加 0.006。
模型无法感知伤病、天气、场地报告或球队新闻。
📈 市场
cricket_market_odds 从 Kalshi 读取公开价格。Kalshi 是受美国商品期货交易委员会(CFTC)监管的美国交易所,合约结算金额为 $1,价格以美分计,即隐含概率。将其与 cricket_win_probability 并列,二者之间的差距就是交易者所声称的优势。
此功能仅供参考——只读市场数据,无账户、无订单,也不提供建议。模型无法获知伤病、天气或球队消息,而这往往正是它与市场观点不一致的原因。事件合约在某些司法管辖区合法,在其他地区则不合法。
🙏 数据
逐球数据来自 Cricsheet,采用 CC BY-SA 4.0 许可。实时比分来自 ESPNcricinfo 的公开端点;小联盟板球数据来自 Kalshi 的公开实时数据;市场价格来自 Kalshi 的公开 API。 本项目与以上任何一方均无关联。
📝 许可证
BSD 3-Clause。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。