留言

给Claude和ChatGPT接上实时足球数据:用MCP服务器包装足球API

问Claude今晚谁在比赛,它会礼貌地解释自己没有实时数据。问ChatGPT赛前赔率如何变动,你会得到一段关于无法浏览网页的说明。两者其实都具备推理足球信息的能力,只是看不到球场上的情况。 MCP解决数据盲区 模型上下文协议(MCP)正好解决这个问题。一个MCP服务器是一个小程序,它暴露“工具”——带有名称、描述和JSON模式的函数——任何支持MCP的助手都能发现并调用它们。把REST API包装进去,助手就能在回答之前先查询信息。 这篇文章以足球为例完成这件事。前半部分安装一个现成的服务器,并把它连接到Claude Code、Claude Desktop、Cursor和ChatGPT。后半部分拆开它,看看它是如何构建的,这样你可以对任何关心的API做同样的事。 底层的API是5DollarFootballAPI:包含赛程、实时比分、积分榜、角球、黄牌、赔率以及完整的赔率变动历史。需要说明的是:作者构建了这个API,也编写了这个MCP服务器。下面内容并不特定于它——换成你自己的客户端,模式完全一样。 两分钟接入足球数据 需要Node 18以上版本和一个API密钥。免费层(无需绑卡)覆盖赛程、实时比分和积分榜,对下面大多数提示来说已经足够。 Claude Code的接入命令是: claude mcp add football-api -e FIVEDOLLARFOOTBALL_API_KEY=fb_live_your_key -- npx -y football-api-mcp Claude Desktop和Cursor读取相同的JSON结构。Claude Desktop使用 claude_desktop_config.json ,Cursor在项目中使用 .cursor/mcp.json ,或全局使用 ~/.cursor/mcp.json 。 配置内容包含mcpServers字段,指定命令为npx,参数为 -y football-api-mcp ,环境变量中设置API密钥。重启应用后,服务器下会列出十一个新工具。 ChatGPT的远程连接限制 ChatGPT也支持MCP,但有两个值得提前了解的约束。第一,它只通过HTTPS连接远程服务器(Streamable HTTP),本地的 npx 命令对它不可见。第二,需要Plus、Pro或Business计划,并且必须启用开发者模式——它位于设置→安全与登录下,标记为“高风险”,这很合理:未经审核的MCP服务器会看到模型发送给它的任何内容。 因此服务器提供了 --http 模式,并在前面放置一个隧道。第一个终端在本地3333端口通过HTTP提供MCP服务,同时设置API密钥和访问令牌。第二个终端用cloudflared暴露它,ngrok的工作方式相同。 cloudflared会打印出一个 https://something.trycloudflare.com 的URL。在ChatGPT中打开侧边栏的插件,点击加号(创建应用),选择服务器URL,粘贴 https://something.trycloudflare.com/mcp/pick-a-secret ,将认证设为无认证,勾选确认,点击创建,然后连接。ChatGPT会立即获取工具列表,所以URL中的任何拼写错误都会导致连接失败。 特别

about image
邮报:曼联新赛季首战因一侧衣袖没印上英超官方袖标而违规 连续旷工2天!阿尔瓦雷斯再缺训,2天后战塞维利亚,马竞慌了