doordash-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_consumer_account_statusA | Verify the connected local DoorDash account with an authenticated request. Requires saved session and manually launched CDP Chrome. |
| list_consumer_ordersB | Read paginated consumer order history, including cancelled orders. Status is derived from history timestamps. |
| get_consumer_order_statusA | Find an order in a 20-order history page by order ID/UUID. Follow next_offset if absent. Reports history status, not courier tracking. |
| search_restaurantsB | Restaurant autocomplete matches for the current browser delivery location. Not an exhaustive restaurant directory. |
| get_restaurant_menuB | Read the default store menu feed, category metadata and loaded menu items. May be partial. |
| get_menu_item_optionsB | Read item price, customization groups, min/max constraints and one nested options level. |
| list_cartsA | List open carts, their cart-line IDs, menu-item IDs and subtotal. No submitted orders. |
| get_cartA | Read an open cart by cart_id, including quantities and selected options. |
| add_cart_itemA | Add an item to an explicit cart or the existing same-store cart; otherwise create one. Preserves other carts. Option IDs come from get_menu_item_options. Do not blindly retry on unknown outcome. |
| update_cart_itemA | Set quantity and optionally instructions for a cart-line ID (not menu-item ID). Keeps its selected options. To change options, remove and re-add. |
| remove_cart_itemA | Remove one entire cart line by cart_item_id. Use update_cart_item to reduce quantity. |
| clear_cartA | Delete the specified open cart and all its items. Does not cancel a submitted order. |
| get_checkout_previewA | Read current checkout pricing and selected saved payment card. Returns total_cents with explicit tip and preview_hash for place_order. Does not submit or change cart tip. |
| place_orderA | SUBMITS A REAL ORDER and may charge the selected saved card. Implemented but not live-tested. Use a fresh checkout preview, its exact hash/total and the same tip. request_id is a caller-generated UUID. One durable submission attempt per cart; unknown outcomes must be reconciled, never retried with a new ID. |
| get_order_operationA | Read durable placement state for a cart. If submission returned an order UUID, also query payment status. pending/unknown does not mean failed; never resubmit that cart. |
| get_order_payment_statusA | Read payment status for an order owned by this account, located in a 20-order history page. Returns provider status code and paid flag; no payment secrets. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target a distinct resource+action (carts vs. menu vs. restaurants vs. checkout). The main overlap is among get_consumer_order_status, get_order_operation, and get_order_payment_status, which all concern 'order' state, but descriptions distinguish history vs. durable placement vs. payment.
All tools use snake_case with a consistent verb_noun pattern (get_, list_, search_, add_, update_, remove_, clear_, place_). The cart-item verbs (add/update/remove_cart_item) are perfectly parallel.
16 tools is slightly heavy but well-scoped for a full consumer ordering workflow covering account, menu browsing, cart lifecycle, checkout, and payment status. Each tool earns its place with little redundancy.
The surface covers the domain end-to-end: auth check, restaurant search, menu/options, cart CRUD, checkout preview, order placement, and payment/placement reconciliation. Minor gaps exist around order cancellation (clear_cart explicitly does not cancel submitted orders) and account/address management.