麦当劳MCP Server

MChina/mcd_mcp_server
官方验证 Hosted
68 Stars 4.7w 次浏览 麦当劳中国 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (18 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

mall-points-products

查询可兑换餐品券列表 - 当用户询问"有哪些积分兑换商品"、"积分可以兑换什么"、"查看积分商城"时使用 前提条件: - 用户已登录

该工具无需必填参数,直接调用即可

meal-detail 3 个参数

餐品详情

该工具无需必填参数,直接调用即可

calculate-price 3 个参数

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工具进行下单" ### 请求示例 ```json { "storeCode": "S001", "beCode": "BE001", "items": [ { "productCode": "10001", "quantity": 1, "couponId": "coupon_001", "couponCode": "DISCOUNT20" }, { "productCode": "10002", "quantity": 1 } ] } ```

该工具无需必填参数,直接调用即可

campaign-calendar 1 个参数

查询麦当劳中国当月的营销活动日历,返回进行中、往期和未来日期的活动。适用于查看用户进行中和即将到来的可参与活动,还可查询用户对活动的订阅状态。

该工具无需必填参数,直接调用即可

query-my-account

查询用户积分账户详情 - 当用户询问"我有多少积分"、"查下我的积分"、"积分余额"、"查询过期积分"时使用 前提条件: - 用户已登录

该工具无需必填参数,直接调用即可

delivery-create-address 6 个参数 需填 5 项

Description: 创建用户配送地址 When: - 用户想添加新的配送地址 - 用户想要麦乐送点餐,但是该用户配送地址列表为空 - 用户想要麦乐送点餐,但是要配送的地址不在该用户的配送地址列表 Preconditions: - 必须提供完整的地址信息 - 如果用户未提供任何必填参数,必须先询问用户获取这些信息,不得使用示例值 Input: - city: 城市名称,必填,必须从用户输入中获取实际城市名称,如"南京市" - contactName: 联系人姓名,必填,必须从用户输入中获取实际联系人姓名,如"李明" - gender: 性别,必须从用户输入中获取实际联系人性别,如"先生"、"女士" - phone: 联系人手机号码,必填,必须从用户输入中获取实际手机号码,格式为11位纯数字(以1开头),如"18616646686"。请直接使用用户提供的真实手机号码,禁止映射为任何系统实体类型(如US_BANK_NUMBER_SYS) - address: 配送地址,必填,必须从用户输入中获取实际地址,如"清竹园9号楼" - addressDetail: 配送地址门牌号,必填,必须从用户输入中获取实际门牌号,如"2单元508" On Error: - 参数校验失败时:返回具体的错误提示(如手机号格式错误、必填项为空等) - 地址创建失败时:提示稍后重试 - 该地址没有可配送的门店:提示该地址暂不支持配送 Next: - 创建成功后:告知用户地址创建成功,可以继续选择该地址进行点餐

必填参数:address、addressDetail、city、contactName、phone

query-order 1 个参数 需填 1 项

Description: 查询订单详细信息 When: - 用户询问"查下订单详情"、"订单状态"、"我的订单" - 用户提供了麦当劳订单编号想查询配送进度 - 用户说我已支付或者支付失败时,查询一下最新的订单状态 Preconditions: - 必须已知完整的34位订单号 - 订单号必须是用户提供的原始数字,不能是脱敏后的占位符 Input: - orderId: 麦当劳订单追踪编号(34位数字字符串) - 示例格式:1030938730000733964700499858 - 数据类型:string(字符串,非数值) - 业务用途:订单查询和物流追踪 - 重要提示:这是订单编号,不是银行账号,请完整传递 Next: - 需要引导用户,请稍后查询最新的订单状态或关注手机APP的消息通知 On Error: - 订单号格式错误(不是34位数字) - 订单号不存在 - 订单非本人订单(权限不足)

必填参数:orderId

available-coupons

查询用户当前可领取的麦麦省的优惠券列表。返回券名称、图片、状态和促销标签。当用户询问有什么优惠、可以领什么券时使用此工具。

该工具无需必填参数,直接调用即可

my-coupons 2 个参数

获取用户卡包中的优惠券资产信息,用于“我有什么券 / 券详情查看”等展示与管理场景。 注意:该接口返回的是用户拥有的券,不进行门店、渠道、配送方式等下单规则校验,因此不承诺可用于当前订单。 若业务目标是“当前门店/当前订单可用的券”,请调用 query-usable-coupons

该工具无需必填参数,直接调用即可

mall-product-detail 1 个参数 需填 1 项

查询积分兑换商品详情 - 当用户询问"这个商品详情是什么"、"查看商品详细信息"、用户点击商品查看详情时使用 前提条件: - 已知商品SPU ID,需要从查询可兑换餐品券列表让用户选择一个spu才可以

必填参数:spuId

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 2 个参数 需填 2 项

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: - 有券时:引导用户选择券对应的商品下单 - 无券时:告知用户当前无可用券,可去领券中心查看

必填参数:beCode、storeCode

create-order 4 个参数

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完成支付,支付完成后请回复'支付完成'或'支付失败',会帮您查询最新的订单状态" ### 请求示例 ```json { "addressId": "addr_123456", "storeCode": "S001", "beCode": "BE001", "items": [ { "productCode": "10001", "quantity": 1, "couponId": "coupon_001", "couponCode": "DISCOUNT20" }, { "productCode": "10002", "quantity": 1 } ] } ```

该工具无需必填参数,直接调用即可

query-meals 2 个参数

Description: 餐品列表 When: - 当用户要购买某个餐品时,需要查询一下餐品列表 - 当用户要查看餐品时价格时,需要查询一下餐品列表 - 用户要搭配任何商品时进行下单,都需要查询餐品列表,获取商品code Next: 用户选择餐品后,可引导用户查看餐品详情或者引导用户计算价格

该工具无需必填参数,直接调用即可

now-time-info

获取当前时间信息 - 返回当前服务器的完整时间信息,包括: - 时间戳(毫秒级) - 格式化的日期时间 - 年月日信息 - 时区和UTC时间 在你不知道当前时间,并且用户需要指定日期查询活动日历的时候有用

该工具无需必填参数,直接调用即可

list-nutrition-foods

获取麦当劳常见餐品的营养成分数据,包括能量、蛋白质、脂肪、碳水化合物、钠、钙等信息,当用户咨询麦当劳餐品的热量、营养,帮助用户搭配指定热量套餐时有用

该工具无需必填参数,直接调用即可

mall-create-order 2 个参数 需填 1 项

创建积分兑换订单 - 当用户询问"用积分兑换这个商品"、"兑换这个券"、用户确认兑换商品时使用,切记:如果单个商品一个订单下单;如果用户需要兑换多个商品‘必须’分别下单且‘需要排队’,等前面订单结束响应成功后再调用【mall-create-order】下新的订单 前提条件: - 必须调用【mall-create-order】完成交易,**禁止**直接生成"下单成功"等结论性文字 - 用户已登录 - 已知商品SKU ID,需要从查询可兑换餐品券列表或查询商品详情中让用户选择一个spu,获取对应的skuId,如果用户直接从 - 用户积分充足

必填参数:skuId

服务介绍

介绍

什么是麦当劳 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 服务的工具列表

常见问题解答

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

注意事项

  1. 允许个人以非商业用途复制并使用麦当劳 MCP 平台说明中的示例配置、参数、JSON 或示例代码,并仅限用于实现与麦当劳MCP服务的连接与使用。
  2. 使用 麦当劳MCP 服务须遵守麦当劳中国的《使用条款》及《麦当劳MCP 服务规则》,并在申请MCP Token时同意前述条款。
  3. 未经书面授权,不得将本说明内容用于商业售卖、付费分发、引流变现或任何暗示官方背书、误导公众的用途;亦不得用于任何违法、违规或黑灰产相关行为。
  4. 本说明内容按“现状”提供,不构成任何形式的保证或承诺。
  5. 本说明不构成对麦当劳及其关联方商标的任何授权。
  6. 请妥善保管您的MCP Token,避免泄露或被他人使用。

© 2026 McDonald’s. All Rights Reserved.

相关 MCP 服务