Skip to main content
Glama

Place order

foran_place_order

Places a delivery order by checking out the current cart to a saved address, showing the order summary first, then confirming after customer approval with cash-on-delivery or wallet payment.

Instructions

Check out the current cart to a saved address. First call WITHOUT confirm to get the order summary and show it to the customer. Only after the customer clearly says yes, call again with confirm=true to place the real order. Payment: cash_on_delivery or wallet (Foran Money). Orders placed here carry the MCP fee (Rs 150) instead of the app's processing fee; always show it in the summary.

Input Schema

NameRequiredDescriptionDefault
noteNoNote for the store / rider.
moduleNomart = groceries and daily needs; bites = restaurant food.mart
confirmNotrue ONLY after the customer approved the summary.
address_idYesFrom foran_my_addresses.
coupon_codeNoe.g. FORANDELIVERY for a new customer's first order.
session_keyYesThe session_key returned by foran_login.
rider_tip_rsNo
payment_methodNocash_on_delivery

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Beyond the annotations, it discloses the order-summary approval step, payment options, and the MCP fee of Rs 150 that must be shown to the customer. It does not explain post-placement behavior, failure modes, or reversibility, though the annotations already mark this as non-read-only, open-world, and non-idempotent.

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?

The description is front-loaded with the checkout action and two-step confirmation rule, then adds payment and fee context. Every sentence provides actionable instruction or required customer-facing detail.

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 an 8-parameter mutation with no output schema, it covers the critical confirmation flow, payment methods, and fee disclosure. It stops short of explaining what the order summary contains or what the final order response provides, but the schema and annotations fill many of those gaps.

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?

The schema already covers 75% of parameters; the description adds procedural meaning for confirm and clarifies payment_method options including wallet as Foran Money. It leaves rider_tip_rs, module, and coupon_code details largely to the schema or undocumented.

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?

The description states a specific action: checking out the current cart to a saved address. It clearly distinguishes this from sibling cart and order-status tools by focusing on final order placement.

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?

It gives an explicit two-call flow: first without confirm to obtain a summary, then with confirm=true only after customer approval. It does not name alternative tools, but the when/when-not guidance for confirm is strong and actionable.

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