Skip to main content
Glama

place_order

DestructiveIdempotent

Submits a real DoorDash order and may charge a saved card. Use a fresh preview hash with exact total/tip and reconcile unknown outcomes instead of retrying.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cart_idYes
tip_centsYes
request_idYes
total_centsYes
preview_hashYes
payment_card_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing that it is 'implemented but not live-tested', that one durable submission attempt exists per cart, and that unknown outcomes must be reconciled rather than retried with a new ID. This ties the idempotentHint=true annotation to concrete reconciliation behavior, which is high-value context for a destructive payment tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the destructive nature of the call and each sentence adding distinct operational value. The ALL-CAPS emphasis is a minor stylistic cost but the content is dense and earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world payment tool with no output schema, the description covers safety, idempotency and reconciliation — the critical gaps. It does not describe the failure/decline response shape or how a reconciled result is retrieved, but the essential calling contract is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the full burden. It explains request_id as a caller-generated UUID and links preview_hash/total_cents/tip_cents to the checkout preview, but leaves cart_id and payment_card_id unexplained and doesn't clarify the relationship between total_cents and tip_cents. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('SUBMITS A REAL ORDER') and immediately clarifies the side effect ('may charge the selected saved card'). This clearly separates it from the non-mutating siblings like get_checkout_preview and get_cart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly directs the caller to a fresh checkout preview and requires using its exact hash/total and the same tip, which is real when-to-use guidance. It does not name the sibling tool by name or state when NOT to use it (e.g. preview-only flows), so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.