Skip to main content
Glama

search_merchants

Read-onlyIdempotent

Search cached merchant records by sourced offer, place, price, timing, policy, action support, and freshness. Payment and adoption never change order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyNo
timingNo
client_idNoStable, non-secret identifier for the calling client
freshnessNo
geographyNo
action_typeNo
item_or_serviceNo
max_stale_secondsNo
maximum_price_amountNo
maximum_price_currencyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, open-world, idempotent, and non-destructive. The description supplements this with 'Payment and adoption never change order,' a specific ordering guarantee, and notes that the tool searches 'cached' records, implying data may be stale and freshness is a consideration. These traits are not captured by annotations, providing useful behavioral context.

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 two sentences, with the first front-loading the core purpose and the second adding a concise behavioral note. No filler or redundancy; every word earns its place.

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

Completeness3/5

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

With 10 optional parameters and no output schema, the tool is complex, yet the description gives only a high-level overview of search dimensions and a single ordering rule. It does not explain return values, pagination, default ordering, or the semantics of parameters like max_stale_seconds and client_id. Given the complexity, the description is notably underspecified for complete guidance.

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?

Schema description coverage is only 10% (only client_id has a description), so the description's list of search dimensions (place, price, timing, policy, action support, freshness) adds semantic meaning that maps to many parameters (e.g., geography, maximum_price_amount, action_type, freshness). However, not all parameters are covered (e.g., max_stale_seconds, client_id) and 'sourced offer' is ambiguous, leaving gaps in understanding. The description provides high-level guidance but does not fully compensate for the missing schema descriptions.

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 clearly states 'Search cached merchant records by sourced offer, place, price, timing, policy, action support, and freshness,' identifying the action (search), resource (cached merchant records), and filter dimensions. It distinguishes from siblings like check_merchant and inspect_merchant by indicating it is a general search over cached data. The phrase 'Payment and adoption never change order' adds a specific scoping detail.

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

Usage Guidelines3/5

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

The description implies usage for searching cached merchants by various filters, but provides no explicit guidance on when to use this tool versus sibling tools (e.g., inspect_merchant, resolve_merchant) or when not to use it. The reference to 'cached' hints at a distinction from live data, but this is not elaborated. No alternatives or exclusions are mentioned.

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.