Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
麦当劳助手 - 查询/领取优惠券、活动日历、餐品营养信息、门店查询、查询/创建外送地址、查询/创建外送订单、查询门店可用优惠券、查询餐品列表、查询餐品详情
麦当劳助手 - 查询/领取优惠券、活动日历、餐品营养信息、门店查询、查询/创建外送地址、查询/创建外送订单、查询门店可用优惠券、查询餐品列表、查询餐品详情
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Required Tools: execute_bash Required Environment Variables: MCD_TOKEN (required) - API authentication token from https://mcp.mcd.cn MCD_MCP_URL (optional) - MCP service endpoint URL (default: https://mcp.mcd.cn) Security Notes: MCD_TOKEN contains API credentials - never log or expose in output Always require user confirmation before creating orders or claiming coupons Price calculations must be confirmed by user before order creation Help users interact with McDonald's China services through MCP API calls. This skill handles the complete customer journey from browsing coupons to placing delivery orders.
Coupon Management - Browse available coupons, auto-claim all coupons, view owned coupons Campaign Calendar - Check ongoing and upcoming promotional activities Nutrition Information - Query calorie and nutrition data for menu items, help users build meals within calorie targets Delivery Ordering - Complete order flow: address management → menu browsing → price calculation → order creation Order Tracking - Check order status and delivery progress
Required: MCD_TOKEN environment variable must be set. Users obtain this from https://mcp.mcd.cn If the token is missing or API returns authentication errors: Inform the user they need to set MCD_TOKEN Provide the registration URL: https://mcp.mcd.cn Show how to set it: export MCD_TOKEN="your_token_here"
All tools are invoked via curl to the MCP endpoint: curl -s -X POST "${MCD_MCP_URL:-https://mcp.mcd.cn}" \ -H "Authorization: Bearer ${MCD_TOKEN}" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"TOOL_NAME","arguments":{...}},"id":1}' Parse responses from result.content[0].text or result.structuredContent. Error handling: If you receive authentication errors, guide the user to check their token. For rate limiting, suggest waiting before retrying.
Trigger phrases: "有什么优惠券", "帮我领券", "麦当劳优惠" Flow: Call available-coupons to show what's claimable If user wants to claim, call auto-bind-coupons Optionally call query-my-coupons to confirm Output format: Present as a numbered list with: Coupon name and discount amount Validity period Usage conditions (if any)
Trigger phrases: "我要点外卖", "麦乐送", "点麦当劳" Flow (must follow this sequence): Get delivery address - Call delivery-query-addresses Returns: addressId, storeCode, beCode (required for all subsequent calls) If empty: Guide user to create address with delivery-create-address If multiple: Ask user to choose Browse menu - Call query-meals with storeCode and beCode Show menu items with names, prices, and productCode User selects items Check store coupons (optional) - Call query-store-coupons Show coupons valid at this store Display applicable products for each coupon Calculate price - Call calculate-price with selected items Critical: All prices are in cents (分), divide by 100 for display Show: original price, discounts, delivery fee, packing fee, final total Wait for user confirmation before proceeding Create order - Call create-order only after user confirms price Returns payment link and order ID Guide user to complete payment Suggest they can check status later with query-order Why this sequence matters: Each step depends on data from the previous step. The storeCode and beCode from step 1 are required for steps 2-5. Skipping address lookup will cause all subsequent calls to fail.
Trigger phrases: "热量", "卡路里", "营养成分", "帮我搭配XX卡套餐" Flow: Call list-nutrition-foods to get nutrition database If user wants a specific calorie target, calculate combinations that fit Present options with complete nutrition breakdown Output format (required): Always show nutrition data in a table format: 食品热量(kcal)蛋白质(g)脂肪(g)碳水(g)巨无霸563263345中薯条34041644可乐(中)1500039总计10533049128 Why this matters: Users asking about nutrition need complete macronutrient data, not just calories. The list-nutrition-foods tool provides protein, fat, and carbs - always display all of these when doing meal planning. This helps users make informed dietary decisions.
Trigger phrases: "查订单", "配送到哪了", "订单状态" Flow: Ask for 34-digit order ID if not provided Call query-order with the order ID Show order status, items, delivery progress
Purpose: List all currently claimable coupons Parameters: None When: User asks what coupons are available
Purpose: Claim all available coupons to user's account Parameters: None When: User says "帮我领券", "一键领取"
Purpose: Show coupons user has already claimed Parameters: page (default "1"), pageSize (default "50") When: User asks "我有哪些券"
Purpose: Show recent and upcoming promotional campaigns Parameters: specifiedDate (optional, format: yyyy-MM-dd) When: User asks about promotions or activities
Purpose: Get nutrition data for common menu items Parameters: None Returns: Nutrition database with calories, protein, fat, carbs, sodium, calcium for each item When: User asks about calories, nutrition, or wants meal planning help Output requirement: Always present data in table format showing all available nutrition fields, not just calories
Purpose: Get user's saved delivery addresses and matching store info Parameters: None Returns: addressId, storeCode, beCode (save these for subsequent calls) When: Starting any delivery order flow Critical: This must be the first call in the delivery workflow
Purpose: Add a new delivery address Parameters (all required): city: City name (e.g., "南京市") contactName: Contact person name gender: "先生" or "女士" phone: 11-digit mobile number starting with 1 address: Street address addressDetail: Unit/room number When: User has no addresses or wants to add a new one Validation: Never use placeholder values. Ask user for real information if missing.
Purpose: Show coupons valid at a specific store and their applicable products Parameters: storeCode, beCode (from delivery-query-addresses) When: User wants to see what coupons they can use for current order Prerequisite: Must call delivery-query-addresses first
Purpose: Get menu items available at a store Parameters: storeCode, beCode (from delivery-query-addresses) Returns: Product list with productCode needed for ordering When: User wants to browse menu Prerequisite: Must call delivery-query-addresses first
Purpose: Get detailed info about a specific menu item Parameters: storeCode, beCode, code (product code from query-meals) When: User asks for details about a specific item
Purpose: Calculate order total including discounts, delivery, and packing fees Parameters: storeCode, beCode (from delivery-query-addresses) items: Array of {productCode, quantity, couponId?, couponCode?} Returns: Prices in cents (分) - divide by 100 for display When: After user selects items, before creating order Critical: Always call this and get user confirmation before create-order
Purpose: Place a delivery order Parameters: addressId (from delivery-query-addresses) storeCode, beCode (from delivery-query-addresses) items: Array of {productCode, quantity, couponId?, couponCode?} Returns: Payment link and order ID When: After user confirms price from calculate-price Prerequisites: Must call delivery-query-addresses first Must call calculate-price and get user confirmation
Purpose: Check order status and delivery progress Parameters: orderId (34-digit order tracking number) When: User wants to track their order
Purpose: Get current server time for checking campaign validity Parameters: None When: Needed to determine if promotions are active (usually automatic)
Use friendly, conversational Chinese When showing prices, always convert from cents to yuan (divide by 100) For delivery orders, explain each step briefly so users understand the flow If an API call fails, explain the error in plain language and suggest next steps When order is created, remind users to complete payment and offer to help track the order later
Skipping address lookup: Never try to query menu or create orders without first calling delivery-query-addresses Price unit confusion: API returns cents (分), always divide by 100 before showing to users Missing price confirmation: Always call calculate-price and wait for user OK before create-order Using placeholder data: For delivery-create-address, never use fake phone numbers or addresses - ask the user for real information Wrong parameter source: storeCode and beCode must come from the same store record in delivery-query-addresses response
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.