Skip to main content
Glama
Ownership verified

Server Details

Product search and price comparison for AI agents. Search 100M+ products across thousands of retailers by text or image, compare live offers and prices, and turn any merchant URL into structured product data. No API key required to start; add one for unlimited use and affiliate commission.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.9/5 across 6 of 6 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation3/5

The two search-related tools (browse_products, search_products) wrap in each other, and get_details/get_products both return product offer/detail data. The descriptions help mostly separate intended use ('browse' implies pagination, 'get_products' supports multiple IDs and comparison), but some boundary decisions remain.

Naming Consistency4/5

Most tools consistently follow verb_noun and snake_case (browse_products, get_products, search_products, get_price_history). get_details and get_similar are minor deviations because their object nouns are vague or adjectival, but nothing is chaotic.

Tool Count5/5

Six tools is a well-scoped number for product search: discovery, browsing, details, price history, comparison support, and similar products are covered. No tool feels like filler.

Completeness4/5

The tool covers the main product-search workflow end to end: query, browse, detail, compare, price history, and recommendations. There are small potential gaps like explicit compare or pagination controls, but agents can work around them.

Available Tools

6 tools
browse_productsBrowse ProductsB
Read-onlyIdempotent
Inspect

Search and page through products for the storefront UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNoOne product type and its constraints in natural language (brand, color, material, size, price, gender). Good: "red leather jacket under $200"; "leather golf glove under $40". Bad: "gift ideas for dad"; "cool sneakers"; "golf glove or rangefinder".
device_idNo
image_urlNoPublic image URL for visual search. Combine with `query` for text + image.
thread_idNo
page_tokenNoToken from a previous response's next_page_token.

Output Schema

ParametersJSON Schema
NameRequiredDescription
productsYes
next_page_tokenYes
Behavior3/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior, so the description does not need to repeat safety. It adds the pagination trait, but does not describe any other behavioral nuances like token expiry, pagination boundaries, or what the storefront UI search really reflects.

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?

The description is one efficient sentence with no wasted words. It is front-loaded and provides the core purpose immediately, though it lacks some behavioral and usage detail.

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?

Given the output schema and annotations, this is minimally callable for a list-and-pagination task. But with 6 parameters and 5 sibling tools, the description leaves ambiguity around product classification and parameter relationships.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Six parameters exist but the description does not mention any of them. The schema covers query, image_url, and page_token with descriptions, but limit and device_id have none, so the tool description offers no extra parameter meaning. With only 50% schema coverage, some compensation was needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (search and page through) on a clear resource (products) for a storefront UI context. It does not explicitly distinguish itself from sibling tools like search_products or get_products, so it misses the extra clarity needed for a 5.

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 storefront UI context gives some signal about where the tool belongs, so usage is vaguely implied. However, there is no guidance on when to choose this over search_products or get_products, nor any mention of exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_detailsGet Product DetailsA
Read-onlyIdempotent
Inspect

Fetch a product with live offers, for the storefront UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
device_idNo
thread_idNo
product_idYesCanonical product ID.
selected_optionsNoVariant configuration as `{ optionName: label }` for re-resolving offers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
productYes
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, and “live offers” adds a small behavioral hint about data freshness (it is not just a static product lookup). The description does not, however, explain how “live” behaves — e.g., whether offers are re-resolved per request, cached, or require selected options.

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?

An single sentence with the core purpose, the behavioral_distinguisher (“live offers”), and the intended context (storefront UI) — all without roundabout explanation or redundant restatement of the name or title. 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?

For a read-only product fetch, the description covers the basic task and leaves no missing required inputs (product_id is listed as required). However, there is no output schema and no description of what “live offers” means, and two params (device_id, thread_id) remain opaque, so an agent gets an useful but not debt, complete, complete target.

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?

product_id and selected_options are already described in the schema, so roughly half of the parameters have provenance. The description's storefront-UI framing gives only weak hints about device_id and thread_id (frontrount route context), but does not really compensate for the undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (“fetch”) and resource (“product” with a distinctive “live offers” modifier, so an agent clearly knows what the tool returns. It does not name any sibling tools, so full differentiation from similar fetch/list tools is not explicit.

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?

“For the storefront UI” implies the intended context: use when serving the customer-facing product page. However, there is no explicit when-not-to-use condition, no prerequisite mention, and no alternative tool is named, so routing falls to agent inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_price_historyGet Price HistoryA
Read-onlyIdempotent
Inspect

Fetch 30-day price history for a product, for the storefront UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
device_idNo
thread_idNo
product_idYesCanonical product ID.
selected_optionsNoVariant configuration as `{ optionName: label }` for re-resolving offers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
historyYes
statisticsYes
canonical_product_idYes
Behavior3/5

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

The annotations already communicate that this is a read-only, idempotent, non-destructive operation. The description adds the useful '30-day' scoping restriction and 'storefront UI' context, but goes no further into behavior such as how response handles missing data or how selected_options are resolved.

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 a single sentence with no wasted words. The core action and scoping are placed at the beginning, and the storefront context is appended without repetition.

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?

With an output schema, annotations, and only one required parameter, this description is largely sufficient for an agent to call the tool correctly. It could better for-resee sibling ambiguity and say what makes the storefront UI price scope special, but nothing critical gets stuck.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, so the description must compensate. It maps only loosely to product_id by saying 'for a product', and it gives no meaning for device_id, thread_id, or selected_options. The schema already describes product_id as canonical and selected_options as variant configuration, so the description adds little parameter-level value.

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 names a specific verb ('Fetch'), a concrete resource ('30-day price history for a product'), and the context ('storefront UI'). This clearly distinguishes the tool from siblings focused on browsing, searching, details, and similar products.

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

Usage Guidelines4/5

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

The description provides clear context: use it when the request is for the 30-day price history of a product in the storefront UI. It does not explicitly name alternatives or say when not to use it, but the intended use case is still apparent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_productsGet ProductsA
Read-onlyIdempotent
Inspect

Get full product data (offers, description, attributes, images) by product ID from a search result, or by retailer URL. Pass several IDs in one call to compare. Use search_products to find products. Returns details in the storefront UI. The result includes a thread_id. You MUST include it unchanged as the thread_id parameter on every subsequent Channel3 tool call in this conversation — including searches for new, unrelated products. Never omit it once you have one.

ParametersJSON Schema
NameRequiredDescriptionDefault
thread_idNoConversation thread ID. Omit ONLY on the very first Channel3 call of a conversation. From then on, always pass the `thread_id` from the most recent Channel3 result, unchanged — even when the new call is a completely different product search.
product_idsYesProducts to fetch in parallel.

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofYesISO timestamp of when this result was produced; prices are live as of this moment.
productsYes
thread_idYesConversation thread ID. Pass it back unchanged as `thread_id` on every follow-up call in this conversation.
session_idNoPostHog MCP session ID for analytics correlation.
unresolvedNo
server_originNoOrigin of this MCP server; the storefront UI posts analytics events here.
Behavior5/5

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

Annotations already mark this as read-only and idempotent, but the description adds a crucial behavioral constraint: the `thread_id` from the result must be passed unchanged on every subsequent Channel3 call. It also notes that results are returned in the storefront UI, providing context beyond annotations. No contradiction.

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 sentences efficiently convey purpose, workflow, and a critical state requirement. The description is front-loaded with the core functionality, and the thread_id instructions are necessary and clearly stated without unnecessary fluff.

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 tool with only two parameters, full schema coverage, and annotations, the description is comprehensive. It covers the tool's purpose, usage guidance, and the vital thread_id contract. The presence of an output schema means return values need not be elaborated, making the description complete.

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?

The input schema provides full descriptions for both parameters with 100% coverage. The description reinforces that product_ids can be a product ID or URL and supports batching, but adds no substantive new meaning beyond the schema, so the baseline 3 is appropriate.

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 the tool fetches full product data (offers, description, attributes, images) by product ID or retailer URL. It also distinguishes it from search_products by explicitly pointing users to that tool for finding products, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly instructs to use search_products to find products, establishing a clear workflow. It also advises passing multiple IDs for comparison. However, it does not address when to use or avoid other sibling tools like get_details or browse_products, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_similarGet Similar ProductsA
Read-onlyIdempotent
Inspect

Find products similar to a given product, for the storefront UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
device_idNo
thread_idNo
product_idYesCanonical product ID to find similar products for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
productsYes
next_page_tokenYes
Behavior3/5

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

Annotations already indicate readOnly, idempotent, and non-destructive. The description adds the storefront UI context but does not disclose how similar products are determined, whether results are ordered, or how device_id and thread_id affect behavior. It does not contradict annotations, but the extra behavior context is thin.

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 a single, front-loaded sentence that immediately conveys the action, target, and context. There is no wasteful or repetitive content.

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?

Required invocation with product_id is documented and an output schema exists, so the definition is usable. However, optional parameters lack meaning, and there’s no guidance about choosing between this tool and similar sibling tools. Complete enough for basic use but with real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, and the description does not compensate. product_id is the only parameter with semantic explanation in schema; limit, device_id, and thread_id receive no meaningful description in either the schema or the tool description. A real semantic gap remains for those optional parameters.

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 uses a specific verb 'Find' and names the resource, 'products similar to a given product,' along with the storefront UI context. This clearly distinguishes it from siblings like browse_products and search_products, which are about browsing or searching rather than similarity recommendations.

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 statement 'for the storefront UI' gives a context, but it does not explicitly say when to prefer this tool over get_products or search_products, nor does it give any when-not-to-use guidance. The usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_productsSearch ProductsA
Read-onlyIdempotent
Inspect

Search 100M+ products across thousands of retailers for one product type. Call once for each distinct product type, and send independent calls together. Put relevant constraints in query. Returns up to 8 product cards plus structured product data. The result includes a thread_id. You MUST include it unchanged as the thread_id parameter on every subsequent Channel3 tool call in this conversation — including searches for new, unrelated products. Never omit it once you have one.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOne product type and its constraints in natural language (brand, color, material, size, price, gender). Good: "red leather jacket under $200"; "leather golf glove under $40". Bad: "gift ideas for dad"; "cool sneakers"; "golf glove or rangefinder".
image_urlNoPublic image URL for visual search. Combine with `query` for text + image.
thread_idNoConversation thread ID. Omit ONLY on the very first Channel3 call of a conversation. From then on, always pass the `thread_id` from the most recent Channel3 result, unchanged — even when the new call is a completely different product search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
seqNo
as_ofYesISO timestamp of when this result was produced; prices are live as of this moment.
queryNoThe text query this result answers.
productsYes
image_urlNoThe image URL this result answers.
thread_idYesConversation thread ID. Pass it back unchanged as `thread_id` on every follow-up call in this conversation.
session_idNoPostHog MCP session ID for analytics correlation.
server_originNoOrigin of this MCP server; the storefront UI posts analytics events here.
next_page_tokenYesOpaque pagination token used by the storefront UI; not usable via this tool.
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description adds critical behavioral context: it mentions that results include a thread_id, and the agent MUST include it unchanged on every subsequent Channel3 call, even for unrelated searches. This is a non-obvious stateful behavior beyond the annotations, and it is clearly disclosed.

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 concise and well-structured: it opens with the primary purpose, then gives usage batching advice, notes the output format, and finishes with the mandatory thread_id rule. Every sentence is information-dense and contributes to correct invocation; there is no redundancy or filler.

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?

With an output schema present to handle return-value details, the description covers all essential operational context: scope of search, call batching, constraint placement, and the persistent thread_id requirement. It is fully sufficient for an agent to use the tool correctly, including across multiple calls.

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?

The input schema already provides comprehensive descriptions for all three parameters (100% coverage), so the description does not need to add much. It only reinforces that constraints go into `query` and that thread_id is required after the first call. This meets the baseline for high schema coverage but adds no new parameter-level semantic detail.

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 the tool's function: 'Search 100M+ products across thousands of retailers for one product type.' It specifies the resource (products), the action (search), and the scope (one product type), and distinguishes from sibling tools by emphasizing single-type search. The return of 'up to 8 product cards plus structured product data' further clarifies the purpose.

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

Usage Guidelines4/5

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

The description provides explicit usage instructions: 'Call once for each distinct product type, and send independent calls together' and 'Put relevant constraints in `query`.' It also mandates the thread_id propagation. However, it does not explicitly name alternative tools or describe when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.
    11
    737
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Voice of Customer pipeline that cross-references feedback from calls, reviews, chat, and other sources to surface only corroborated patterns, routing actionable insights with exact customer quotes to the right people.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources