Skip to main content
Glama

Ask which product the shopper means

refine_items

Resolve what the shopper actually means by each item on a list, so it can be planned. 'milk' could be whole, 2%, skim or oat; 'eggs' could be 12 or 18. Call this when build_plan says items need refining, or after adding vague items.

Call it with NO choices first: it returns each unresolved item with the options to offer. Ask the shopper about them, one item at a time and in their own words rather than reading out a menu, then call it again with their answers.

Use the option labels exactly as given. An item the shopper is happy to leave vague can be skipped, but it will not be plannable until it is resolved.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "refine_items"
  }
}

Input Schema

NameRequiredDescriptionDefault
listIdNoList to refine. Defaults to the user's active shopping list.
choicesNoThe shopper's answers. Omit on the first call to get the questions.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Without an output schema, the description carries the return burden and does so for the first call: 'it returns each unresolved item with the options to offer.' It also discloses the consequence of skipping and the constraint to use labels exactly. It does not explicitly state that resolutions are persisted to the list, though readOnlyHint=false implies a write.

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?

Three tight paragraphs: purpose with illustrative examples, call sequence, then constraint. Front-loaded and every sentence (including the milk/eggs examples) earns its place by concretizing what 'vague' means.

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?

Complete enough for a two-phase interaction tool: entry conditions, first-call behavior, second-call payload, and skip semantics are all covered. The only gap is what the second (answers) call returns or confirms, which is never stated.

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 baseline is 3; the description adds workflow meaning beyond the schema by telling the agent to omit choices on the first call and to pass option labels verbatim rather than paraphrasing them. It also clarifies that listId defaults to the active list via the schema description.

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 — resolving what the shopper means by each list item — and illustrates the ambiguity it handles ('milk' → whole/2%/skim/oat). It is clearly distinct from siblings such as add_items (which adds, not disambiguates), build_plan (which requests refinement), and show_alternatives.

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?

Gives explicit triggers: 'Call this when build_plan says items need refining, or after adding vague items.' It also prescribes the interaction order (no choices first to get questions, then call again with answers) and the exclusion that skipped items remain unplannable.

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