mcd-order
Provides a complete McDonald's ordering interface and tools for selecting stores, browsing menus, managing a cart, applying coupons, calculating prices, creating orders, and tracking order status through McDonald's official MCP service.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
McDonald's Ordering MCP App
Browse the menu, customize meals, apply coupons and follow your order inside an MCP Apps client. @dumbo-ai/mcd-mcp adds a React ordering interface to the McDonald's China MCP service.
Architecture

The host loads the bundled UI and forwards its tool calls to this server. Store search, menu browsing and checkout happen in the interface without another model turn. See MCP Apps for the host protocol.
Order flow: choose pickup, delivery or drive-through → select a store → add meals → review coupons and price → confirm the order → pay in the McDonald's app → track the order.
Related MCP server: Zomato MCP Server
Screenshots
Actual app UI with product images from the McDonald's website. Prices and stores use sample data.
Menu and shopping cart

Order review and checkout

Quick start
You need Node.js 20+, a client that supports MCP Apps, and a token from the McDonald's MCP platform.
Add this entry to your client's MCP configuration:
{
"mcpServers": {
"mcd-order": {
"command": "npx",
"args": ["-y", "@dumbo-ai/mcd-mcp", "--stdio"],
"env": { "MCD_MCP_TOKEN": "your-token" }
}
}
}Then ask the assistant to open McDonald's ordering, for example: “帮我点个麦当劳”. The ordering UI is currently in Chinese.
To preview without an account, replace the env object with { "MCD_MOCK": "1" }. This uses local sample data and does not call McDonald's.
You can also install once with npm install -g @dumbo-ai/mcd-mcp, then use "command": "mcd-mcp" and "args": ["--stdio"]. If the client cannot find the command, use its absolute path.
What you can do
Step | In the app |
Select a store | Pickup, delivery or drive-through; saved delivery addresses and address creation |
Build a meal | Menu categories, prices, promotions, combo substitutions and ingredient choices |
Review checkout | Coupons, utensils, notes, delivery fees and the price returned by the official service |
Pay | Confirm the order and scan the payment QR code to continue in the McDonald's app |
Follow the order | Automatically refreshed status, pickup or delivery information, and cancellation of unpaid orders |
Brand logos and product photos retain their original colors. The compact UI follows the host's light/dark theme and adapts to the available width. On hosts that support updateModelContext, it shares the selected store, cart and order state with the assistant.
A client without MCP Apps rendering receives tool results but cannot display this interface. App-only tools depend on the host honoring their visibility metadata; the server does not enforce a separate UI-only authorization check.
Tools
Tool | Visibility | Purpose |
| Model + app | Open the interface; optionally prefill mode, city, keyword or order ID |
| Model + app | Find pickup or drive-through stores |
| Model + app | List saved delivery addresses |
| Model + app | Find stores for a delivery address |
| Model + app | Read the store menu |
| Model + app | Read combo choices and ingredients |
| Model + app | List applicable coupons |
| Model + app | Request an official price quote |
| Model + app | Read order status and pickup/delivery information |
| App only | Save a delivery address |
| App only | Create an order and return the payment link |
| App only | Cancel an unpaid order |
Configuration and HTTP hosting
Variable | Purpose |
| Account token for stdio mode and the probe script |
| Set to |
| Optional upstream override; defaults to |
| HTTP listen port; defaults to |
The server does not load .env automatically. Set variables in your shell or client configuration; see .env.example.
Without --stdio, the server exposes Streamable HTTP at /mcp and a health check at /healthz. After a global install:
mcd-mcpConnect an HTTP-capable client to http://localhost:3001/mcp. Each HTTP request must carry the caller's own token, read in this order: x-mcd-token header → ?token= query parameter → Authorization: Bearer. HTTP mode does not fall back to MCD_MCP_TOKEN. Prefer headers when supported, since query parameters can appear in access logs. Tokens are used by the server, not passed to the UI or model.
Development
git clone https://github.com/dumboai-studio/mcd-mcp.git
cd mcd-mcp
npm install
npm run check
MCD_MOCK=1 npm startnpm run check typechecks and builds the React UI into a single HTML resource, then compiles the server. npm run dev watches both. To connect a client to a local build, use node with ["/absolute/path/mcd-mcp/dist/server/main.js", "--stdio"]. Avoid npm run start:stdio as the client's launch command because npm output can interfere with stdio messages.
For raw upstream responses, use npm run probe -- query-nearby-stores '{"searchType":1,"beType":1}' with MCD_MCP_TOKEN set. For a development host, see the official MCP Apps basic-host example.
Source: tools and UI resource · upstream client · UI flow · mock data.
License and affiliation
MIT. This is an independent, unofficial client, not affiliated with or endorsed by McDonald's. McDonald's names, logos and brand assets belong to their owners and are not covered by this project's license. Obtain your own token and follow the official service's terms.
This server cannot be deployed
Maintenance
Related MCP Connectors
Order food from Cordering white-label restaurants: browse menus, confirm, then place an order.
DoorDash MCP server for ChatGPT, Claude and any AI agent: search stores, read store menu, add item to cart, preview order total with fees, submit order, list past orders, get order status and reorder a past order in your own DoorDash account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to DoorDash yourself; Cotlet does not store your password and you need no DoorDash API key. About the official DoorDash API: DoorDash has no public API for ordering as a consumer (checked 27 Oct 2026). Its public APIs, Drive and Marketplace, are for merchants and delivery partners. Setup and FAQ: https://cotlet.dev/integrations/doordash-api-mcp-server
Pickup orders at Japanese restaurants for AI agents: find stores, read menus, place orders. No auth.
Find local shops, read live menus and free times, and order or book on the user's behalf.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Uber Eats for food ordering and delivery management through natural language, acting as a proof-of-concept MCP integration.-
- FlicenseNot gradedqualityCmaintenanceEnables voice-driven food ordering by providing tools to search restaurants, browse menus, check item availability, manage carts, calculate optimal coupon discounts, confirm and place orders, and track deliveries. It also supports long-term preference memory and order history for natural, multi-turn conversational commerce.-
- AlicenseAqualityCmaintenanceEnables an AI assistant to browse restaurants and menus, manage a cart, reorder past orders, review checkout details, and place food delivery orders, returning a payment link to complete payment.13MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to coordinate a McDonald's China group order: start an order, let teammates pick items (with fuzzy menu matching), merge selections, choose the cheapest coupon combination via price calculation, and split the bill fairly to the cent into a shareable git log / PR / receipt-style bill card. Exposes store lookup, menu, pick/drop, listing, checkout and leaderboard tools, but never an order-placement tool, so live ordering requires a human-run confirmation code.4MIT