Docs · 开发者
POFA MCP 接入
让 ChatGPT、Claude 等 AI 助手直接连上 POFA:查赛事、给选手报名、替办赛方把一场比赛从建赛办到决赛。已上线
MCP 服务地址(远程 · Streamable HTTP)
https://pofa.app/mcp/
这不是演示页,是一条已经跑通的线。2026-11-08,一场 8 人单淘汰测试赛(「美国小弟试办赛」)全程由 AI 经这个 MCP 办完:建赛、导入名单、生成签表、逐场录分打到决赛出冠军,中途还验证了撤销一级级往回退的级联逻辑——23 项检查全过。
看这场赛的公开页 →
这是什么
- MCP(Model Context Protocol)服务器。任何支持 MCP 的 AI 客户端填上上面的地址就能调用 POFA,不用装任何东西。
- 一个端点,两种身份。选手侧:找赛事、看详情、看赛程、报名——不用任何凭证。办赛侧:建赛、名单、签表、赛程、比分——每一步都凭该赛事的管理码。
- 和网页是同一套数据。AI 在这边录的比分,选手页和控制台立刻能看到;签表的种子序、场次编号(M1、M2…)与页面完全一致。
办赛六步(AI 的固定动线)
1建赛
生成赛事与管理码,管理码当场交给办赛方保存
create_tournament
2导入名单
批量加入选手名单,重复邮箱自动跳过
import_players
3生成签表
先出预览给人看,确认后才落库
generate_bracket
4排赛程
按场地与时间排场次,同样先预览后确认
schedule_matches
5录比分
胜者自动晋级;录错可撤销,级联回退
report_result
6上屏叫号
比赛日把一场对阵叫上它所在场地的屏幕:每个场地一块屏、一块链接,互不覆盖;下屏后回到叫号板
screen_show
工具清单(12 个)
叫号屏:一块场地一块屏
- 每块场地有自己的屏幕链接:
https://pofa.app/call/screen/?t=赛事id&court=场地号。四块场地就是四个链接,分别在四台设备上打开,各显示各的比赛,互不干扰。
- 一次拿到全部链接:赛事里填了场地数时,
get_screen 会按 1..场地数把每个场地的链接一次列全(含还没上比赛的空闲场地)——办赛方不用一块一块拼链接。
- 不带 court 的链接是全局屏:显示最近上屏的一场比赛,适合只摆一台大屏的场地;没有上屏内容时显示控制台叫号板,再空则回待机面。
- 空闲场地的屏幕显示带场地号的待机面(COURT 号 + 赛事名),不会黑屏,也不会串到别的场地。
从 ChatGPT 连接
- 打开 ChatGPT,进入设置 → 连接器(Connectors),选择新建自定义连接器。
- 名称填
POFA,URL 填 https://pofa.app/mcp/,鉴权选无 / None,创建。
- 在对话里启用这个连接器,直接开口就行:「帮我找一下最近的匹克球比赛」「帮我办一场 8 人单打赛」。
从 Claude 连接
- 打开 Claude,进入设置 → Connectors,选择 Add custom connector。
- 名称填
POFA,URL 填 https://pofa.app/mcp/,保存。
- 其他支持远程 MCP 的客户端(Cursor 等)同样填这个 URL 即可。
鉴权与安全
- 只读不需要任何凭证。搜索、详情、赛程对所有人开放——和公开赛事页看到的完全一致。
- 报名是两步确认。AI 先把报名信息摘要给用户看,用户明确点头后才提交,杜绝 AI 自作主张报了名。
- 办赛写入只认管理码。每场赛事在建赛时生成一把管理码(manage_code),只在建赛返回里出现一次,等同这场比赛的钥匙:谁有码谁能改这场赛,码不对一次都写不进去(已实测)。请把它当密码保管,不要公开发布。
- 签表与赛程预览先行。这两步第一次调用只产出预览,不写任何数据;人看过、确认了,AI 拿预览编号二次调用才落库。
- 所有写操作进活动日志。谁(哪个渠道)、什么时候、改了什么,赛事里可查。细则见权限表。
当前边界(如实标注)
- MCP 的签表生成目前支持单淘汰;双淘汰、循环赛赛事可以在 POFA 网页端办理。
- 比分可传结构化逐盘比分(score_sets),DUPR 评分赛事回传时需要它。
- 协议版本与工具清单以服务实时返回为准:对端点发
initialize / tools/list 即可自查。