Skip to main content
Glama

Show a merchant's menu / products

search_merchant_products
Read-onlyIdempotent

Show the menu for a merchant/restaurant by merchant_id (from a search result). The result includes the menu's categories (sections); pass a categoryId to browse that section's items (paged via page, with has_more). Omit both to show the top items; provide query to search within the menu. Renders as cards with category tabs and Prev/Next when the host supports MCP Apps. Results are paginated — a single response is only part of the menu. To locate a specific item, call this with query="<item name>", which searches the entire menu across pages and sections (more reliable than paging for finding a named item).

Input Schema

NameRequiredDescriptionDefault
cityNoCity scope. Defaults server-side.
pageNo1-based page within the category (default 1).
queryNoOptional search term within this merchant; omit for the menu.
languageNoResult language: en, ar, kr, bd.
categoryIdNoMenu section id (from the result's `categories`) to browse.
merchantIdYesMerchant id, e.g. from a `search` result's merchant_id.

Output Schema

NameRequiredDescriptionDefault
pageNo1-based page within the category.
has_moreNoWhether more pages exist for this section.
merchantNoThe merchant (merchant_id, name).
productsNoProducts on this page.
categoriesNoMenu sections (id, name).
category_idNoThe section this page is showing.
total_foundNo
product_countNoNumber of products in this response.
products_omittedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive. The description adds genuinely new behavior: pagination with `has_more`, that a single response is only part of the menu, and that it renders as cards with category tabs and Prev/Next when the host supports MCP Apps. These are traits not conveyed by 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 the core purpose and required id, then layers mode guidance and caveats. Slightly dense at five sentences, but each earns its place; minor redundancy between the pagination note and the query-reliability note.

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?

For a paged, mode-switching tool this covers the key completeness gaps: pagination limits, how to find a specific item, and host-dependent rendering. With an output schema present, it rightly omits return-field details.

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, but the description adds real semantic relationships: `categoryId` comes from the result's `categories`, `query` searches the entire menu across pages and sections, and `page` interacts with `has_more`. This goes beyond field-level docs, though it doesn't cover `city` or `language` behavior.

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 ('Show the menu for a merchant/restaurant') and identifies the required key (merchant_id from a `search` result). It is clearly distinguishable from siblings like `search`, `get_product_details`, and `get_full_menu` by being a per-merchant, paged menu view.

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 tells the agent how to choose modes: pass `categoryId` to browse a section, omit both to show top items, provide `query` to search within the menu. It also names the recommended alternative for item lookup (`query="<item name>"` instead of paging), which is exactly the when-to-use guidance an agent needs.

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