Skip to main content
Glama

list_doubledash_options

Read-only

Find stores that can add items to an existing delivery or cart without an extra delivery fee. Use after an order is placed or before cart submission, and check the offer deadline.

Instructions

Stores whose items can join an EXISTING delivery with no extra delivery fee. Offer this after an order is placed — get_order_status carries a doubledash offer with an expires_at; only offer while that deadline is still in the future, and tell the user the deadline. Say nothing about DoubleDash when there is no offer, it has expired, or stores is empty. Pass order_uuid for a placed order or cart_uuid for an unsubmitted delivery cart. Needs dd-cli >= 0.2.6.

Input Schema

NameRequiredDescriptionDefault
intentYesOne 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 specifics — a generic goal is expected.
cart_uuidNoAn unsubmitted delivery cart — this or order_uuid
max_storesNoMost stores to return, 1-20 (default 10)
order_uuidNoA placed order's UUID — this or cart_uuid

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses the eligibility window, the expires_at deadline that must be surfaced to the user, the prerequisite dd-cli >= 0.2.6, and the empty-result behavior — none of which is in annotations or schema.

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?

Front-loads what the tool returns, then the offer/expiry gating rules, then parameter routing and version prerequisite. Dense but mostly non-redundant; the 'say nothing when...' sentence repeats the expiry condition already stated, costing a bit of tightness.

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?

Covers eligibility, preconditions, parameter routing, and version gating for a read-only tool with no output schema. The only minor gap is that it doesn't sketch the return shape (store fields, ordering), though max_stores in the schema bounds the result size.

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?

Schema coverage is 100%, so the baseline is 3; the description earns extra credit by explaining that order_uuid is for a placed order and cart_uuid is for an unsubmitted delivery cart, adding context the schema's terse 'this or order_uuid' does not.

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 — 'Stores whose items can join an EXISTING delivery with no extra delivery fee' — and implicitly differentiates from sibling search_doubledash (search) and add_doubledash_item (add), since this one enumerates eligible stores.

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

Usage Guidelines5/5

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

Explicit when-to-use ('Offer this after an order is placed'), the precondition (get_order_status doubledash offer with expires_at in the future), when to stay silent (no offer, expired, empty stores), and which identifier to pass depending on context (order_uuid vs cart_uuid).

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