# Mcd MCP

> 麦当劳中国 MCP API 调用。支持点餐、查门店、查营养信息、领券、积分兑换、活动日历等。当用户提到麦当劳、麦乐送、麦麦商城、点餐、优惠券、积分兑换时使用。

- Skill: `y735832496/mcd-mcp` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add y735832496/mcd-mcp`
- Raw SKILL.md: https://api.skillmd.com/api/skills/y735832496/mcd-mcp/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: y735832496 (https://skillmd.com/u/y735832496)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/y735832496/mcd-mcp

---


# 麦当劳中国 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。

### 请求模板

```bash
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>}}}'
```

## 工具列表与调用指南

### 通用流程

**到店点餐流程:**
1. `query-nearby-stores` → 查附近门店获取 storeCode
2. `query-store-coupons` → 查可用券（可选）
3. `query-meals` → 查菜单获取餐品编码
4. `query-meal-detail` → 查餐品详情（可选）
5. `calculate-price` → 算价格
6. `create-order` → 下单

**外送点餐流程:**
1. `delivery-query-addresses` → 查配送地址获取 storeCode、beCode
2. 后续同上，但 orderType=2 且带 beCode

---

### 1. list-nutrition-foods — 餐品营养信息

获取麦当劳常见餐品的营养成分（能量、蛋白质、脂肪等）。

**入参:** 无

**使用场景:** 用户问"这个汉堡热量多少"、"帮我搭配低热量套餐"

```bash
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 |

```bash
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时必填，位置关键词 |

```bash
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 | 否 | 优惠券编码 |

```bash
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 — 获取当前时间

**入参:** 无

---

## 注意事项

1. **价格单位:** API 返回的价格以"分"为单位（如 1600 = ¥16.00），展示给用户时需要除以 100
2. **到店 vs 外送:** 
   - 到店: orderType=1, beCode=null
   - 外送: orderType=2, beCode 从 delivery-query-addresses 获取
3. **创建订单前必须先 calculate-price**，获取 takeWayCode
4. **Token 从 TOOLS.md 获取**，不要硬编码
5. **营养信息** 返回的是紧凑格式（toon），不是标准 JSON
6. **创建订单** 返回 payH5Url 是支付链接，需要告知用户去支付
7. MCP 调用格式为 JSON-RPC 2.0，method 为 `tools/call`，params.name 为工具名，params.arguments 为参数

