Skip to main content
Glama

Thmenu

Create a cart

create_cart

Build an anonymous takeaway or delivery cart for a listed restaurant and get a one-time confirmation link for the guest. PUBLIC tool, no auth. Table orders are not supported here (they stay on the QR menu). Send the guest to confirm_url. Prices are re-read there from the live menu; name, phone, delivery address and payment are entered by the guest on that page — never through this tool. Nothing is ordered until the guest confirms. The link expires 30 minutes after creation and can be used once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoOrder-level note for the kitchen. Do not put the guest's name, phone or address here.
itemsYes
order_typeYes
restaurantYesRestaurant slug (from search_restaurants / list_public_menus) or id.
scheduled_forNoISO date-time for a scheduled pickup/delivery (optional; the venue may refuse on the confirmation page).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) by disclosing that nothing is ordered until guest confirmation, prices are re-read live on the confirmation page, the link expires in 30 minutes and is single-use, and PII/payment are never passed through this tool. These are exactly the operational traits an agent needs to avoid misuse.

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

Conciseness5/5

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

Front-loaded with the action and the returned artifact, then proceeds through constraints in priority order (public/no-auth, exclusions, handoff, pricing, expiry). Dense but every sentence carries distinct information with no redundancy.

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

Completeness5/5

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

With no output schema, the description names the key return (confirm_url) and explains its lifecycle (30-minute expiry, single use), and it covers auth, ordering semantics, and PII boundaries. An agent has everything needed to call this correctly.

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

Parameters4/5

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

At 60% schema coverage, the description compensates with meaningful negative guidance: name, phone, delivery address and payment are entered by the guest, never through this tool, and prices are re-read rather than supplied. This clarifies that items carry ids/quantities but not prices, though it does not describe order_type/items semantics that the schema already covers reasonably.

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 (build a cart) and resource (anonymous takeaway/delivery cart) with the exact output (one-time confirmation link). It also draws the boundary against table orders and against immediate ordering, so an agent can distinguish it from siblings like place_order or get_cart without opening schemas.

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?

Gives clear when-to-use context (anonymous takeaway/delivery for a listed restaurant) and explicit exclusions (table orders stay on the QR menu), plus the handoff action 'Send the guest to confirm_url.' It stops short of naming the sibling tool (place_order) that finalizes the order, leaving that routing implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources