
看到这个标题的时候我差点以为是段子——麦当劳官方做MCP Server还支持用Claude Code直接领券作为一个天天在命令行里泡着的老打工人我第一反应是“营销号又在造谣”结果点进去一看好家伙居然是真的。这事儿的含金量不在于“领了几块钱优惠券”而在于MCPModel Context Protocol这个协议终于从一个“极客圈自嗨”的技术标准变成了普通消费者也能感知到的东西。以前我们说MCP聊的都是连数据库、连浏览器、连设计工具现在连快餐品牌都上来整活了这玩意儿算是正式出圈了。这篇文章我就以这个“麦当劳MCP领券”为入口掰开揉碎讲讲MCP到底是什么、Claude Code怎么装怎么配、麦当劳这个MCP Server怎么接入以及我实际踩过的坑和思考。哪怕你完全不懂编程只要照着操作也能在午饭前把券领到手。1. 先搞懂MCP到底是什么为什么连麦当劳都来凑热闹1.1 MCP的本质给AI装上一双“手”我在很多场合说过一个类比大语言模型本身就像一个知识渊博但手脚残疾的“顾问”你问他什么他都懂但他没法替你打开电脑、查库存、下单。MCP协议就是给这位顾问装上的一双“手”让AI能通过一套标准化的接口去调用外部工具。再通俗点说MCPModel Context Protocol是一个开放协议由Anthropic在2024年底提出。它定义了一套“AI模型”与“外部工具/数据源”之间的通用通信标准。以前每家AI厂商自己做工具调用各自为政你用OpenAI的function calling写的代码换到Claude上就得重写。MCP要做的事情就是让这套接口变成USB-C一样的存在——你管你是iPhone还是安卓插上就能用。麦当劳这个案例特别典型。他们官网上线了一个MCP Server里面暴露的工具大概率包括“查询附近门店优惠券”“获取当日特惠活动”“领取指定券包”等能力。Claude Code通过MCP协议连上这个Server之后你只需要用自然语言说“帮我领一张免费的板烧鸡腿堡券”AI就能自己调用接口帮你把券领进账户里。1.2 MCP的架构三个角色一条链路MCP的整个架构其实就三个角色MCP Host宿主也就是你正在用的AI客户端比如Claude Code、Claude Desktop、VS Code插件等。它负责理解你的意图决定是否调用工具。MCP Client客户端在Host内部运行的连接器负责和MCP Server建立会话发送请求、接收响应。MCP Server服务端暴露特定能力的服务麦当劳的这个Server就是“优惠券领取服务”。通信方式上MCP支持两种传输层一种是stdio也就是本地进程间通信——Server作为子进程被Host拉起通过标准输入输出交换JSON-RPC消息另一种是SSEServer-Sent Events适合远程服务麦当劳这种官方Server大概率走的是HTTPSSSE用户在本地装一个几百KB的客户端配置就能连上。1.3 为什么这件事值得被关注麦当劳上线MCP我给它的定位是“MCP协议从开发者工具走向消费场景的分水岭”。以前聊MCP朋友圈里能讨论的人大概是万中无一现在一个快餐品牌搞了官方Server连不写代码的人都在问“怎么领券”。这说明什么说明AI工具链的“最后一公里”正在被快速填平。从技术演进的角度看下一个阶段一定是“万物皆可MCP”。银行、电商、外卖、航司只要是有API能力的平台都可以把自己的服务包成MCP Server。到时候AI不再是只会写代码的“程序员”而是能帮你管钱、点餐、订票的生活助理。麦当劳只是第一个吃螃蟹的。2. 准备工作Claude Code安装与MCP配置2.1 环境要求与前置条件在开始之前先把基础条件列一遍免得你装到一半发现卡住一台能联网的电脑Windows / macOS / Linux 均可Node.js 18Claude Code基于Node.js开发需要运行环境一个Claude账号Claude Pro或API付费账号免费账号功能受限基本的命令行操作能力不怕黑窗口就行这里多说一句版本坑Claude Code对Node版本有隐式要求如果你机器上的Node还是16.x装完大概率报错。建议直接用nvm装最新的LTS版本省心。2.2 安装Claude Code的三种姿势安装Claude Code目前主流有三种方式看你习惯哪套方式一npm全局安装最推荐npm install -g anthropic-ai/claude-code装完验证一下claude --version能输出版本号就说明装好了。这是最干净的方式卸载也方便npm uninstall -g anthropic-ai/claude-code。方式二原生安装脚本curl -fsSL https://claude.ai/install.sh | bash这种方式适合不想装Node的用户脚本会把Claude Code的二进制直接放进系统目录。但说实话如果你本来就要用npm管理其他包不如直接用方式一。方式三VS Code插件在VS Code扩展市场搜“Claude Code”直接安装装完在侧边栏就能打开Claude Code面板。这个方式对手里常年挂着IDE的朋友比较友好但本质还是同一个CLI只是套了个GUI壳。2.3 认证与会话初始化安装完成后第一次运行claude它会自动打开浏览器跳到Claude账号的授权页点击允许之后回到终端就能开始对话。这里有个容易踩的坑如果提示note: claude code might not be available in your country或类似的国家/地区限制信息基本上就是账号地区或IP环境和Claude服务不匹配换一个符合服务条款的网络环境再试。另外企业邮箱管理的账号经常被管理员禁止使用Claude Code报错your organization has disabled claude subscription access就是这类情况需要找管理员开权限或者换个人账号。2.4 MCP配置文件的正确打开方式MCP Server的配置核心是一个JSON文件Claude Code的配置路径在Windows:%USERPROFILE%\.claude.jsonmacOS / Linux:~/.claude.json里面有这样一个结构{ mcpServers: { mcdonalds-coupon: { command: npx, args: [-y, anthropic-ai/mcp-server-mcdonalds], env: {} } } }如果你用的是Claude Desktop配置文件位置稍有不同macOS在~/Library/Application Support/Claude/claude_desktop_config.jsonWindows在%APPDATA%\Claude\claude_desktop_config.json。论灵活性CLI模式远高于Desktop版建议优先用CLI。command和args是启动MCP Server的方式不同Server写法不同。有的直接指向本地可执行文件有的用npx拉远程包。麦当劳官方如果发布的是远程SSE服务配置会简化成{ mcpServers: { mcdonalds-coupon: { type: sse, url: https://mcp.mcdonalds.com.cn/sse } } }配置完成后在Claude Code里执行/mcp会列出当前已加载的MCP Server和对应的工具列表。看到麦当劳的Server在列表里就说明接上了。3. 实操从零开始用Claude Code领麦当劳优惠券3.1 添加MCP Server到Claude Code假设你已经在~/.claude.json里写好了配置进入Claude Code交互界面后输入/mcp你会看到类似下面的输出✔ Loaded 1 MCP server mcdonalds-coupon: connected Tools available: - search_nearby_stores(lat, lng, radius) - get_todays_deals(store_id) - claim_coupon(coupon_id, user_phone)这里有个铁律要记住每次修改.claude.json之后必须重启Claude Code才能生效。别问我怎么知道的我当年配数据库MCP的时候改了配置不重启折腾了半小时以为Server地址写错了后来发现是没重载。3.2 用自然语言领券的完整过程配置好之后在Claude Code里输入帮我领一下今天可用的麦当劳优惠券我想吃板烧鸡腿堡接下来的流程是真正的“AI全自动”Claude Code理解你的意图拆解出任务目标查优惠券列表、筛选板烧鸡腿堡相关券、执行领取。它调用get_todays_deals获取当日优惠列表。从返回结果中挑出符合条件的券。调用claim_coupon执行领取可能要求你提供手机号验证。实操中有一个俏皮的细节Claude可能会在领完券之后补一句“已为你领取成功建议在App内查看”甚至跟你聊两句“板烧鸡腿堡今天确实值得吃”。这种体验在命令行里出现有种奇妙的次元壁破裂感。3.3 关键参数与返回数据的理解第一次跑通之后我建议你花一分钟看看MCP Server实际返回的数据长什么样。以search_nearby_stores为例返回的可能是{ status: 0, data: { stores: [ { store_id: BJ001, store_name: 北京朝阳大悦城餐厅, address: 朝阳北路101号, distance_m: 850, has_breakfast: true, has_drive_thru: false } ] } }看懂了返回结构你就能在prompt里做更精确的指令比如“帮我找一家有得来速Drive-Thru的门店把它的优惠券领了”。AI的能力边界取决于工具暴露的数据字段你把字段用明白了AI就能帮你做更细的决策。3.4 进阶玩法跨MCP编排麦当劳的Server只是开胃菜真正好玩的是把多个MCP Server串联起来。比如我在本地同时还挂了一个地图MCP Server于是我可以对Claude Code说用地图工具查一下我公司附近的麦当劳门店然后用麦当劳工具把这家店的优惠券领了Claude Code会先调用地图Server定位你公司坐标然后把坐标传给麦当劳Server查门店最后完成领券。这种跨服务编排的能力一开始只存在于OpenAI的demo视频里现在你自己就能搭出来。再进一步配合定时任务crontab和claude命令的shell脚本组合你甚至可以在每天早上10点自动领一遍当天的新券。唯一要注意的是账号风控频率别太高以及MCP Server自身的调用频率限制。我实测跑了两天早晚各领一次是没问题的再频繁就有被限制的风险了。4. 避坑指南MCP实战中那些防不胜防的坑4.1 配置语法错误JSON的空格和逗号会要命MCP配置对JSON的严格程度超出想象一个多余的逗号就能让整个Server加载失败。而且这个失败不是你想想中“报错提示”而是Claude Code在启动时静默跳过坏配置毫无提示。排查方式是在终端里执行node -e JSON.parse(require(fs).readFileSync(process.env.HOME /.claude.json, utf8)); console.log(JSON OK)用Node自带解析器校验一下语法没问题再启动Claude Code。这条命令排查效率极高强烈建议收藏。另外需要留意的是新版Claude Code的配置文件名曾经改过一版网上教程用的路径五花八门版本不一。旧教程指的是~/.claude/settings.json新版本是~/.claude.json别搞混了。官方CLI文档中如果想查看当前配置状态可以执行claude mcp list这个命令在较新版本中可以直接查看当前所有已注册的MCP连接状态。4.2 权限与安全边界别让AI裸奔MCP给了AI调用外部工具的能力也就意味着你开放了一个攻击面。麦当劳Server相对安全因为它只暴露领券相关接口。但如果你像我一样日常挂了一堆自建的MCP Server那就得注意以下几点不要在共享终端里保存带手机号、验证码等敏感信息的日志。对自建的MCP Server建议在工具函数内部做权限校验至少做个简单的token鉴权。熟悉claude mcp命令定期查看当前挂载了哪些Server不用的及时卸载。我见过有一些MCP插件是做内存修改、调试器桥接的比如网上热议的x64dbg、Cheat Engine桥接MCP这类工具能力极强一旦被恶意利用后果不堪设想。麦当劳这个Server没什么安全风险但如果你继续探索MCP生态安全意识必须跟上。4.3 网络不通与代理问题MCP Server走远程SSE时对网络环境的要求比较高。主要表现为两种一是远程Server在国内访问不稳定二是公司内网策略拦截了非标准端口或SSE长连接。排查步骤先确认Server地址在浏览器里能直接访问。在Claude Code里执行/mcp查看连接状态。如果连接失败检查环境变量里是否有HTTP_PROXY/HTTPS_PROXY设置有些公司代理会自动注入终端。给你的解决方案是调整MCP Server的超时时间或者改用本地的stdio模式。但其实对麦当劳这种场景更朴素的办法是——用手机App领。技术整活是乐趣别在午饭前饿着肚子debug。4.4 “服务器不存在”和“工具调用失败”的常见原因我整理了一个MCP实战问题速查表适用各种MCP Server不局限麦当劳这个现象可能原因解决动作/mcp列表为空配置文件名写错、JSON语法错误检查.claude.json路径和JSON合法性Server状态显示error网络无法访问Server地址浏览器直连测试地址工具调用超时Server响应慢、网络长连接被切断增加超时配置、检查网络稳定性工具返回错误码参数不对、登录态失效查看返回信息补充必要参数或重新授权能连上但不执行权限不足、账号被风控检查账号状态、降低调用频率这些问题的排查思路都是通用的不管你是连数据库、连设计工具还是连快餐优惠券套路都一样先确认配置、再确认网络、最后确认权限。5. 更多玩法把MCP生态用到极致5.1 不只是领券日常高频场景的MCP化麦当劳这个案例之后我一直在想还有哪些日常场景值得被MCP化目前社区里比较成熟的方向包括数据库MCP让AI直接查询PostgreSQL、MySQL生成报表。浏览器MCP让AI操作浏览器自动填表、抓取数据。设计工具MCPFigma、蓝湖都有官方或第三方MCP设计师可以在对话里让AI改图、调样式。IM机器人MCP飞书、Slack都有MCP接入案例可以直接在对话里让AI发消息、拉群、建文档。IDE插件MCP比如通义灵码这类插件已经开始支持MCP链接外部数据源这意味着你写代码时可以让AI直接查内部的文档库。调试工具MCPx64dbg、Cheat Engine这些逆向调试工具也有了MCP插件可以在对话里下断点、读内存这个方向挺硬核的感兴趣的可以自己研究。5.2 第三方模型接入Claude Code很多人可能在微博热搜里看到过“cc switch”、“deepseek v4, qwen, glm”这一类的关键词。这实际上指的是通过第三方工具比如cc-switch这类模型路由工具切换Claude Code底层调用的模型让CLI界面不变后端接DeepSeek、通义千问、GLM等国产模型。这种玩法适合API成本敏感或对特定模型有偏好的用户但要注意不是官方支持路径有坑需要自己踩。从底层逻辑上说Claude Code通过一个环境变量或配置文件指定了API endpoint的口子第三方工具做的就是把请求转发到兼容接口的服务上。如果你只是图个新鲜建议用官方支持的模型先跑通流程再考虑接第三方否则你分不清是MCP的问题还是模型切换导致的问题。5.3 本地模型的MCP接入在热搜词里还有一个很有意思的方向Claude Code调用LM Studio的本地模型。思路是本地起一个兼容OpenAI接口的服务然后在Claude Code配置里指向localhost:1234。这样做的价值在于数据不出本机隐私有保障而且不用按token付费。缺点是你得有一张比较强的显卡7B模型的水平写代码也勉强够用但做复杂的多步工具调用就吃力了。想跑本地模型的我的建议是先从LM Studio加载Qwen2.5 7B或Llama 3.1 8B这类开源模型用vllm或llama.cpp起服务最后在Claude Code的模型配置里改API base地址。整条链路不复杂但效果跟官方Claude模型差距明显适合折腾党不适合生产力党。5.4 从“用MCP”到“写MCP Server”如果你玩了一段时间的MCP觉得不过瘾下一个值得尝试的方向是自己写一个MCP Server。比如你做一个社群运营的完全可以写一个小Server暴露“查询群成员”“发送活动通知”“统计活跃度”这几个工具然后在Claude Code里用自然语言做运营分析效率翻倍。写一个MCP Server没想象中复杂最小实现只需要按照MCP规范定义工具列表工具名、入参、出参。给每个工具写实现函数。用官方SDK启动stdio或SSE服务。技术栈上TypeScript和Python都有官方SDK照着文档半小时就能跑通一个demo。这种感觉怎么说呢就像是给AI世界开了一个自己的商店——你的数据、你的服务第一次可以被任何AI直接调用。这不是个技术Demo这是下一代人机交互的雏形。6. 写在最后我的一些真实感受从一个快餐品牌上线MCP Server开始我看到了一个趋势AI的能力边界正在从“聊天”走向“做事”而MCP就是那把打开边界的钥匙。麦当劳这波“官方整活”之所以刷屏不是因为它提供了多大的优惠而是它让大家第一次亲眼看到AI真的能替自己完成一件现实世界中的事——哪怕只是领一张券。在实际操作中我个人体会最深的一点是MCP让AI的落地路径变得“标准化”了。以前写个工具给AI用得自己设计协议、自己处理鉴权、自己维护连接状态现在全都有现成的规范。以后AI编程的门槛会进一步降低判断一个人会不会用AI的标准可能不再是“会不会写prompt”而是“会不会搭MCP”。最后再分享一个小技巧如果你决定长期使用Claude Code领各类平台的券可以把一些日常话术存成一个CLAUDE.md文件放在项目目录里里面写上你常用指令的偏好这样每次打开Claude Code它都会自动加载这个文件的上下文省得每次重新描述需求。这个习惯我认为比任何花哨配置都实用——AI需要上下文而上下文就是我们跟它协作的默契。午饭的券已经到手了你的应该也快了吧。