麦当劳MCP Server

othercalendar-managementlocation-services

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 服务的工具列表

ToolNameDescription
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:不收费

版本日志

DateVersionDescription
2025-12-091.0.0麦麦日历和麦麦省领券 MCP Server
2026-01-231.0.1增加了“餐品营养信息列表”Tool,我们缩短了URL 以便于大家连接
2026-02-131.0.2增加了麦乐送点餐与积分兑换券场景的Tools

注意事项

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

来源