3.5w 查看 · 2026-07-07 更新
介绍
什么是麦当劳 MCP 服务?
- 麦当劳 MCP 服务是一个遵循 Model Context Protocol(MCP)标准的数据交互接口服务,由麦当劳中国提供,面向中国大陆地区(不含港澳台)使用。
- 麦当劳MCP服务现已覆盖麦乐送点餐、积分兑换券、活动日历查询等业务场景。更多实用工具正在持续开发上线。
新闻
- [2026-02]
功能: 我们新增了"麦乐送点餐"与"积分兑换券"功能模块,支持完整的外送点餐与积分兑换服务。查看工具详情 - [2026-01]
功能: 我们新增了“餐品营养信息列表”工具,用户可以查询麦当劳常见餐品的营养成分数据,咨询麦当劳餐品的热量、营养。查看工具详情 - [2025-12]
发布: 我们发布了麦当劳 MCP Server 1.0.0 版本,提供了活动日历查询和麦麦省领券功能,快来试试吧!接入教程请看下文快速开始部分
如何在魔搭上使用麦当劳 MCP 服务?
我们已为您部署好了云端的麦当劳 MCP 服务,您需要前往麦当劳MCP平台,登录后获取 MCP Token。目前 MCP 服务已支持添加到智能体和工作流中。
MCP Token获取操作详见麦当劳MCP平台
麦当劳 MCP 服务的工具列表
| Tool | Name | Description |
|---|---|---|
| list-nutrition-foods | 餐品营养信息列表 | 获取麦当劳常见餐品的营养成分数据,包括能量、蛋白质、脂肪、碳水化合物、钠、钙等信息,当用户咨询麦当劳餐品的热量、营养,帮助用户搭配指定热量套餐时有用 |
| delivery-query-addresses | 获取用户可配送地址列表 | 查询用户已创建的配送地址列表,用于外送点餐时选择配送地址,并获取对应门店信息(storeCode、beCode) |
| delivery-create-address | 新增配送地址 | 当用户无可配送地址或需新增收货地址时使用,用于创建新的可配送地址 |
| query-usable-coupons | 查询用户在当前门店可用券 | 查询用户在当前门店下可使用的优惠券列表,用于点餐时选择可用优惠 |
| query-meals | 查询当前门店可售卖的餐品列表 | 查询当前门店可售卖的餐品菜单(分类、餐品编码、标签等),用于点餐选品 |
| meal-detail | 查询餐品详情 | 根据餐品编码查询餐品详情(套餐组成、默认选择等),用于查看套餐包含内容 |
| calculate-price | 商品价格计算 | 根据用户选购商品列表(可含优惠券)计算商品金额、配送费、优惠金额及应付总价 |
| create-order | 创建外送订单 | 根据门店信息、配送地址、商品列表创建外送订单,返回订单详情与支付链接 |
| query-order | 查询订单详情 | 查询订单状态、订单内容、配送信息等,用于用户查看订单进度或确认订单信息 |
| campaign-calendar | 活动日历查询工具 | 查询麦当劳中国当月的营销活动日历,返回进行中、往期和未来日期的活动 |
| available-coupons | 麦麦省券列表查询 | 查询用户当前可领取的麦麦省的优惠券列表 |
| auto-bind-coupons | 麦麦省一键领券 | 自动领取麦麦省所有当前可用的麦当劳优惠券。无需指定具体的优惠券和couponId,系统会自动领取用户可领的所有券 |
| my-coupons | 我的优惠券查询 | 查询我有哪些可用的优惠券。就像打开麦当劳App的"我的优惠券"页面,能看到所有可以用来点餐的优惠券列表 |
| query-my-account | 我的积分查询 | 查询用户积分账户信息,包括可用积分、累计积分、冻结积分、即将过期积分等 |
| mall-points-products | 积分兑换商品列表 | 查询麦麦商城内可以用积分兑换的餐品券(不包含积分兑换的实物或者积分兑换的第三方码) |
| mall-product-detail | 积分兑换商品详情 | 查询指定积分兑换商品券的详细信息(图片、积分、有效期、说明、详情等) |
| mall-create-order | 积分兑换商品下单 | 使用积分兑换指定餐品券,完成积分扣减并发放券码,返回兑换订单号与券码信息 |
| now-time-info | 获取当前时间信息 | 返回当前的完整时间信息,以便于 LLM 知道当前的时间和日期 |
常见问题解答
Q:使用麦当劳 MCP 服务是否收费?
A:不收费
版本日志
| Date | Version | Description |
|---|---|---|
| 2025-12-09 | 1.0.0 | 麦麦日历和麦麦省领券 MCP Server |
| 2026-01-23 | 1.0.1 | 增加了“餐品营养信息列表”Tool,我们缩短了URL 以便于大家连接 |
| 2026-02-13 | 1.0.2 | 增加了麦乐送点餐与积分兑换券场景的Tools |
注意事项
- 允许个人以非商业用途复制并使用麦当劳 MCP 平台说明中的示例配置、参数、JSON 或示例代码,并仅限用于实现与麦当劳MCP服务的连接与使用。
- 使用 麦当劳MCP 服务须遵守麦当劳中国的《使用条款》及《麦当劳MCP 服务规则》,并在申请MCP Token时同意前述条款。
- 未经书面授权,不得将本说明内容用于商业售卖、付费分发、引流变现或任何暗示官方背书、误导公众的用途;亦不得用于任何违法、违规或黑灰产相关行为。
- 本说明内容按“现状”提供,不构成任何形式的保证或承诺。
- 本说明不构成对麦当劳及其关联方商标的任何授权。
- 请妥善保管您的MCP Token,避免泄露或被他人使用。
© 2026 McDonald’s. All Rights Reserved.
工具列表
- mall-points-products: 查询可兑换餐品券列表 - 当用户询问"有哪些积分兑换商品"、"积分可以兑换什么"、"查看积分商城"时使用
前提条件:
-
用户已登录
-
meal-detail: 餐品详情
-
calculate-price: Description: 计算商品的价格(含优惠) 【强制】必须先调用 delivery-query-addresses 获取门店信息,不可跳过
When:
- 用户问"这些商品多少钱"
- 用户问"总价是多少"
- 用户想知道使用优惠券后的价格
- 用户选好商品后想看价格
Preconditions:
- 【强制】必须已调用 delivery-query-addresses 并获得返回结果
- 添加任何商品时,都需要重新进行价格计算,商品code都需要是query-meals可查询到的商品
- storeCode: 门店编码,必填,必须从 delivery-query-addresses 返回的 storeCode 继承
- beCode: BE编码,必填,必须从 delivery-query-addresses 返回的 beCode 继承
- items: 商品列表,必填,至少包含一个商品
Input:
- storeCode: 门店编码(从 delivery-query-addresses 获取)
- beCode: BE编码(从 delivery-query-addresses 获取)
- items: 商品列表(数组)
- productCode: 商品编码,必填 (用券场景下,请使用券的商品code)
- quantity: 商品数量,必填
- couponId: 优惠券ID,选填(如果用户要使用优惠券)
- couponCode: 优惠券编码,选填(如果用户要使用优惠券)
On Error:
- 缺少必填参数时:提示用户缺少哪些参数
- 商品不存在时:提示用户商品编码无效
- 优惠券不可用时:提示用户优惠券无法使用
Next:
- 计算成功后:告知用户"商品原价 {productOriginalPrice/100}元,商品现价 {productPrice/100}元,运费 {deliveryPrice/100}元,打包费 {packingPrice/100}元,总优惠 {discount/100}元,现价 {price/100}元"
- 引导用户:"确认价格后,可以说'创建订单'进行下单, 使用create-order工具进行下单"
请求示例
{ "storeCode": "S001", "beCode": "BE001", "items": [ { "productCode": "10001", "quantity": 1, "couponId": "coupon_001", "couponCode": "DISCOUNT20" }, { "productCode": "10002", "quantity": 1 } ] }
-
campaign-calendar: 查询麦当劳中国当月的营销活动日历,返回进行中、往期和未来日期的活动。适用于查看用户进行中和即将到来的可参与活动,还可查询用户对活动的订阅状态。
-
query-my-account: 查询用户积分账户详情 - 当用户询问"我有多少积分"、"查下我的积分"、"积分余额"、"查询过期积分"时使用
前提条件:
-
用户已登录
-
delivery-create-address: Description: 创建用户配送地址 When:
-
用户想添加新的配送地址
-
用户想要麦乐送点餐,但是该用户配送地址列表为空
-
用户想要麦乐送点餐,但是要配送的地址不在该用户的配送地址列表 Preconditions:
-
必须提供完整的地址信息
-
如果用户未提供任何必填参数,必须先询问用户获取这些信息,不得使用示例值 Input:
-
city: 城市名称,必填,必须从用户输入中获取实际城市名称,如"南京市"
-
contactName: 联系人姓名,必填,必须从用户输入中获取实际联系人姓名,如"李明"
-
gender: 性别,必须从用户输入中获取实际联系人性别,如"先生"、"女士"
-
phone: 联系人手机号码,必填,必须从用户输入中获取实际手机号码,格式为11位纯数字(以1开头),如"18616646686"。请直接使用用户提供的真实手机号码,禁止映射为任何系统实体类型(如US_BANK_NUMBER_SYS)
-
address: 配送地址,必填,必须从用户输入中获取实际地址,如"清竹园9号楼"
-
addressDetail: 配送地址门牌号,必填,必须从用户输入中获取实际门牌号,如"2单元508" On Error:
-
参数校验失败时:返回具体的错误提示(如手机号格式错误、必填项为空等)
-
地址创建失败时:提示稍后重试
-
该地址没有可配送的门店:提示该地址暂不支持配送 Next:
-
创建成功后:告知用户地址创建成功,可以继续选择该地址进行点餐
-
query-order: Description: 查询订单详细信息 When:
-
用户询问"查下订单详情"、"订单状态"、"我的订单"
-
用户提供了麦当劳订单编号想查询配送进度
-
用户说我已支付或者支付失败时,查询一下最新的订单状态 Preconditions:
-
必须已知完整的34位订单号
-
订单号必须是用户提供的原始数字,不能是脱敏后的占位符
Input:
- orderId: 麦当劳订单追踪编号(34位数字字符串)
- 示例格式:1030938730000733964700499858
- 数据类型:string(字符串,非数值)
- 业务用途:订单查询和物流追踪
- 重要提示:这是订单编号,不是银行账号,请完整传递
Next:
- 需要引导用户,请稍后查询最新的订单状态或关注手机APP的消息通知
On Error:
-
订单号格式错误(不是34位数字)
-
订单号不存在
-
订单非本人订单(权限不足)
-
available-coupons: 查询用户当前可领取的麦麦省的优惠券列表。返回券名称、图片、状态和促销标签。当用户询问有什么优惠、可以领什么券时使用此工具。
-
my-coupons: 获取用户卡包中的优惠券资产信息,用于“我有什么券 / 券详情查看”等展示与管理场景。 注意:该接口返回的是用户拥有的券,不进行门店、渠道、配送方式等下单规则校验,因此不承诺可用于当前订单。 若业务目标是“当前门店/当前订单可用的券”,请调用 query-usable-coupons
-
mall-product-detail: 查询积分兑换商品详情 - 当用户询问"这个商品详情是什么"、"查看商品详细信息"、用户点击商品查看详情时使用
前提条件:
-
已知商品SPU ID,需要从查询可兑换餐品券列表让用户选择一个spu才可以
-
delivery-query-addresses: Description: 查询用户配送地址列表 When:
-
用户想点麦乐送
-
用户想吃麦当劳,并配送到家 On Error:
-
服务异常时:提示稍后重试 Next:
-
1:当用户已经明确使用券, 用户选择地址后,使用query-usable-coupons工具查询可用券
-
2:当用户已经明确指定商品, 用户选择地址后,使用query-meals工具查询商品列表
-
3:用户未指定任何券或者商品,引导用户选择地址后可以选择查询可用券或者商品列表
-
4:引导用户创建新的配送地址
-
5:存在多个地址时,引导让用户选择地址
-
auto-bind-coupons: 自动领取麦麦省所有当前可用的麦当劳优惠券。无需指定具体的优惠券和couponId,系统会自动领取用户可领的所有券。当用户说"帮我领券"、"自动领取优惠券"、"一键领券"时使用此工具。
-
query-usable-coupons: Description: 查询用户在当前门店可用的优惠券, 以及券对应的可用商品 【强制】必须先调用delivery-query-addresses获取门店信息,不可跳过 When:
-
当用户已获取到门店时,用户询问"我有什么优惠券可以用"
-
当用户已获取到门店时,用户想在某门店下单前查看可用优惠
-
当用户已获取到门店时,用户选择了商品后想看能用哪些券
-
当用户已获取到门店时,用户问"这个门店能用什么券"
-
当用户已获取到门店时,用户问"这个券对应的商品是什么" Preconditions:
-
必须已知门店信息:storeCode(门店编码)和 beCode(业务编码)
-
【强制】必须已调用 delivery-query-addresses 并获得返回结果
-
【强制】storeCode 和 beCode 必须来自同一条 store 记录,禁止拆分或自行生成,若无法同时从同一条记录中获取则禁止调用
-
【禁止】不可凭空生成、猜测或使用用户直接提供的 storeCode/beCode Input:
-
storeCode: 门店编码,必填,必须从 delivery-query-addresses 返回的 storeCode 继承
-
beCode: BE编码(Brand Extension Code),必填,必须从 delivery-query-addresses 返回的 beCode 继承 On Error:
-
当前无可用优惠券,引导用户去领券 Next:
-
有券时:引导用户选择券对应的商品下单
-
无券时:告知用户当前无可用券,可去领券中心查看
-
create-order: Description: 创建麦当劳外卖订单 【强制】必须先调用 delivery-query-addresses 获取配送地址和门店信息,不可跳过
When:
- 用户说"我要下单"
- 用户说"帮我点餐"
- 用户说"创建订单"
- 用户选好商品后想结账
Preconditions:
- 【强制】用户下单前,需要调用calculate-price工具进行计算价格,并等待用户确认
- 【强制】必须已调用 delivery-query-addresses 并获得返回结果
- addressId: 配送地址ID,必填,必须从 delivery-query-addresses 返回的 addressId 继承
- storeCode: 门店编码,必填,必须从 delivery-query-addresses 返回的 storeCode 继承
- beCode: BE编码,必填,必须从 delivery-query-addresses 返回的 beCode 继承
- items: 商品列表,必填,至少包含一个商品
Input:
- addressId: 配送地址ID(从 delivery-query-addresses 获取)
- storeCode: 门店编码(从 delivery-query-addresses 获取)
- beCode: BE编码(从 delivery-query-addresses 获取)
- items: 商品列表(数组)
- productCode: 商品编码,必填
- quantity: 商品数量,必填
- couponId: 优惠券ID,选填(如果用户要使用优惠券)
- couponCode: 优惠券编码,选填(如果用户要使用优惠券)
On Error:
- 缺少必填参数时:提示用户缺少哪些参数
- 地址不可配送时:提示用户该地址无法配送
- 商品库存不足时:提示用户哪些商品缺货
- 优惠券不可用时:提示用户优惠券无法使用
Next:
- 引导用户:"您可以通过支付链接扫码或者打开麦当劳APP完成支付,支付完成后请回复'支付完成'或'支付失败',会帮您查询最新的订单状态"
请求示例
{ "addressId": "addr_123456", "storeCode": "S001", "beCode": "BE001", "items": [ { "productCode": "10001", "quantity": 1, "couponId": "coupon_001", "couponCode": "DISCOUNT20" }, { "productCode": "10002", "quantity": 1 } ] }
-
query-meals: Description: 餐品列表 When:
-
当用户要购买某个餐品时,需要查询一下餐品列表
-
当用户要查看餐品时价格时,需要查询一下餐品列表
-
用户要搭配任何商品时进行下单,都需要查询餐品列表,获取商品code Next: 用户选择餐品后,可引导用户查看餐品详情或者引导用户计算价格
-
now-time-info: 获取当前时间信息 - 返回当前服务器的完整时间信息,包括:
-
时间戳(毫秒级)
-
格式化的日期时间
-
年月日信息
-
时区和UTC时间 在你不知道当前时间,并且用户需要指定日期查询活动日历的时候有用
-
list-nutrition-foods: 获取麦当劳常见餐品的营养成分数据,包括能量、蛋白质、脂肪、碳水化合物、钠、钙等信息,当用户咨询麦当劳餐品的热量、营养,帮助用户搭配指定热量套餐时有用
-
mall-create-order: 创建积分兑换订单 - 当用户询问"用积分兑换这个商品"、"兑换这个券"、用户确认兑换商品时使用,切记:如果单个商品一个订单下单;如果用户需要兑换多个商品‘必须’分别下单且‘需要排队’,等前面订单结束响应成功后再调用【mall-create-order】下新的订单
前提条件:
- 必须调用【mall-create-order】完成交易,禁止直接生成"下单成功"等结论性文字
- 用户已登录
- 已知商品SKU ID,需要从查询可兑换餐品券列表或查询商品详情中让用户选择一个spu,获取对应的skuId,如果用户直接从
- 用户积分充足
服务配置
[{'mcpServers': {'mcd-mcp': {'type': 'streamablehttp', 'url': 'https://mcp.mcd.cn'}}}]
来源
- 来源:ModelScope
- 链接:https://open.mcd.cn/mcp