mcpField
C
Cricsheet

Cricsheet

远程服务
pipeworx.io游戏娱乐01 周前更新

关于 Cricsheet

Cricsheet MCP 服务将板球逐球数据整理为比赛记分卡、球员职业统计和队伍交锋记录,面向查询板球数据的 Agent。覆盖 Test、ODI、T20I 和 IPL,但不提供单次投球明细。

主要功能

  1. 01查询比赛结果与记分卡
  2. 02汇总球员击球和投球数据
  3. 03查询队伍交锋记录
  4. 04按条件搜索比赛
  5. 05筛选追分局结果

适用场景

  1. 01查看一场比赛的击球与投球表现
  2. 02汇总球员职业生涯数据
  3. 03比较两支队伍的交锋成绩
  4. 04查找特定条件下的追分比赛

MCP 相关

作为 MCP 服务,它向客户端提供比赛、球员、队伍及追分查询工具。可通过 Pipeworx 网关连接,也可作为本地 stdio MCP 服务运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://gateway.pipeworx.io/cricsheet/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

45
参数类型必填说明
qstring否question 的别名。
askstring否question 的别名。
textstring否question 的别名。
inputstring否question 的别名。
packsarray否可选。将路由限制为这些包的 slug(例如 ["sec-form-d","sec-13f"]),路由器随后只会从这些包中的工具进行选择。省略则使用默认的完整目录路由。Slug 可从 list_packs / search_packs / https://pipeworx.io/directory 获取;未列出或未知的 slug 会被忽略,并在 _meta.pack_scope.ignored 中列出。如果没有任何 slug 能匹配问题,则会在整个目录中路由,并设置 _meta.pack_scope.full_catalog:true(绝不会返回空答案)。
querystring否question 的别名。
promptstring否question 的别名。
messagestring否question 的别名。
questionstring是用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。

详细介绍

@pipeworx/cricsheet

将逐球板球数据精简为人们真正会问的问题:一场比赛的结果和记分卡、一名球员职业生涯的击球/投球统计汇总,以及两支球队之间的交锋记录。涵盖 Test 比赛、One Day Internationals、T20 Internationals 和印度超级联赛。Fleet #2975。

属于 Pipeworx — 一个将 AI Agent 连接到 1855+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关,未获其认可,也并非由其发布。

工具

  • cricsheet_match(match_id) — 返回一场比赛的完整结果,以及每局的击球记分卡(每位击球手的得分/球数/4 分/6 分/出局方式)和投球记分卡(每位投球手的局数/失分/得分)。先使用 cricsheet_find_matches 获取 match_id。
  • cricsheet_player_stats(player, format?) — 返回一名板球运动员职业生涯的击球和投球统计汇总(比赛数、得分、平均数、击球率、100 分/50 分次数;得分、投球平均数、经济率)。player 会与此工具包存储的简称进行不区分大小写的子字符串匹配(例如,"Kohli" 可匹配 "V Kohli");如果查询结果不明确,则会返回候选列表,而非猜测。可选地限定一种 format。
  • cricsheet_head_to_head(team_a, team_b, format?, limit?, offset?) — 返回比赛总数、各队获胜次数、平局/无结果场次,以及最近的比赛及其结果。球队名称必须与 Cricsheet 使用的名称完全一致(例如 "India"、"Mumbai Indians")。
  • cricsheet_find_matches(team?, format?, season?, venue?, player?, limit?, offset?) — 搜索比赛索引以查找 match_id。不指定筛选条件时,会返回所有赛制中最近举行的比赛。
  • cricsheet_chase_search(second_innings_result?, format?, min/max_wickets_remaining?, min/max_balls_remaining?, team?, gender?, season?, event?, date_from?, date_to?, limit?, offset?) — 对 ODI、T20I 和 IPL 比赛的追分局(第二局)进行复合搜索:第二局击球方是否获胜、结束时还剩多少个未失 wickets 和未用球数,并可按日期、赛季和锦标赛筛选。balls_remaining 按照完整的计划投球局数计算(T20 为 120 球,ODI 为 300 球);因雨天规则决定结果的比赛中,该值为 null。不包括 Test 比赛。

format 接受 "Test"、"ODI"、"T20I"(国际 T20)或 "IPL"(不区分大小写);省略时会搜索全部四种赛制。

**此工具包不会做什么:**它不会返回单次投球记录(逐球数据)。每个比赛文件只会在加载时逐球解析一次,并汇总为比赛/局/击球记分卡/投球记分卡数据行——存储约 11,000 场比赛的每一球会使行数增加约 150–200 倍,而记分卡已经能回答“谁得了多少分、谁拿下了哪些 wickets”这类问题。

身份验证

无需密钥。工具只通过保存数据的 Pipeworx 网关提供回答;独立运行 npm install 后没有可读取的数据,而且每个工具都会清楚地报错“此运行时未绑定”,而不是返回空列表。

数据来源

  • Cricsheet — Test 板球、One Day Internationals、T20 Internationals 和印度超级联赛的逐球比赛数据。许可证:ODC Attribution License (ODC-BY) — 可免费分享、改编和使用(包括商业用途),但须注明 Cricsheet。Cricsheet 只发布按比赛划分的批量文件(没有实时 API),因此此工具包会将数据副本构建到 D1 数据库中(scripts/cricsheet/load-data.mjs),而不是在每次请求时代理获取;这是遵循 CLAUDE.md 中针对仅提供批量数据来源的“构建副本”规则。
已知差距——扩展此数据包前请先阅读

目前仅加载了 Cricsheet 约 60 个赛事中的 4 个。 Cricsheet 还将一级赛、List A 赛和约 50 个国内 T20 联赛(Big Bash、T20 Blast、巴基斯坦超级联赛、加勒比超级联赛、The Hundred 等)作为单独的批量文件发布。此数据包加载了跨赛制需求最明确的 4 个赛事(国际 Test/ODI/T20I,以及需求信号中明确提到的联赛 IPL)。要添加其他联赛,只需在加载器的 BULK_FILES 中再添加一项,并使用相同的赛制无关解析器。

只要 Cricsheet 自己的批量文件中包含女子比赛,就会一并收录,并根据 Cricsheet 为每场比赛提供的 gender 字段进行区分——不会过滤掉,也不会单独提供工具。

球员身份采用 Cricsheet 使用的原始姓名字符串(例如“V Kohli”、“SR Watson”)——使用的是简称,不是全名;除 cricsheet_player_stats 提供的子串匹配外,此数据包不会维护自己的姓名到人物映射。两个不同的人如果使用相同的简称(这种情况很少见,但在约 8,400 个不同姓名中并非不可能),就会被合并为同一个字符串;除注册表 ID(目前未加载)外,Cricsheet 自己的文件中没有其他信息可以解决这个问题。

超级局会作为额外的局条目存储,与 Cricsheet 自己的 innings 数组表示方式完全一致(打平的 T20 比赛可能包含 3 或 4 个局条目)——cricsheet_match 会返回 Cricsheet 文件中的所有局,包括超级局。

刷新或扩展数据

重新运行 node scripts/cricsheet/load-data.mjs(需要先登录 Pipeworx Cloudflare 账户的 wrangler;当可见的账户不止一个时,还需设置 CLOUDFLARE_ACCOUNT_ID)——该命令会重新获取所有赛制的数据并替换所有表(DROP + reload),因为 Cricsheet 会修正历史文件,而不是对其进行版本管理。--only <Test|ODI|T20I|IPL> 可重新加载单个赛制;--dry-run 会解析数据并打印数量,不会改动 D1,适用于修改解析器后的检查。Cricsheet 会持续添加新比赛(国际板球和 IPL 比赛通常会在比赛结束后一天内添加);请定期重新运行加载器以获取这些比赛——每个工具响应中的 data_as_of 会标明所读取的数据加载批次。

快速入门

添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):

{
  "mcpServers": {
    "cricsheet": {
      "url": "https://gateway.pipeworx.io/cricsheet/mcp"
    }
  }
}
此端点实际提供的内容

https://gateway.pipeworx.io/cricsheet/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、discover_tools、search_within、remember/recall 及网关范围内的其他工具。因此,你看到的工具数量会多于此表所列:目前,单个数据包端点除了该数据包自身的工具外,还会列出约 30 个共享工具。连接的 initialize 响应会说明其准确范围,也是了解特定日期实际情况的权威依据。

这是有意为之,并非意外地进行了多路复用。元工具可以让限定范围的连接回答此数据包未覆盖的问题——通过 ask_pipeworx 路由至整个目录——因此你无需再添加第二个 MCP 服务。目前无法挂载不包含这些工具的数据包端点;如果额外的模式比路由带来的价值更占用上下文,请直接连接一次完整网关,而不是连接多个数据包端点。

或者,连接完整的 Pipeworx 网关,直接列出所有数据包的工具,而不只是此数据包的工具:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

这两个 URL 都会连接到同一个网关和相同的 1855+ 个数据源。唯一的区别是直接列出哪个数据包的工具;无论连接哪个端点,ask_pipeworx 都可以访问所有工具。

没有 MCP 客户端?通过 HTTP 调用

curl -X POST https://gateway.pipeworx.io/v1/tools/cricsheet_match \
  -H 'Content-Type: application/json' \
  -d '{"match_id":1082591}'

首次调用无需账户。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/cricsheet_match。查找工具:使用 {"query":"..."} 向 POST https://gateway.pipeworx.io/v1/tools/search_packs 发送请求。

独立运行(无需网关账户)

此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需经过网关往返:

{
  "mcpServers": {
    "cricsheet": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-cricsheet"]
    }
  }
}

也可以直接运行,确认它能正常启动:

npx -y @pipeworx/mcp-cricsheet

它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。

使用 ask_pipeworx

你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:

ask_pipeworx({ question: "your question about Cricsheet data" })

网关会选择合适的工具并自动填写参数。

更多信息

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。