ittems product directory
Server Details
Merchant product catalogs for AI agents: price, availability, specs, variants, buy links. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct action/resource, but several pairs overlap: quick_search is explicitly a lighter search_catalog, lookup_catalog and get_product both retrieve products (bulk-by-id vs single full detail), and get_merchant_policies duplicates shipping/returns/payment data already surfaced by list_merchants. Descriptions do distinguish them well enough that misselection is unlikely.
All six tools use snake_case with a verb_noun pattern (get_*, list_*, lookup_*, search_*). Only minor deviation is quick_search using an adjective prefix instead of a clean verb.
Six tools is a well-scoped set for a read-only product directory: search (full/quick), id-based retrieval, product detail, merchant listing, and policies.
The read-only directory surface covers search, lookup, single-product detail, and merchant/policy browsing adequately. No category/brand enumeration tool exists, and write operations are absent, but for a discovery directory that is acceptable.
Available Tools
6 toolsget_merchant_policiesMerchant shipping, returns and payment termsBRead-onlyIdempotentInspect
Shipping, processing, returns, payment and identity facts of one merchant, each with its source URL.
| Name | Required | Description | Default |
|---|---|---|---|
| merchant | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety and read-only profile is fully covered. The description adds one genuinely useful trait beyond the annotations — that each fact carries its source URL — but says nothing else about behavior or output shape. With strong annotation coverage, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One efficient, front-loaded sentence with no waste; the returned fact categories are listed first and the source-URL note appended compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values, and it adequately conveys what is fetched for a simple one-argument lookup. The only shortfall is the unexplained merchant-identifier format, which leaves a small gap for a tool this simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'merchant' parameter, and the description only says 'of one merchant' without clarifying whether the value is an ID, slug, or name. The description does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (one merchant's shipping, processing, returns, payment, and identity facts), so an agent knows exactly what data it retrieves. It lacks an explicit verb (the name 'get_' carries that) and does not explicitly contrast itself with siblings like get_product or list_merchants. Still clearly distinguishable as a single-merchant policy lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing says whether this is for policy questions vs. catalog lookups, nor when to prefer it over get_product or list_merchants. The agent must infer the use case from the noun list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet one product in fullBRead-onlyIdempotentInspect
Full detail for one product: specs, variants with price and availability, images, merchant policies, and page URLs (metadata.pages) for the compact markdown view.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| meta | No | ||
| catalog | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world behavior, so the safety profile is covered. The description adds value by naming what comes back (variants with price/availability, merchant policies, page URLs), but says nothing about failure modes when the id is unknown or whether results are cached.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the core purpose and then the payload contents; no filler. It is dense but readable, and the return-value enumeration is the only part that shades into redundancy with the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not enumerate return fields, yet it does so competently. The real gap is the input side: with all three parameters undocumented and none required, an agent still lacks enough to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (id, meta, catalog), and the description does not explain any of them. The parenthetical reference to 'metadata.pages' arguably hints at a meta input path but is too oblique to compensate for the total absence of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Full detail for one product') and enumerates the returned content (specs, variants, images, policies, page URLs), which clearly sets it apart from the search/list siblings in spirit. It never names those siblings explicitly, so differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus quick_search or search_catalog, nor any statement that it expects an existing product id. The agent must infer the retrieval workflow (search first, then fetch full detail) on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_merchantsList merchantsBRead-onlyIdempotentInspect
Merchants in the directory with product counts, domains, index URLs and their shipping, returns and payment terms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that merchants carry product counts, domains, index URLs and commercial terms, which is useful content context, but says nothing about pagination, result size, or whether the whole directory is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the core resource (merchants in the directory) is front-loaded. The trailing field enumeration is somewhat list-heavy but each item conveys real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and zero input parameters, the description only needs to establish what the tool is and what it returns, which it does. The enumerated fields are arguably redundant with the output schema, but nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. There is nothing in the input schema for the description to clarify or compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (merchants in the directory) and enumerates the attributes returned (product counts, domains, index URLs, shipping/returns/payment terms), which lets an agent distinguish it from get_merchant_policies. It is a noun phrase rather than a verb+resource statement, but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as get_merchant_policies or lookup_catalog, and no stated prerequisites or exclusions. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_catalogLook up products by idARead-onlyIdempotentInspect
Fetch up to 50 products by id ('ittems::', '/' or SKU). Unknown ids yield fewer products plus an info message.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| meta | No | ||
| catalog | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the 50-item cap and the fact that unknown ids are skipped with an info message rather than failing. It doesn't explain ordering or whether the info message is structured, but it exceeds the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler; the cap and accepted formats are front-loaded and the unknown-id behavior follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with an output schema available elsewhere, the description covers entry formats and the miss behavior. The gap is the unexplained meta and catalog parameters, which affect invocation and are undocumented in both schema and description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only names ids/meta/catalog with no semantics, so the description carries the burden. It usefully documents the accepted id formats ('ittems:<merchant>:<id>', '<merchant>/<slug>', or SKU), which is essential. However, it says nothing about meta or catalog, so two of three parameters remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource ('products by id'), and distinguishes itself from siblings like get_product and search_catalog by being a bulk id-based lookup with an explicit cap of 50. The name, title, and description align.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this when you already have ids/SKUs to resolve. But it never explicitly contrasts with get_product (single product) or search_catalog (query-based discovery), which are the obvious alternatives, so the agent must infer the selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quick_searchCompact search (names, prices, page links)ARead-onlyIdempotentInspect
Smaller answer than search_catalog: name, brand, price, availability, buy URL and the markdown page URL per hit.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| merchant | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is complete. The description adds that it returns a compact field set, which hints at behavior but doesn't disclose pagination, rate limits, or query semantics beyond what the schema/annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that lists the return fields efficiently with zero waste. Appropriate for the compact nature of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values fully, and annotations cover safety. However, with 0% schema coverage and no parameter documentation, the description is missing key invocation guidance (what query does, what merchant/limit affect). It's adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate but doesn't mention any of the three parameters (query, limit, merchant). The baseline is 3 when schema coverage is high, but here it's 0% and the description adds no parameter meaning, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (search results) and specific fields returned (name, brand, price, availability, buy URL, markdown page URL). It names the sibling search_catalog and conveys a key differentiator (smaller answer). However, it doesn't fully explain the search semantics beyond being 'smaller' than search_catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by comparing to search_catalog ('Smaller answer than search_catalog'), suggesting it's for compact results, but doesn't explicitly state when to use it versus search_catalog or lookup_catalog. No clear when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_catalogSearch productsARead-onlyIdempotentInspect
Search products across all merchants (or one merchant) by free text, with optional brand, category and
in-stock filters. UCP callers may pass the whole request under catalog and their profile under meta.
Returns {ucp, products[], pagination{cursor, has_next_page, total_count}, policies[]}.
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | ||
| brand | No | ||
| limit | No | ||
| query | No | ||
| cursor | No | ||
| catalog | No | ||
| category | No | ||
| in_stock | No | ||
| merchant | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safety profile (readOnly, idempotent, non-destructive), so the burden is lower. The description still adds useful behavior beyond that: the dual UCP vs flat calling convention and the paginated return with cursor/has_next_page/total_count, giving the agent a sense of result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose and scope first, then the UCP calling convention, then the return shape. Nothing is padded and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the bulk of the query surface and, since an output schema exists, it need not describe returns (though it does anyway). The remaining gap is input-side pagination and limit semantics, which the agent would need for multi-page retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 9 parameters, so the description must carry the load. It does name free text, merchant scope, brand, category, in_stock, catalog and meta, but says nothing about `limit` or the input `cursor` used for paging, leaving two parameters unexplained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Search products across all merchants (or one merchant) by free text') and enumerates the filter surface (brand, category, in-stock), so the agent knows this is the broad catalog search. It does not explicitly name siblings like quick_search or lookup_catalog, so the boundary between them must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the usage context (cross-merchant or single-merchant free-text browsing) and adds a real calling-convention note for UCP callers passing `catalog`/`meta`. However, it never says when to prefer it over quick_search or lookup_catalog, so alternative selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_merchant_policies - First observed
get_product - First observed
list_merchants - First observed
lookup_catalog - First observed
quick_search - First observed
search_catalog
Related MCP Connectors
AI-agent product catalog: search, lookup & purchase routing over verified merchant data.
RU merchant catalog for AI agents: live price, stock, choices and controlled checkout. Not x402.
Agent-native product catalog: 300M+ products, 150,000+ stores, deliver_to ranking.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceKlarna-style product discovery for AI shopping agents. Makes product catalogs machine-readable so AI agents can search, compare, and purchase products programmatically.6MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to browse product catalogs, search products with filters, and initiate checkouts, generating order summaries and checkout URLs.-
- AlicenseNot gradedqualityBmaintenanceLets AI agents search merchant product catalogs, obtain signed offers with agent pricing, and run checkout sessions that always settle on the merchant's own payment page. It also scores any website's agent-readiness and exposes the published rubric checks.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI shopping agents to search products, check stock, apply promotions, manage cart sessions, and create cryptographically signed checkout sessions on e-commerce storefronts, while giving merchants analytics into agent intent and catalog demand gaps.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.