1. 先搞清楚 openclaw 领券到底在干什么
openclaw 这个智能体最近确实火,很多人管它叫“小龙虾”,核心原因就一个:它能把聊天窗口变成操作台。你在飞书或者企业微信里发一句话,它就能去调外部工具把事办了。这次我们要办的事很具体——领麦当劳优惠券。
先说清楚它是什么、能做什么、适合谁。openclaw 是一个可挂载 MCP 工具的 AI 智能体框架,MCP 全称 Model Context Protocol,你可以把它理解成 AI 和外部服务之间的“统一插座”。麦当劳提供了这个插座,openclaw 插上去,就能替你完成领券、查套餐这类动作。适合谁?适合已经跑通 openclaw 基础对话、想进一步接真实业务接口的人;也适合想理解 MCP 到底怎么落地的小白,因为领券这个场景链路短、反馈快,跑通一次就全明白了。
整个链路拆开就四步:装好麦当劳 skill、拿到 MCP 的 API token、把 token 配进 openclaw、发一句话触发领券。听起来简单,但中间有几个坑,比如 token 放错位置、config.toml 字段名写错、settings.json 里工具没启用,都会导致“AI 说它领了,其实啥也没发生”。下面我按可复制的顺序走一遍,配置骨架直接给,你替换自己的值就能用。
2. TaoToken 前置:把 API token 和模型通道准备好
在接麦当劳 MCP 之前,得先保证 openclaw 本身有可用的模型通道,否则智能体连“理解你要领券”这一步都做不到。这里我用 TaoToken 来做模型接入层,它的 API 地址是 https://taotoken.net/api ,官网是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。注意 API 地址不带后面那串参数,配置里只写 https://taotoken.net/api 就行。
你需要先去控制台建一个 API Key。打开 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,登录后进 API Keys 页面,点新建,复制那串 sk- 开头的 key。这个 key 是给 openclaw 调模型用的,和后面麦当劳的 MCP token 是两码事,别混。
如果你还没决定用哪个模型,可以先到模型对话页试一下手感:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite 。在里面发一句“帮我列三个麦当劳早餐套餐”,看看返回是否正常。这一步是排除模型通道问题,省得后面领券失败时你分不清是模型没通还是 MCP 没通。
长期跑编码或者 Agent 任务的话,可以看下 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite 。领券这种轻任务用按量就够,但如果你打算把 openclaw 挂着一整天自动跑,套餐会更省心。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,字段含义不清楚时对着查。
3. 可复制配置:config.toml 骨架与 settings.json 片段
openclaw 的配置分两块:一块是主配置 config.toml,管模型通道和 MCP 服务注册;一块是 settings.json,管工具启用和权限。下面这份骨架你直接抄,把尖括号里的值换成自己的。
# config.toml [model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoToken密钥" model = "gpt-4o-mini" [mcp.mcdonald] command = "npx" args = ["-y", "@mcd/mcp-server"] env = { MCD_MCP_TOKEN = "你的麦当劳MCP_TOKEN" } enabled = true几个关键点。base_url 一定写 https://taotoken.net/api ,不要多加斜杠或者路径。api_key 就是刚才在控制台建的那串。mcp.mcdonald 这一段是注册麦当劳的 MCP 服务,command 和 args 按你实际安装的 skill 来,如果你用的是本地已装好的 skill,把 command 改成对应可执行文件路径即可。env 里的 MCD_MCP_TOKEN 就是麦当劳那边激活后拿到的 token,这个值建议用环境变量注入,别硬编码进仓库。
然后是 settings.json,控制哪些工具对智能体可见:
{ "tools": { "mcdonald": { "enabled": true, "actions": ["claim_coupon", "list_coupons", "recommend_meal"], "require_confirm": false } }, "agent": { "max_tool_calls": 5, "timeout_ms": 15000 } }actions 里我开了三个:领券、列券、推荐套餐。require_confirm 设成 false 是为了让领券一步到位,如果你担心误触,改成 true,这样 AI 会先问你“确认领取吗”。timeout_ms 给 15 秒,麦当劳接口偶尔慢,给太短会误报失败。
配完这两块,重启 openclaw 服务。重启命令看你部署方式,如果是 systemd 就systemctl restart openclaw,如果是前台跑的,Ctrl+C 再起一次就行。
4. 验证请求:发一句话看它到底领没领到
配置好了别急着高兴,先做一次最小验证。打开你挂 openclaw 的聊天窗口,飞书或企业微信都行,发这句:
帮我领一张麦当劳优惠券
正常的话,openclaw 会先调 mcdonald 工具的 claim_coupon,然后返回类似“已为你领取一张满30减5的券,有效期到今天24点”。如果它回的是“我没有相关工具”或者“无法完成”,说明 MCP 没注册成功,回到第 5 节排查。
想确认得更实在一点,可以再发一句:
列出我当前可用的麦当劳优惠券
这一步会调 list_coupons,返回一个列表。如果列表里有你刚领的那张,说明链路真的通了,不是 AI 在编。我实测下来,第一次领券偶尔会返回“券已领完”,换一张或者过几分钟再试就好,不是配置问题。
再进阶一点,试试推荐场景:
有没有适合健身人士的麦当劳套餐
它会调 recommend_meal,返回类似“原味鸡腿堡+玉米杯+无糖可乐”这种组合。这一步能验证多 action 是否都生效。如果只有领券能用、推荐报错,多半是 settings.json 里 actions 没写全。
验证通过后,你可以把触发词固定下来,比如每天发“领券”两个字,openclaw 就自动跑 claim_coupon。想更省事就配个定时任务,让它每天早上自动领一次。
5. 本篇常见错排查:token、字段、超时三类问题
领券失败基本逃不出这三类,我按出现频率排。
第一类,token 问题。表现是 AI 说“认证失败”或“401”。先确认麦当劳 MCP token 是不是激活后复制完整了,有些页面复制会漏掉尾部字符。再确认 config.toml 里 env 的 key 名和 skill 要求的一致,有的 skill 要 MCD_TOKEN,有的要 MCD_MCP_TOKEN,写错就等于没传。TaoToken 的 key 如果报 401,去 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 重新建一个,注意别把两串 key 搞混。
第二类,字段名写错。表现是 openclaw 启动时报“unknown field”或者 MCP 服务加载不出来。config.toml 里[mcp.mcdonald]这个段名要和 settings.json 里 tools 下的键名对上,都是 mcdonald。base_url 写成 https://taotoken.net/api/ 带斜杠也可能出问题,去掉。args 数组里的包名如果版本变了,用npx -y @mcd/mcp-server@latest强制拉最新。
第三类,超时和并发。表现是“请求超时”但券其实领到了。把 settings.json 里 timeout_ms 调到 20000,max_tool_calls 调到 8。如果同时多个聊天窗口触发,可能撞上麦当劳的限流,等几秒重发即可。还有一种隐蔽情况:openclaw 进程没重启,改了配置不生效。养成改完就重启的习惯。
排查顺序建议从下往上:先看 openclaw 日志有没有 MCP 注册成功,再发 list_coupons 这种只读请求,最后才试 claim_coupon 这种写操作。只读都失败,说明是接入问题;只读成功写失败,多半是 token 权限或限流。
6. 跑通之后怎么继续用
链路通了之后,你会发现 MCP 这套东西的价值不在领一张券,而在于“AI 能调真实业务接口”这个模式。同样的 config.toml 骨架,把 mcdonald 换成别的服务,改 command、args、env 三处,就能接新的工具。settings.json 里 actions 按对方提供的接口名填就行。
如果你想把 openclaw 用在更重的编码或 Agent 场景,模型通道建议走 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ,比按量更稳。接入细节随时查文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。Claude Code 相关的接入看 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude_code&utm_campaign=rewrite 。
最后给个实用技巧:把领券触发词和定时任务结合,比如每天早上 8 点自动发一次“领券”,openclaw 跑完把结果推到聊天窗口。这样你连手动发消息都省了。配置改完记得重启,token 别硬编码,只读请求先验证——这三条记住,后面接任何 MCP 工具都能少踩一半坑。