Peckish — DoorDash ordering
NPM · PECKISH-MCP · SCANNED SEP 20
Order food on DoorDash — compare real fee-included totals; you approve every order.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 34 of 103 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to CydVilla/peckish). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 53 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5639 tokens (~194/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Peckish — DoorDash ordering MCP server?
Peckish — DoorDash ordering runs locally as an npm package, launched with npx -y peckish-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · peckish-mcp
claude mcp add cydvilla-peckish -- npx -y peckish-mcp
{
"mcpServers": {
"cydvilla-peckish": {
"command": "npx",
"args": [
"-y",
"peckish-mcp"
]
}
}
} {
"servers": {
"cydvilla-peckish": {
"command": "npx",
"args": [
"-y",
"peckish-mcp"
]
}
}
} codex mcp add cydvilla-peckish -- npx -y peckish-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"cydvilla-peckish": {
"type": "local",
"command": [
"npx",
"-y",
"peckish-mcp"
],
"enabled": true
}
}
} openclaw mcp add cydvilla-peckish --command npx --arg -y --arg peckish-mcp
mcp_servers:
cydvilla-peckish:
command: "npx"
args: ["-y", "peckish-mcp"] {
"McpServers": {
"cydvilla-peckish": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"peckish-mcp"
]
}
}
} assistant mcp add cydvilla-peckish -t stdio -c npx -a -y peckish-mcp
{
"mcpServers": {
"cydvilla-peckish": {
"command": "npx",
"args": [
"-y",
"peckish-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 12 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 10 Sept 26 −3
- Security disclosure: unverified → fail ▼ functional
- Stability: pass → 0.80 functional
- 9 Sept 26 +1
- Stability: 0.97 → pass security
- Security disclosure: fail → unverified ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/peckish-mcp@0.4.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | CydVilla/peckish |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/CydVilla/peckish/.github/workflows/release.yml@refs/tags/v0.4.0 |
| Rekor log index | 2275496641 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:d6e58413e84e6962a5b0e728ce375e47ae53d40d8d5c52602a64d9261b1d738dcda62b25536da0846553c31dfbccf3491b14d1592d37a95418c7f10ca |
Background: How many MCP packages publish verified provenance →
Dependencies 103 packages
| Packages resolved | 103 |
|---|---|
| Stale | 34 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_items_to_cart ~392
Add items to a cart (creates one if no cart_uuid passed and none open at the store). APPEND semantics: re-adding an item_id SUMS quantities. Items need item_id + item_name + quantity; customizations go in nested_options[] (entries: id, name, quantity, optional recursive options[]). On required-options failure the response lists required_options[] — ask the user to choose, then retry. Check list_carts first.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_uuid | string | – | Existing cart to append to (omit to create/append to store's open cart). For someone else's group cart: pass their cart_uuid to join as a participant. |
| fulfillment | string | – | Mode for a NEW cart (default delivery) |
| group_cart | boolean | – | Create a shareable GROUP cart (no cart_uuid), or join another person's group cart (with their cart_uuid). Response carries group_cart_url — share it with participants. |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| items | array | yes | Items to add, e.g. [{"item_id":"123","item_name":"Salad","quantity":1,"nested_options":[{"id":"456","name":"Ranch","quantity":1}]}] |
| menu_id | string | yes | Menu ID from get_menu (restaurants) or build_grocery_list/item details (grocery) |
| spend_limit_cents | integer | – | Per-participant spend limit in CENTS for a NEW host-pays group cart (2500 = $25). Requires group_cart; cannot combine with cart_uuid. Omit for unlimited. |
| store_id | string | yes | Store ID the items belong to |
No output schema declared.
No examples provided.
apply_promo ~175
Apply a promo to a cart. Campaign promos from list_promos need promo_code + campaign_id + ad_group_id + ad_id; user-typed codes need only promo_code. On failure: check subtotal vs the promo's stated minimum. Re-preview after.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | – | Campaign promos only |
| ad_id | string | – | Campaign promos only |
| campaign_id | string | – | Campaign promos only |
| cart_uuid | string | yes | Cart UUID |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| promo_code | string | yes | Code string |
No output schema declared.
No examples provided.
build_grocery_list ~244
Resolve a grocery/pantry list to real products at one store (raw ingredients only — NOT restaurant food). STATELESS: every call REPLACES the list, so always send the complete list. Weight items take decimal quantity (0.5 = half lb) only when purchase_type is MEASUREMENT; eggs are per dozen. Verify resolved items[].name with the user before carting. Vague asks: cap at 20 items and show your picks.
| Name | Type | Req | Description |
|---|---|---|---|
| desired_mx_name | string | – | Preferred merchant name, e.g. 'Whole Foods' |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| items | array | yes | [{"name":"milk"},{"name":"ground beef","quantity":0.5}] |
| servings | integer | – | Only when the user says 'for N people' — display-only |
| store_id | string | – | Pin to a store (takes precedence over desired_mx_name) |
No output schema declared.
No examples provided.
delete_cart ~112
Empty a cart and abandon it (cart_uuid becomes invalid). Only on user request/consent — e.g. replacing a stale cart at the same store.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_uuid | string | yes | Cart UUID to abandon |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
find_items ~133
Search items inside ONE retail/grocery store by name — returns item_ids for cart adds, keyed per query. Empty for restaurants (use get_menu there).
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| queries | array | yes | One or more item names, e.g. ['milk','eggs'] |
| store_id | string | yes | Retail/grocery store ID |
No output schema declared.
No examples provided.
find_stores ~178
Discover NON-restaurant stores near the default address (16-mile radius): grocery (default), alcohol, convenience, pets, retail, or nv (all non-restaurant). distance_meters is meters — divide by 1609 for miles. Restaurant queries belong in search_restaurants.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| lat | number | – | Optional latitude override (pass with lng) |
| lng | number | – | Optional longitude override (pass with lat) |
| max | integer | – | Max stores (default 10) |
| vertical | string | – | Merchant type (default grocery) |
No output schema declared.
No examples provided.
get_checkout_url ~133
Browser checkout URL for a cart — FALLBACK ONLY, for edits the CLI can't make: swap payment method, opt out of credits, change address mid-checkout, enter a promo code, or finish an age-restricted order. Do not offer by default after previews.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_uuid | string | yes | Cart UUID |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
get_grocery_item_details ~130
Details for a retail/grocery item (pricing, options) + menu_id fallback source for grocery cart adds. Restaurants: use get_restaurant_item_details.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| item_id | string | yes | Item ID from find_items or build_grocery_list |
| store_id | string | yes | Store ID |
No output schema declared.
No examples provided.
get_menu ~169
Fetch a restaurant's menu: returns menu_id (needed for cart adds and item details), store_is_open, and items with item_id, name, description, price, category, has_required_modifiers, orderability. Large menus are capped — pass `filter` (case-insensitive substring on name/description/category) to narrow.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | Optional substring filter, e.g. 'chicken' |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| store_id | string | yes | Store ID from search_restaurants or order history |
No output schema declared.
No examples provided.
get_order_history ~174
Past orders (default 50 orders / 90 days, max 100 / 365): store, items, total, order_uuid, is_reorderable, fulfillment_type. Use to analyze habits ('my usual'), find reorder targets, or locate a specific past order (scan all results; if page_full, re-query higher/wider).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Window in days, up to 365 (default 90) |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| max | integer | – | Max orders 1-100 (default 50) |
No output schema declared.
No examples provided.
get_order_status ~114
Check whether a submitted order went through: successful | pending (check again) | action_required (user must verify in app) | failed | not_found.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| order_uuid | string | yes | From submit response or order history |
No output schema declared.
No examples provided.
get_receipt ~109
Itemized receipt for one past order (subtotal, fees, tax, tip, total, card last4). Sensitive — show only to the user.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| order_uuid | string | yes | Order UUID |
No output schema declared.
No examples provided.
get_restaurant_item_details ~175
Full details for one restaurant menu item: price, description, and extras[] customization groups (each with options[] holding option_id choices, min/max selections). REQUIRED before adding any item with has_required_modifiers. Pass selected options[].option_id values as nested_options when adding to cart (never extra_id).
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| item_id | string | yes | Item ID from get_menu (i_ prefix handled automatically) |
| menu_id | string | yes | menu_id from get_menu |
| store_id | string | yes | Restaurant store ID |
No output schema declared.
No examples provided.
get_session_context ~69
Load the user's ordering context: default delivery address, saved dietary/budget preferences, and current local time. Call once at the start of an ordering conversation.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short goal line, e.g. 'Help the user order food'. No user verbatim or personal specifics. |
No output schema declared.
No examples provided.
get_store_details ~105
Store business metadata incl. printable_address — use when the user needs to know WHICH physical location a store is ('which Starbucks?').
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| store_id | string | yes | Store ID |
No output schema declared.
No examples provided.
list_addresses ~104
List the user's saved DoorDash delivery addresses (label, printable address, default flag). Use to resolve 'home'/'work' references. Delivery always uses the account default address.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
list_carts ~139
List the user's open (unsubmitted) carts: cart_uuid, store, items, timestamps (epoch ms). ALWAYS check this before creating a cart at a store — only one open cart per store is allowed; if one exists, ask the user whether to extend or replace it.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| store_id | string | – | Optional: filter to one store |
No output schema declared.
No examples provided.
list_payment_methods ~104
Saved cards + which is default. Cards ONLY — wallets/gift cards are invisible here; never conclude 'no payment method' from an empty list (offer checkout-url instead).
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
list_promos ~121
Campaign promos eligible at a store for this user (may be empty — that's normal). To apply one to a cart use apply_promo with all four ids; preview_order shows what's actually discounting a cart.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| store_id | string | yes | Store ID |
No output schema declared.
No examples provided.
preview_order ~412
Authoritative pricing + logistics for a cart (read-only, no charge): display_summary (show VERBATIM to the user), quote {net_total_before_tip = the real total, line_items fee breakdown, tips_suggestion (cents), delivery_availability ETAs, credits, PIN requirement, work budgets}, and the default card (brand+last4). Re-run after ANY cart change. Pass include_work_benefits when the user mentions work/office/company/team/expense or delivers to a Work address. Budget checks: compare the user's cap against net_total_before_tip (tip adds on top).
| Name | Type | Req | Description |
|---|---|---|---|
| cart_uuid | string | yes | Cart UUID |
| fulfillment | string | – | MUTATES the cart's mode before pricing — only pass when the user explicitly asked to switch |
| include_work_benefits | boolean | – | Set on ANY work/company/team/expense signal |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| no_apply_credits | boolean | – | Opt OUT of applying DoorDash credits (they apply by default — do not prompt about them). Pass ONLY when the user explicitly asks not to use credits; all-or-nothing; pass the same flag at submit. |
| priority | boolean | – | Request Priority (express) delivery — a paid, faster upgrade. Delivery-only; incompatible with pickup and scheduled_time. Verify quote.delivery_availability.delivery_options[] contains delivery_optio… |
| scheduled_time | string | – | ISO 8601 UTC (e.g. 2026-07-19T23:00:00Z) for scheduled delivery; omit for ASAP |
| selected_budget_id | string | – | Apply a specific work budget id from a prior preview |
No output schema declared.
No examples provided.
remove_cart_item ~122
Remove one line item from a cart. cart_item_id = items[].id from show_cart (NOT the menu item_id).
| Name | Type | Req | Description |
|---|---|---|---|
| cart_item_id | string | yes | Cart-line id from show_cart items[].id |
| cart_uuid | string | yes | Cart UUID |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
remove_preference ~91
Delete a saved preference note (exact text match).
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| note | string | yes | Exact note text to remove |
No output schema declared.
No examples provided.
remove_promo ~144
Remove an applied promo (pass the same ids used at apply). Re-preview after.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | – | If used at apply |
| ad_id | string | – | If used at apply |
| campaign_id | string | – | If used at apply |
| cart_uuid | string | yes | Cart UUID |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| promo_code | string | yes | Code to remove |
No output schema declared.
No examples provided.
reorder ~134
Create a NEW cart from a past order. Check list_carts for the store first (one open cart per store). Afterwards ALWAYS preview_order and diff items vs the original — out-of-stock items drop silently; call out any drops before asking about submitting.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| order_uuid | string | yes | From get_order_history orders[].order_uuid |
No output schema declared.
No examples provided.
save_preference ~135
Persist a durable user preference across sessions (dietary rule, allergy, budget habit, tip default). Save when the user states one ('no mushrooms ever', 'I usually tip 20%'). Keep each note short and self-contained.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| note | string | yes | The preference, e.g. 'Avoid mushrooms in all dishes' |
No output schema declared.
No examples provided.
search_restaurants ~188
Search nearby restaurants by free-text query. Defaults to the user's default saved address location when lat/lng omitted. Returns store_id, name, distance, delivery_time estimate, rating. Stores with is_link_out=true cannot be ordered through this agent. Restaurant-focused — use find_stores for grocery/retail/pharmacy/pets/alcohol.
| Name | Type | Req | Description |
|---|---|---|---|
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| lat | number | – | Optional latitude override |
| limit | integer | – | Max results (default 8) |
| lng | number | – | Optional longitude override |
| query | string | yes | Search text, e.g. 'grilled chicken bowls' |
No output schema declared.
No examples provided.
set_default_address ~139
Change the ACCOUNT-WIDE default delivery address (persists across app/web). Prompts the user y/N in the terminal before applying. Only call when the user asked to deliver somewhere else.
| Name | Type | Req | Description |
|---|---|---|---|
| address_id | string | yes | addresses[].address_id from list_addresses |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| printable_address | string | yes | Human-readable address, shown in the confirmation prompt |
No output schema declared.
No examples provided.
show_cart ~120
Show cart contents (no pricing — use preview_order for that). items[].id is the cart-LINE id used by remove_cart_item; items[].item_id is the menu item id. Don't swap them.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_uuid | string | yes | Cart UUID |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
No output schema declared.
No examples provided.
submit_order ~406
Place the order — charges the user's real payment method. HARD GATE: the terminal asks the user to type 'yes'; a decline returns declined_by_user. Call ONLY after: (1) preview shown, (2) tip explicitly confirmed (delivery; pickup = 0 without asking), (3) payment method named to the user, (4) the user clearly said to place it. NOT idempotent — never retry without checking get_order_status first. Report success only when final_status.status == 'successful'.
| Name | Type | Req | Description |
|---|---|---|---|
| budget_id | string | – | Work benefits: chosen budget id |
| cart_uuid | string | yes | Cart UUID |
| confirmation_summary | string | yes | Short human-readable summary shown at the terminal gate: store, items, total, tip, card (brand+last4), ETA |
| expense_code | string | – | Required when budget expense_code_mode != NONE |
| expense_notes | string | – | Required when budget is_expense_note_required |
| fulfillment | string | – | Only to match a mode explicitly set at preview |
| intent | string | yes | One short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal s… |
| no_apply_credits | boolean | – | MUST match the preview: pass iff the user opted out of credits there |
| priority | boolean | – | MUST match the preview: pass iff the previewed quote used priority |
| scheduled_time | string | – | Must match the value used in preview, if any |
| team_account_id | string | – | Work benefits: budget's team_account_id when present |
| team_id | string | – | Work benefits: quote.team_id from preview |
| tip_cents | integer | yes | Dasher tip in CENTS (500 = $5.00). 0 only on explicit decline or pickup. |
No output schema declared.
No examples provided.
What is the Peckish — DoorDash ordering MCP server?
Peckish — DoorDash ordering is an MCP server listed in the public MCP registry as io.github.CydVilla/peckish. Order food on DoorDash, compare real fee-included totals; you approve every order. This page covers its npm package (peckish-mcp).
Is the Peckish — DoorDash ordering MCP server safe to use?
Peckish — DoorDash ordering scores 92 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Peckish — DoorDash ordering MCP server expose?
Peckish — DoorDash ordering exposes 29 tools: list_addresses, set_default_address, search_restaurants, get_menu, get_restaurant_item_details, and 24 more. Their descriptions and schemas cost roughly 4,771 tokens of context every time the server is loaded.
Is the Peckish — DoorDash ordering MCP server still maintained?
Peckish — DoorDash ordering is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Peckish — DoorDash ordering MCP server under?
Peckish — DoorDash ordering declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.