麦当劳中国 MCP API Skill
概述
通过麦当劳 MCP Server(Streamable HTTP)调用麦当劳中国 API。
连接配置
- 服务器地址:
https://mcp.mcd.cn - 协议: Streamable HTTP
- 认证:
Authorization: Bearer <MCP_TOKEN> - Token 来源: TOOLS.md 中的麦当劳 MCP Token
使用方式
使用 exec 工具通过 curl 调用 MCP API。所有请求均为 POST JSON。
请求模板
curl -s -X POST 'https://mcp.mcd.cn/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"<TOOL_NAME>","arguments":{<ARGS>}}}'
工具列表与调用指南
通用流程
到店点餐流程:
query-nearby-stores→ 查附近门店获取 storeCodequery-store-coupons→ 查可用券(可选)query-meals→ 查菜单获取餐品编码query-meal-detail→ 查餐品详情(可选)calculate-price→ 算价格create-order→ 下单
外送点餐流程:
delivery-query-addresses→ 查配送地址获取 storeCode、beCode- 后续同上,但 orderType=2 且带 beCode
1. list-nutrition-foods — 餐品营养信息
获取麦当劳常见餐品的营养成分(能量、蛋白质、脂肪等)。
入参: 无
使用场景: 用户问"这个汉堡热量多少"、"帮我搭配低热量套餐"
curl -s -X POST 'https://mcp.mcd.cn/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list-nutrition-foods","arguments":{}}}'
2. delivery-query-addresses — 获取配送地址列表
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| beType | 是 | 麦乐送=2,团餐=6 |
curl -s -X POST 'https://mcp.mcd.cn/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"delivery-query-addresses","arguments":{"beType":2}}}'
返回关键字段: addressId, storeCode, beCode, fullAddress
3. delivery-create-address — 新增配送地址
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| city | 是 | 城市名,如"南京市" |
| contactName | 是 | 联系人姓名 |
| gender | 否 | "先生"/"女士" |
| phone | 是 | 11位手机号 |
| address | 是 | 配送地址 |
| addressDetail | 是 | 门牌号 |
| beType | 是 | 麦乐送=2,团餐=6 |
4. query-nearby-stores — 查询附近门店
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| searchType | 是 | 1=查询收藏,2=按位置搜索 |
| beType | 是 | 默认1(到店) |
| city | 条件必填 | searchType=2时必填 |
| keyword | 条件必填 | searchType=2时必填,位置关键词 |
curl -s -X POST 'https://mcp.mcd.cn/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"query-nearby-stores","arguments":{"searchType":2,"beType":1,"city":"上海","keyword":"人民广场"}}}'
返回关键字段: storeCode, storeName, beCode, address, distance
5. query-store-coupons — 查询门店可用券
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| storeCode | 是 | 门店编码 |
| beCode | 条件 | 外送时必填 |
| orderType | 是 | 到店=1,外送=2 |
6. query-meals — 查询可售餐品列表
入参: 同 query-store-coupons
返回关键字段: categories[].meals[].code(餐品编码), meals[code].name, meals[code].currentPrice
7. query-meal-detail — 查询餐品详情
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| code | 是 | 餐品编码 |
| storeCode | 是 | 门店code |
| beCode | 条件 | 外送时必填 |
| orderType | 是 | 到店=1,外送=2 |
8. calculate-price — 商品价格计算
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| storeCode | 是 | 门店编码 |
| beCode | 条件 | 外送时必填 |
| orderType | 是 | 到店=1,外送=2 |
| items | 是 | 商品数组 |
items 字段:
| 字段 | 必填 | 说明 |
|---|---|---|
| productCode | 是 | 餐品编码 |
| quantity | 是 | 数量 |
| couponId | 否 | 优惠券ID |
| couponCode | 否 | 优惠券编码 |
curl -s -X POST 'https://mcp.mcd.cn/mcp' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"calculate-price","arguments":{"storeCode":"12345","orderType":1,"items":[{"productCode":"9900008139","quantity":1}]}}}'
9. create-order — 创建订单
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| storeCode | 是 | 门店编码 |
| beCode | 条件 | 外送时必填 |
| addressId | 条件 | 外送时必填 |
| takeWayCode | 条件 | 到店时必填(从 calculate-price 返回获取) |
| orderType | 是 | 到店=1,外送=2 |
| items | 是 | 同 calculate-price |
返回关键字段: payH5Url(支付链接), orderId
10. query-order — 查询订单详情
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| orderId | 是 | 订单号 |
11. campaign-calendar — 活动日历查询
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| specifiedDate | 否 | yyyy-MM-dd,查3天活动。不传则查当月 |
12. available-coupons — 麦麦省券列表
入参: 无
13. auto-bind-coupons — 麦麦省一键领券
入参: 无
使用场景: 用户说"帮我领券"、"一键领券"
14. query-my-coupons — 我的优惠券查询
入参: 无
15. query-my-account — 我的积分查询
入参: 无
返回关键字段: availablePoint, accumulativePoint, frozenPoint
16. mall-points-products — 积分兑换商品列表
入参: 无
返回关键字段: spuId, skuId, spuName, point
17. mall-product-detail — 积分兑换商品详情
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| spuId | 是 | 商品spuId(Long) |
18. mall-create-order — 积分兑换商品下单
入参:
| 参数 | 必填 | 说明 |
|---|---|---|
| skuId | 是 | 商品规格id(Long) |
| count | 否 | 数量,默认1 |
19. now-time-info — 获取当前时间
入参: 无
注意事项
- 价格单位: API 返回的价格以"分"为单位(如 1600 = ¥16.00),展示给用户时需要除以 100
- 到店 vs 外送:
- 到店: orderType=1, beCode=null
- 外送: orderType=2, beCode 从 delivery-query-addresses 获取
- 创建订单前必须先 calculate-price,获取 takeWayCode
- Token 从 TOOLS.md 获取,不要硬编码
- 营养信息 返回的是紧凑格式(toon),不是标准 JSON
- 创建订单 返回 payH5Url 是支付链接,需要告知用户去支付
- MCP 调用格式为 JSON-RPC 2.0,method 为
tools/call,params.name 为工具名,params.arguments 为参数