为Claude和ChatGPT接入实时足球数据:使用MCP服务器集成足球API
问Claude今晚的比赛情况,它会礼貌地表示自己没有实时数据;问ChatGPT赛事的赔率变化,你会得到一个说明,指出它无法访问网页。虽然这两者都具有推理足球信息的能力,但由于缺乏实时数据而受限。为了填补这个数据空缺,模型上下文协议(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,它也支持MCP,但有两个重要的限制需要提前了解。首先,它只能通过HTTPS协议连接远程服务器(Streamable HTTP),因此本地的npx命令将无法被识别。其次,你需拥有Plus、Pro或Business计划,并且必须开启开发者模式——这个选项位于设置中的“安全与登录”一栏,被标记为“高风险”,这是合理的,因为未经审核的MCP服务器可以访问模型所发送的任何内容。因此,服务器提供了--http模式,并实现了隧道连接。第一个终端通过HTTP协议在本地3333端口提供MCP服务,同时设置API密钥和访问令牌。第二个终端使用cloudflared来公开该服务,工作机制与ngrok相似。cloudflared会输出一个https://something.trycloudflare.com的URL。在ChatGPT中打开侧边栏的插件,点击加号(创建应用),选择服务器URL并粘贴https://something.trycloudflare.com/mcp/pick-a-secret,将认证设为无认证,完成确认后点击创建,接着进行连接。如果URL存在拼写错误,ChatGPT将无法成功连接工具列表。
足球的真正魅力,不在于赢得比赛,而在于享受其中的每一刻!...