Skip to main content
Glama

market_search

Read-onlyIdempotent

Find shops in the Lucerna market by what they do, what they say about themselves, AND WHAT THEY ACTUALLY STOCK. Use this when you know what you are shopping for but not which shop — 'a barber in Denver', 'heavyweight black tee'. Words are matched against each shop's own prose and against its live shelf — titles, descriptions, categories, tags and variant labels — so you can search for the PRODUCT and not only for a shop that happens to describe itself using your word. Each row says which it was (matched_on: words, shelf, or both). unreachable names any shop whose shelf refused, so a shop that stocks the thing and would not answer is never silently missing from your count. Filter with can to require a capability. Results are alphabetical: there is no paid placement and no ranking to game. Then call shop_lookup or concierge_ask on one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNowords to match against a shop's name, tagline, description, mission and location AND the words on its live shelf (titles, descriptions, categories, tags, variant labels) — every word must appear somewhere, so more words narrow the result. 'san diego tee' can match a town from the shop's prose and a product from its shelf.
canNorequire ALL of these capabilities: bookings (takes appointments), shop (sells goods), quote (quotes custom work by walking a concierge), tips
limitNohow many shops to return (default 24, max 100)
offsetNoskip this many — page with `total` from the answer

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate read-only and open-world, but the description goes further: it explains the matching logic against shop prose and live shelf, the `matched_on` indicator, the `unreachable` field for shops that refused to answer, and the alphabetical ordering with no paid placement. This adds significant context beyond annotations.

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 well-structured: it leads with the core purpose, then usage context, matching details, filtering, ordering, and follow-up. Every sentence adds new information; there is no redundancy or fluff, and it is appropriately sized for the tool's complexity.

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?

Despite lacking an output schema, the description explains key output aspects (matched_on, unreachable, total for pagination) and gives guidance on capabilities and pagination. It covers the essential behavioral details needed to call the tool 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?

Schema coverage is 100%, so parameters are documented. The description adds extra semantics for the `q` parameter (all words must match, more words narrow results, and gives an example). It also explains `can` filtering and pagination hints. However, it doesn't elaborate on `limit` and `offset` beyond the schema.

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 verb and resource: 'Find shops in the Lucerna market by what they do, what they say about themselves, AND WHAT THEY ACTUALLY STOCK.' It distinguishes itself from siblings by positioning it as a search tool for known products but unknown shops, and explicitly points to follow-up tools (shop_lookup or concierge_ask).

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?

Explicitly states when to use: 'when you know what you are shopping for but not which shop.' It also gives filtering guidance with `can` and mentions follow-up steps, clarifying it is for discovery rather than lookup.

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