Content
<p align="center">
<a href="https://open.mcd.cn/mcp" target="_blank">
<img src="https://img.mcd.cn/gallery/3fa1addc20b6d2d8.jpeg" align="middle" width = "1000" />
</a>
</p>
<p align="center">
| <a href="README_EN.md">English</a>
</p>
# Introduction
**What is McDonald's MCP Service?**
- McDonald's MCP Service is a data interaction interface service that follows the Model Context Protocol (MCP) standard, provided by McDonald's China, and is available for use in mainland China (excluding Hong Kong, Macau, and Taiwan).
- McDonald's MCP Service currently covers various business scenarios such as McDelivery ordering, in-store pickup, group dining, point redemption, and activity calendar queries. More practical tools are being developed and will be launched soon.
# News
- **[2026-04] `Feature`:** We have launched the ordering capabilities for "in-store pickup" and "group dining" scenarios, added a nearby store query tool, and upgraded multiple ordering tools to support multi-scenario ordering. [View tool details](#4-tools)
- **[2026-02] `Feature`:** We have added the "McDelivery ordering" and "point redemption" function modules, supporting complete delivery ordering and point redemption services. [View tool details](#4-tools)
- **[2026-01] `Feature`:** We have added the "menu nutritional information list" tool, allowing users to query the nutritional data of common McDonald's menu items, and consult the calories and nutritional information of McDonald's menu items. [View tool details](#4-tools)
- **[2025-12] `Release`:** We have released McDonald's MCP Server version 1.0.0, providing activity calendar query and McSave coupon functions. Try it now! For access tutorials, see the [Quick Start](#2-quick-start) section.
---
# 1. Apply for MCP Token
- Step 1: Click the 【Login】button in the top right corner
<div class="img"><img src="https://img.mcd.cn/gallery/91178777592c9118.jpeg" alt="" width="1000" /></div>
- Step 2: Jump to the login page and log in with mobile phone verification
<div class="img"><img src="https://img.mcd.cn/gallery/c7b5d9e9cdd2c786.png" alt="" width="1000" /></div>
After successful login, jump back to the homepage, and the "Login" button becomes the Control Panel
<div class="img"><img src="https://img.mcd.cn/gallery/a854347bb1339ee1.jpeg" alt="" width="1000" /></div>
- Step 3: Apply for MCP Token\
Click the "Control Panel" in the top right corner, and a Control Panel popup will appear\
Click the activation button to apply for MCP Token
<div class="img"><img src="https://img.mcd.cn/gallery/37434d0289646b80.png" alt="" width="1000" /></div>
- Step 4: Agree to the service agreement
<div class="img"><img src="https://img.mcd.cn/gallery/62916ae518d0876d.png" alt="" width="1000" /></div>
- Step 5: MCP Token application successful, can be copied with one click
<div class="img"><img src="https://img.mcd.cn/gallery/3d14672fe32c8090.png" alt="" width="1000" /></div>
# 2. Quick Start
> The following describes how to integrate MCP Server into MCP Client and start using MCP functions.\
> McDonald's China provides a remotely hosted MCP Server. Users only need to configure the access address and MCP Token in the MCP Client to use it.
## 2.1 Access Address
> Server access address: `https://mcp.mcd.cn`
## 2.2 Transmission Protocol and Security
> Use **Streamable HTTP** protocol access\
> To identify user identity and permissions, you need to carry the **Authorization** field in the request header, with the format as follows:
``` text
Authorization: Bearer YOUR_MCP_TOKEN
```
## 2.3 MCP Configuration JSON Example:
> For ease of use, we provide a JSON configuration example.\
> Copy the configuration below, replace **YOUR_MCP_TOKEN** with the actual MCP Token, and paste it into the MCP Server configuration of MCP Client.
``` json
{
"mcpServers": {
"mcd-mcp": {
"type": "streamablehttp",
"url": "https://mcp.mcd.cn",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN"
}
}
}
}
```
## 2.4 Precautions:
> - ⚠️MCP Server currently only supports MCP **Version 2025-06-18** and earlier versions.
> - Each Token allows a maximum of 600 requests per minute. Exceeding the limit will return a 429 error code. Please control the request frequency reasonably.
> - Ensure that MCP Client supports the Streamable HTTP protocol.
> - Keep MCP Token properly and avoid leakage to others.
## 2.5 Access Tutorials for Each Platform:
### 2.5.1 Cherry Studio
> **Prerequisites**: Need to apply for McDonald's China MCP Token, tutorial: [Apply for MCP Token](#1-apply-for-mcp-token)\
> Refer to Cherry Studio official documentation: https://docs.cherry-ai.com/advanced-basic/mcp
1. Open Cherry Studio and enter the settings page\
2. Select the "MCP" tab\
3. Click the "Add" button\
4. In the pop-up dropdown box, select "Import from JSON"
<div class="img"><img src="https://img.mcd.cn/gallery/662175d6e573bb31.png" alt="" width="1000" /></div>
Copy the JSON content from above and paste it in, **remember to replace "YOUR_MCP_TOKEN"**, then click the "OK" button
<div class="img"><img src="https://img.mcd.cn/gallery/932b5bea7c9a79eb.png" alt="" width="1000" /></div>
After adding, please turn on the enable switch
<div class="img"><img src="https://img.mcd.cn/gallery/ade1966003d77e3b.png" alt="" width="1000" /></div>
Configuration complete. Now you can use MCP functions in the chat window.
<div class="img"><img src="https://img.mcd.cn/gallery/16721f738e7f631e.png" alt="" width="1000" /></div>
### 2.5.2 Cursor
> Prerequisites: Need to apply for McDonald's China MCP Token, tutorial: [Apply for MCP Token](#1-apply-for-mcp-token)\
> Refer to Cursor official documentation: https://cursor.com/cn/docs/context/mcp
Open Cursor, click the top menu bar [Settings] → [Tools & MCP], and click [Add Custom MCP] in Installed MCP Servers
<div class="img"><img src="https://img.mcd.cn/gallery/b4817eeb8c597384.png" alt="" width="1000" /></div>
In the opened mcp.json file, fill in the JSON content copied from above, remember to replace YOUR_MCP_TOKEN with the actual MCP Token, and click [Close] and select [Save]
<div class="img"><img src="https://img.mcd.cn/gallery/671f20806476f7f7.png" alt="" width="1000" /></div>
Return to the settings page. At this point, the available McDonald's mcp tools should be displayed, and the service status should show [Connected]
<div class="img"><img src="https://img.mcd.cn/gallery/75a3dabf77fac237.png" alt="" width="1000" /></div>
Press CTRL/CMD + L to open the right Agent dialog box. Next, you can directly input requirements in the dialog box and let AI call tools for us.
<div class="img"><img src="https://img.mcd.cn/gallery/fed973ae04371908.png" alt="" width="1000" /></div>
### 2.5.3 TRAE
> Prerequisites: Need to apply for McDonald's China MCP Token, tutorial: [Apply for MCP Token](#1-apply-for-mcp-token)\
> Refer to TRAE official documentation: https://docs.trae.cn/ide/model-context-protocol
Open Trae, click [Settings] → [MCP] → [Manual Add] to add
<div class="img"><img src="https://img.mcd.cn/gallery/1b29297767cc5458.png" alt="" width="1000" /></div>
<div class="img"><img src="https://img.mcd.cn/gallery/720beadfcd8c7573.png" alt="" width="1000" /></div>
In the opened manual configuration page, fill in the JSON content copied from above, remember to replace YOUR_MCP_TOKEN with the actual MCP Token, and click [Confirm]
<div class="img"><img src="https://img.mcd.cn/gallery/a532f0555f6d0497.png" alt="" width="1000" /></div>
Return to the MCP page. At this point, the available McDonald's mcp tools should be displayed, and the service status should show [Connected]
<div class="img"><img src="https://img.mcd.cn/gallery/abe84f630677bfd7.png" alt="" width="1000" /></div>
Return to the dialog box and select [Builder with MCP]
<div class="img"><img src="https://img.mcd.cn/gallery/32970b601e173816.png" alt="" width="1000" /></div>
<div class="img"><img src="https://img.mcd.cn/gallery/68c6f494dfda0627.png" alt="" width="1000" /></div>
Next, you can directly input requirements in the dialog box and let AI call tools for us.
<div class="img"><img src="https://img.mcd.cn/gallery/4b82125a6902a916.png" alt="" width="1000" /></div>
## 2.6 Error Code Description
| code | Reason | Handling Suggestions |
|:----:|:----:|:---------|
| 401 | MCP Token invalid, expired, or not provided | Check Authorization request header and MCP Token configuration |
| 429 | Trigger rate limiting (exceed 600 requests/minute) | Reduce request frequency and control call interval reasonably |
# 3. Debugging Guide
## 3.1 Recommended MCP Client
| Client | Link |
|:-------------:|:--------------------------------------------------------------------:|
| Cherry Studio | https://docs.cherry-ai.com/advanced-basic/mcp |
| Cursor | https://cursor.com/cn/docs/context/mcp#protocol-support |
| Kiro | https://kiro.dev/docs/mcp/ |
| Trae | https://docs.trae.cn/ide/model-context-protocol |
| VSCode | https://code.visualstudio.com/docs/copilot/customization/mcp-servers |
## 3.2 Recommended LLM
As of February 12, 2026
| Manufacturer | Model |
|:--------:|:----------------------:|
| Qwen | qwen-plus<br>qwen3-max |
| Doubao | Doubao-Seed-1.6 |
| Kimi | k2.5 |
| Zhipu | GLM-5 |
| Gemini | gemini-3-flash-preview |
| DeepSeek | DeepSeek-V3.2 |
# 4. Tools
> Tools currently supported by MCP Server
## 4.1 Tool List
<table>
<thead>
<tr>
<th style="white-space: nowrap; text-align: center;"><strong>Tool</strong></th>
<th style="min-width: 100px;"><strong>Name</strong></th>
<th><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="white-space: nowrap; text-align: center;">list-nutrition-foods</td>
<td>Nutrition Information List</td>
<td>Get nutritional data for common McDonald's menu items, including energy, protein, fat, carbohydrates, sodium, calcium, etc. Used when users inquire about the calories or nutrition of McDonald's menu items or need help with customized meal planning.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">delivery-query-addresses</td>
<td>Delivery Addresses</td>
<td>Query a list of delivery addresses created by the user, used for selecting delivery addresses during food delivery and obtaining corresponding store information (storeCode, beCode).</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">delivery-create-address</td>
<td>Add Delivery Address</td>
<td>Used when a user has no deliverable addresses or needs to add a new delivery address, to create a new deliverable address.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-nearby-stores</td>
<td>Nearby Stores</td>
<td>Query McDonald's restaurants near a user-provided address.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-store-coupons</td>
<td>Available Coupons</td>
<td>Query a list of coupons available to the user at the current store, used for selecting available discounts during ordering.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-meals</td>
<td>Menu Items</td>
<td>Query a list of menu items available for sale at the current store, used for ordering.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-meal-detail</td>
<td>Meal Details</td>
<td>Query detailed information about a menu item (meal composition, default selection, etc.) based on the item code.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">calculate-price</td>
<td>Price Calculation</td>
<td>Calculate the total price, delivery fee, discount amount, and total amount payable based on the user's selected items (which may include coupons).</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">create-order</td>
<td>Create Order</td>
<td>Create an order based on store information, dining type, item list, etc., and return the order details and payment link.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-order</td>
<td>Order Details</td>
<td>Query order status, order content, delivery information, etc., used for users to view order progress or confirm order information.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">campaign-calendar</td>
<td>Campaign Calendar</td>
<td>Query McDonald's China marketing campaign calendar for the current month, returning ongoing, past, and future activities.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">available-coupons</td>
<td>Available Coupons</td>
<td>Query a list of coupons currently available for the user to claim.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">auto-bind-coupons</td>
<td>Auto Claim Coupons</td>
<td>Automatically claim all currently available McDonald's coupons. No specific coupon or coupon ID is required; the system will automatically claim all eligible coupons for the user.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-my-coupons</td>
<td>My Coupons</td>
<td>Query a list of coupons available to the user. Similar to opening the "My Coupons" page in the McDonald's app, it displays a list of all coupons that can be used for ordering.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">query-my-account</td>
<td>My Account</td>
<td>Query user account information, including available points, accumulated points, frozen points, and points about to expire.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">mall-points-products</td>
<td>Points Products</td>
<td>Query a list of products available for exchange with points in the McDonald's mall (excluding physical products or third-party codes).</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">mall-product-detail</td>
<td>Product Details</td>
<td>Query detailed information about a specific points product (images, points required, validity period, description, details, etc.).</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">mall-create-order</td>
<td>Points Order</td>
<td>Use points to exchange for a specific product, deduct points, and issue a code. Returns the exchange order number and code information.</td>
</tr>
<tr>
<td style="white-space: nowrap; text-align: center;">now-time-info</td>
<td>Current Time</td>
<td>Return the current complete time information so that the LLM knows the current time and date.</td>
</tr>
</tbody>
</table>
## 4.2 Ordering
### 4.2.1 Nutrition Information List
**Description:**
> Get nutritional data for common McDonald's menu items, including energy, protein, fat, carbohydrates, sodium, calcium, etc. Used when users inquire about the calories or nutrition of McDonald's menu items or need help with customized meal planning.
**Input Parameters:**
> No input parameters required.
**Response Content:**
> Note: To optimize LLM Token consumption, nutritional information is returned in a compact format (toon format) rather than the standard JSON array format.
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-01-23 09:32:44",
"data": "[1]{productName,nutritionDescription,energyKj,energyKcal,protein,fat,carbohydrate,sodium,calcium}:\n Pork Loin McMuffin,null,1288,308,16,16,24,781,213\n "
}
```
### 4.2.2 Delivery Addresses
**Description:**
> Query a list of delivery addresses created by the user. Used when the user has McDonald's delivery (McDelivery) or group meal needs to query deliverable addresses. Only used for delivery scenarios including McDelivery and corporate group meals.
**Input Parameters:**
| name | description |
|------|-------------|
| beType | Required, McDelivery (beType=2), Group Meal (beType=6) |
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:29:28",
"traceId": "f2a0d969353467c957fd6728166eb430",
"data": {
"addresses": [
{
"addressId": "1",
"contactName": "John Doe",
"phone": "152****6666",
"fullAddress": "Province City xxx District xxx Building xxx Unit xxx Room",
"storeCode": "12345",
"storeName": "xxx",
"beCode": "12345"
}
]
}
}
```
### 4.2.3 Add Delivery Address
**Description:**
> When a user has no deliverable addresses or the current list does not include the desired delivery address, this tool can be used to add a new delivery address. Only used for delivery scenarios including McDelivery and corporate group meals.
**Input Parameters:**
| name | description |
|------|-------------|
| city | City name, required, must be obtained from user input |
| contactName | Contact person name, required, must be obtained from user input |
| gender | Gender, optional, e.g., "Mr.", "Ms." |
| phone | Contact person phone number, required, must be obtained from user input, 11-digit pure number, e.g., "16666666666" |
| address | Delivery address, required, must be obtained from user input |
| addressDetail | Delivery address doorplate number, required, must be obtained from user input |
| beType | Required, McDelivery (beType=2), Group Meal (beType=6) |
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:29:28",
"traceId": "f2a0d969353467c957fd6728166eb430",
"data": {
"addressId": "1",
"contactName": "John Doe",
"phone": "152****6666",
"fullAddress": "Province City xxx District xxx Building xxx Unit xxx Room",
"storeCode": "12345",
"storeName": "xxx",
"beCode": "12345"
}
}
```
### 4.2.4 Nearby Stores
**Description:**
> Query McDonald's restaurants near a user-provided address. Used when a user wants to pick up an order, dine in, or find a McDonald's restaurant.
**Input Parameters:**
| name | description |
|------|-------------|
| searchType | Required, 1: Query favorites, 2: Search by location, default is 1 |
| beType | Required, default is 1, in-store |
| city | City, required only when searchType=2 |
| keyword | Location keyword, required only when searchType=2 |
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:44:29",
"traceId": "341e2dce2af4a61497b52097125a8a77",
"data": [
{
"storeCode": "1",
"storeName": "xxxx",
"beCode": "",
"address": "",
"distance": ""
},
{
"storeCode": "2",
"storeName": "xxxx",
"beCode": "",
"address": "",
"distance": ""
}
]
}
```
### 4.2.5 Available Coupons
**Description:**
> Query coupons available to the user at the current store and pickup method. Used when a user inquires about available coupons at the current store and pickup method.
**Input Parameters:**
| name | description |
|------|-------------|
| storeCode | Store code, required |
| beCode | BE code |
| orderType | Required, in-store: orderType=1, delivery: orderType=2 |
> In-store pickup: orderType=1 && beCode=null\
> Delivery: orderType=2 && beCode is delivery-query-address beCode
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:32:41",
"traceId": "0f694a844e393e6cb0717455d9229a24",
"data": [
{
"title": "Delivery Coupon",
"couponId": "xxxxxxxxxx",
"couponCode": "xxxxxx",
"tradeDateTime": "2025-04-21 23:23:00-2026-07-01 23:59:59",
"products": [
{
"productCode": "xxxxxxxxx",
"productName": "Sweet Meal Deal 1+1"
}
]
}
]
}
```
### 4.2.6 Menu Items
**Description:**
> Query a list of menu items available for sale at the current store. Used when a user wants to obtain the store menu or place an order.
**Input Parameters:**
| name | description |
|------|-------------|
| storeCode | Store code, required |
| beCode | BE code |
| orderType | Required, in-store: orderType=1, delivery: orderType=2 |
> In-store pickup: orderType=1 && beCode=null\
> Delivery: orderType=2 && beCode is delivery-query-address beCode
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 09:47:35",
"traceId": "4b2b4de1d772dad2dc498597c65cf3af",
"data": {
"categories": [
{
"name": "Popular Items",
"meals": [
{
"code": "9900008139",
"tags": []
},
{
"code": "9900008169",
"tags": []
},
{
"code": "920215",
"tags": [
"Second at Half Price"
]
}
],
"daypart": 8
}
],
"meals": {
"920215": {
"name": "Bacon Angus Burger Meal",
"currentPrice": "55.5"
},
"9900008139": {
"name": "DC Test Meal",
"currentPrice": "14"
},
"9900008169": {
"name": "Double Deep-Sea Cod Burger",
"currentPrice": "25"
}
}
}
}
```
### 4.2.7 Query Product Details
**Description:**
> Retrieve product details, including product composition, based on the product code returned in the product list. This tool is used when a user needs to view product details.
**Key Points:**
> The current version (v1.0.3) does not support changing individual products within a combo meal; this feature will be available in subsequent versions.
**Request Parameters:**
| name | description |
|------|-------------|
| code | Product code, required |
| storeCode | Store code |
| beCode | BE code |
| orderType | Required |
> In-store pickup scenario: orderType=1 && beCode=null\
> Delivery scenario: orderType=2 && beCode is the beCode from delivery-query-address
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:37:19",
"traceId": "21de60d22eea026cae0428f714359e2c",
"data": {
"code": "9900008139",
"price": "14",
"rounds": [
{
"id": 1,
"name": "Hamburger",
"quantity": 1,
"maxQuantity": 1,
"minQuantity": 1,
"choices": [
{
"code": "1000",
"name": "Hamburger-pool1",
"quantity": 1,
"maxQuantity": -1
}
]
}
]
}
}
```
### 4.2.8 Calculate Product Price
**Description:**
> Calculate the price of products and combos. This tool is used when a user inquires about the price of a product or product combination.
**Request Parameters:**
| name | description |
|------|-------------|
| storeCode | Store code, required |
| beCode | BE code |
| orderType | Required, in-store: orderType=1, delivery (McDelivery & Group Dining): orderType=2 |
| items | Product list (array) |
`items` field structure:
| name | description |
|------|-------------|
| productCode | Product code, required (if the user uses a coupon, the product code is the coupon product code) |
| quantity | Product quantity, required |
| couponId | Coupon ID, required when the user uses a coupon |
| couponCode | Coupon code, required when the user uses a coupon |
> In-store pickup scenario: orderType=1 && beCode=null\
> Delivery scenario: orderType=2 && beCode is the beCode from delivery-query-address
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:39:50",
"traceId": "1f90ace087d33bdabd3b8c27da4e7b0a",
"data": {
"productOriginalPrice": 1600,
"productPrice": 1600,
"deliveryOriginalPrice": 600,
"deliveryPrice": 600,
"originalPrice": 2200,
"discount": 0,
"price": 2200,
"productList": [
{
"productCode": "xxxxxxx",
"productName": "DC Combo Test",
"quantity": 1,
"originalSubtotal": 1600,
"subtotal": 1600
}
],
"takeWayList": [],
"mealAssistanceList": []
}
}
```
### 4.2.9 Create Order
**Description:**
> Create an order. This tool is used when a user wants to place an order or purchase selected products.
**Request Parameters:**
| name | description |
|------|-------------|
| storeCode | Store code |
| beCode | BE code|
| addressId | Required for delivery scenarios |
| takeWayCode | Required for in-store scenarios, obtained from the calculate-price tool |
| orderType | Required, in-store: orderType=1, delivery (McDelivery & Group Dining): orderType=2 |
| items | Product list (array) |
`items` field structure:
| name | description |
|------|-------------|
| productCode | Product code, required (if the user uses a coupon, the product code is the coupon product code)|
| quantity | Product quantity, required |
| couponId | Coupon ID, required when the user uses a coupon |
| couponCode | Coupon code, required when the user uses a coupon |
> In-store pickup scenario: orderType=1 && beCode=null\
> Delivery scenario: orderType=2 && beCode is the beCode from delivery-query-address
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:42:51",
"traceId": "80572509920e2e1e4a4373ee9eeca070",
"data": {
"orderId": "1030938730000733964700499858",
"payId": "11940981078137585664",
"payH5Url": "https://m.mcd.cn/mcp/scanToPay?orderId=1030779030000000000000000",
"orderDetail": {
"orderStatus": "Pending Payment",
"storeName": "xxxxxx Store",
"storeAddress": "xxxxx",
"orderProductList": [
{
"productName": "DC Combo Test",
"quantity": 1,
"price": "16",
"comboItemList": [
{
"itemName": "Hamburger-pool1 Add a Cream (Add)",
"itemQuantity": 1
}
]
}
],
"totalAmount": "22",
"realTotalAmount": "22",
"totalDiscountAmount": "0",
"couponList": [],
"deliveryInfo": {
"deliveryType": "Deliver Immediately",
"deliveryAddress": "xxxx Community - xx Building",
"addressDetail": "xxx Room",
"customerNickname": "John",
"mobilePhone": "152****6666",
"expectDeliveryTime": ""
},
"createTime": "2026-02-09 14:42:51",
"deliveryPrice": "6",
"realDeliveryPrice": "6",
"productPrice": "16",
"takeWay": "locker-in",
"pickupCode": "",
"lockerCode": "",
"mealAssistance": {
"code": "",
"name": "",
"items": [
{
"name": ""
}
]
}
}
}
}
```
### 4.2.10 Query Order Details
**Description:**
> Query order details. This tool is used when a user wants to check the order status, order progress, and other information.
**Request Parameters:**
| name | description |
|------|-------------|
| orderId | Order number, required |
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:44:29",
"traceId": "341e2dce2af4a61497b52097125a8a77",
"data": {
"orderId": "1030938730000733964700499858",
"orderStatus": "Pending Payment",
"storeName": "xxxxx Store",
"orderProductList": [
{
"productName": "DC Combo Test",
"quantity": 1,
"price": "16",
"comboItemList": [
{
"itemName": "Hamburger-pool1 Add a Cream (Add)",
"itemQuantity": 1
}
]
}
],
"totalAmount": "22",
"realTotalAmount": "22",
"totalDiscountAmount": "0",
"couponList": [],
"deliveryInfo": {
"deliveryType": "Deliver Immediately",
"deliveryAddress": "xxxx Community - xx Building",
"addressDetail": "xxx Room",
"customerNickname": "John",
"mobilePhone": "152****6666",
"expectDeliveryTime": ""
},
"createTime": "2026-02-09 14:42:51",
"deliveryPrice": "6",
"realDeliveryPrice": "6",
"productPrice": "16",
"takeWay": "locker-in",
"pickupCode": "",
"lockerCode": "",
"mealAssistance": {
"code": "",
"name": "",
"items": [
{
"name": ""
}
]
}
}
}
```
## 4.3 McDonald's Calendar
### 4.3.1 Activity Calendar Query Tool
**Description:**
> Query McDonald's China marketing activity calendar for the current month, returning ongoing, past, and future activities. This tool is used to view ongoing and upcoming activities that users can participate in and to check the user's subscription status for activities.
**Request Parameters:**
| name | description |
|:-------------:|:----------------------------------------------------------------------:|
| specifiedDate | Query activities for a specified date range (format: yyyy-MM-dd), returns activities for three days around the date, not required, defaults to current month's activities, querying today's activities does not require parameters |
**Response Content:**
> Note: Activity content may include promotional copy and marketing elements.
Example:
``` markdown
### Current Time: 2025-12-09 14:48:42
### Activity List:
#### December 8, Past Review
- **Activity Title**: Little Female Guard Sofa! Meet on McDonald's Mall on December 12! ⏰\
**Activity Content Introduction**: ❗️Super cute Little Female Guard love sofa is coming
😍Little Female Guard + Hamburger embroidery + pink color
✨Full of hero power and happy energy!
💥On sale at 14:00 on December 12
👇Book in advance, don't miss the excitement!\
**Activity Picture Introduction**: \
<img src="https://cms-cdn.mcd.cn/img/short-content/86a849ae4b9528e53ac595ffa1b39cf9.png" alt="" height="300" width="auto">
#### December 9, Today
- **Activity Title**: ⏳Countdown! Super popular '芝芝火腿扒堡' is coming back!\
**Activity Content Introduction**: 🍔Soft 芝芝火腿扒堡 paired with freshly brewed coffee
💥One burger + one coffee! Still ¥9.9!
☀A bite to energize your morning!
⏰Starting from December 15, rush to grab!\
**Activity Picture Introduction**: \
<img src="https://cms-cdn.mcd.cn/img/short-content/39bb241887869bca544b67a355cb616f.jpg" alt="" height="300" width="auto">
```
## 4.4 McDonald's Privileges
### 4.4.1 McDonald's Privilege List Query
**Description:**
> Query the list of privileges that users can currently receive. Returns coupon names, images, status, and promotional tags. This tool is used when users ask about available discounts and coupons.
**Request Parameters:**
> No parameters required
**Response Content:**
Example:
``` markdown
### McDonald's Privilege List:
- Coupon Title: 11.9 Yuan McChicken \
Status: Received \
Coupon Image: \
<img src="https://img.mcd.cn/cms/images/077b86c9268d33a0.png" height="auto" width="300">
- Coupon Title: 9.9 Yuan Fries \
Status: Not Received \
Coupon Image: \
<img src="https://img.mcd.cn/cms/images/0853e0f8882dc66e.png" height="auto" width="300">
- Coupon Title: North African Egg Flavor McFlurry \
Status: Not Receivable \
Coupon Image: \
<img src="https://img.mcd.cn/cms/images/6714e5753b475d96.png" height="auto" width="300">
```
### 4.4.2 One-Click Coupon Collection
**Description:**
> Automatically collect all currently available McDonald's coupons. No specific coupons or coupon IDs are required; the system will automatically collect all eligible coupons for the user. This tool is used when users say "Help me collect coupons," "Automatically collect coupons," or "One-click coupon collection."
**Request Parameters:**
> No parameters required
**Response Content:**
Example:
``` markdown
### 🎉 Coupon Collection Result
**Total**: 1 coupon
**Success**: 1
**Failure**: 0
---
#### ✅ Successfully Collected Coupons:
- **9.9 Yuan Fries**
- couponId: 8ED8D8BEBEBDEF26B615682E92EFAC86
- couponCode: MCDD60T892ST5EV00N1090
- Image: <img src="https://img.mcd.cn/cms/images/0853e0f8882dc66e.png" alt="9.9 Yuan Fries" height="200" width="auto">
```
### 4.4.3 My Coupons Query
**Description:**
> Query available coupons. Similar to opening the "My Coupons" page in the McDonald's app, this tool displays a list of all coupons that can be used for ordering. **Usage scenarios include but are not limited to**:
- Users want to know what coupons they have
- Check coupon validity and usage conditions
- View coupon quantity and status
**Request Parameters:**
> No parameters required
**Response Content:**
Example:
``` markdown
# Your Coupon List
A total of 1 available coupon
## 9.9 Yuan Fries
- **Discount**: ¥9.9 (coupon price)
- **Validity Period**: 2025-12-09 00:00-2026-02-12 23:59
- **Receipt Time**: Received today
- **Tags**: In-store Exclusive, Delivery Exclusive
<img src="https://mcd-portal-prod-cos1-1300270282.cos.ap-shanghai.myqcloud.com/campaign/prod/campaign-offer/coupon/66f226e438714697b9f15d1a753d91ba/%E5%A4%A7%E8%96%AF%E6%9D%A1.jpg?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDCD6mEcX25tVrjNxiPvEICas0uXyBKIBs%26q-sign-time%3D1763363214%3B1921043214%26q-key-time%3D1763363214%3B1921043214%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D59b757fb6a863e8debfcdce8e595bf268d9c0cb9" alt="悟空加价特调免费券0411" height="300" width="auto">
```
### 4.5.1 My Point Inquiry
**Description:**
> Query user's point account information, including historical point accumulation, available point quantity, expired point quantity, etc.; used when users inquire about the point quantity under their account.
**Input Parameters:**
> No input parameters required
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 13:58:34",
"traceId": "713a18de45735089a3b8a0e8a7cf3e36",
"data": {
"availablePoint": "7592",
"accumulativePoint": "141760.94",
"currency": "McDonald's Points",
"currentMouthExpirePoint": "0",
"expiredPoint": "0",
"frozenPoint": "30",
"lastMouthExpirePoint": "0",
"nextMouthExpirePoint": "0",
"usedPoint": "115474.14"
}
}
```
### 4.5.2 Point Redemption Product List
**Description:**
> Query the product coupons that can be redeemed with points in McDonald's (excluding physical products or third-party codes redeemable with points). Used when users ask which product coupons can be redeemed with points.
**Input Parameters:**
> No input parameters required
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 13:59:12",
"traceId": "43d1d331b103b29bd07a93d441409804",
"data": [
{
"spuName": "Medium Latte/American $500 points",
"spuId": 542,
"skuId": 10997,
"spuImage": "https://img.mcd.cn/gallery/b6e0616d94c1f733.png",
"point": "500",
"shopId": 2,
"selling": "",
"upTime": "2026-02-02 00:00:00",
"downTime": "2026-04-30 23:59:59"
}
]
}
```
### 4.5.3 Point Redemption Product Details
**Description:**
Query detailed information about product coupons redeemable with points.
Used when users want to know more about a specific product coupon (e.g., usage, validity period).
**Input Parameters:**
| name | description |
|------|-------------|
| spuId | The spuId of the product chosen by the user from the point redemption product list, representing the product's ID, required, Long type|
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:03:20",
"traceId": "801b027a09821d95f8a8d26337245ea7",
"data": {
"spuName": "Medium Latte/American $500 points",
"spuId": 542,
"skuId": 10997,
"images": [
"https://img.mcd.cn/gallery/b6e0616d94c1f733.png"
],
"points": "500",
"shopId": 2,
"extTradePrice": "7",
"selling": "",
"note": "note",
"detail": "detail",
"upDate": "2026-02-02 00:00:00",
"downDate": "2026-04-30 23:59:59"
}
}
```
### 4.5.4 Point Redemption Product Ordering
**Description:**
> Support users to redeem product coupons using points, completing point verification, deduction, and coupon issuance. Used when users need to redeem a specific product coupon.
**Input Parameters:**
| name | description |
|------|-------------|
| skuId | The skuId of the product chosen by the user from the point redemption product list, representing the specific product specification ID, required, Long type |
| count | The number of coupons to be redeemed, not required, Integer type, default=1 |
**Response Content:**
Example:
```json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2026-02-09 14:04:51",
"traceId": "da02dd48f941d934e4765627acdc27f4",
"data": {
"orderId": "ECS1202144786604392448",
"coupons": [
{
"couponId": "2BCEFFB7E1CEA6BD32A43C45A1CE80B3",
"orderItemId": "202144786647384064",
"couponCodes": [
"MCDD6E08N9100KC050F087"
],
"orderItemStatus": 1
}
],
"orderStatus": 30,
"status": 1
}
}
```
---
## 4.6 General
### 4.6.1 Current Time Information Query Tool
**Description:**
> Get current time information - Returns the server's complete time information, including: - Timestamp (millisecond level) - Formatted date and time - Year, month, and day information - Timezone and UTC time Useful when you don't know the current time and the user needs to specify a date to query the activity calendar.
**Input Parameters:**
> No input parameters required
**Response Content:**
Example:
``` json
{
"success": true,
"code": 200,
"message": "Request successful",
"datetime": "2025-12-11 17:57:05",
"traceId": "7b7255e6b4682f35dc0b4df39ffcf02d",
"data": {
"timestamp": 1765447025424,
"datetime": "2025-12-11T17:57:05.424",
"formatted": "2025-12-11 17:57:05",
"date": "2025-12-11",
"year": 2025,
"month": 12,
"day": 11,
"dayOfWeek": "THURSDAY",
"timezone": "GMT+08:00",
"offset": "+08:00",
"utc": "2025-12-11T09:57:05.425Z"
}
}
```
---
# 5. Version Log
| Date | Version | Description |
|:----------:|:-------:|------------------------------------|
| 2025-12-09 | 1.0.0 | McDonald's MCP Server |
| 2026-01-23 | 1.0.1 | Added "Menu Nutrition Information List" Tool, shortened URL for easier connection |
| 2026-02-13 | 1.0.2 | Added tools for McDelivery ordering and point redemption coupon scenarios |
| 2026-04-02 | 1.0.3 | Added tools for in-store pickup and group dining scenarios |
---
# 6. Precautions:
- Personal use for non-commercial purposes is allowed to copy and use the example configurations, parameters, JSON, or sample code in this repository, limited to connecting and using McDonald's MCP services.
- Using McDonald's MCP services must comply with McDonald's China's "Terms of Use" and "McDonald's MCP Service Rules" and agree to the aforementioned terms when applying for MCP Token.
- Without written authorization, the content of this repository cannot be used for commercial sales, paid distribution, traffic monetization, or any implied official endorsement, misleading public use. Nor can it be used for any illegal, unlawful, or black and gray industries.
- The content of this repository is provided "as is" and does not constitute any form of guarantee or commitment.
- This repository does not constitute any authorization of McDonald's and its affiliates' trademarks.
- Please properly keep your MCP Token and avoid leakage or use by others.
<p align="center"> 2026 McDonald’s. All Rights Reserved.</p>
Connection Info
You Might Also Like
valuecell
Valuecell is a Python project for efficient data management.
hexstrike-ai
HexStrike AI is an AI-powered MCP cybersecurity automation platform with 150+ tools.
Vibe-Trading
Vibe-Trading: Your Personal Trading Agent
tradingview-mcp
AI-assisted TradingView chart analysis — connect Claude Code to your...
AP2
AP2 provides code samples and demos for the Agent Payments Protocol.
tradingview-mcp
TradingView MCP Server offers real-time market analysis for crypto and stocks.