Skip to main content
Glama

Channel3 Shopping

Server Details

Shopping search across 100M+ products, with every retailer's offer and live price in one place.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
channel3-ai/mcp-server
GitHub Stars
2
Server Listing
Channel3 MCP Server

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.

Server CoherenceA
Disambiguation3/5

Some tools have overlapping purposes: browse_products and search_products both retrieve products, and get_details and get_products both fetch product information. Descriptions help differentiate them (e.g., storefront UI vs. full data), but an agent might still struggle to choose the right one in some contexts.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lowercase with underscores (browse_products, get_price_history, search_products). Even get_similar fits the pattern, with 'similar' acting as the object. This makes the toolset easy to navigate.

Tool Count5/5

With 6 tools, the server is well-scoped for product discovery and retrieval. Each tool serves a distinct purpose without redundancy, and the count is within the ideal range for a focused server.

Completeness5/5

The server covers the full product discovery lifecycle: searching, browsing, retrieving details, checking price history, and finding similar items. get_products also supports batch comparison, addressing the need for side-by-side analysis. No obvious gaps for the stated purpose.

Available Tools

6 tools
browse_productsBrowse ProductsA
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".
image_urlNoPublic image URL for visual search. Combine with `query` for text + image.
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 readOnly, openWorld, and idempotent behavior, and the description adds minimal extra context. It does not contradict annotations, and while it adds the UI scope, it doesn't disclose pagination mechanics or result ordering beyond what schema already provides.

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 entire description is a single concise sentence that communicates the tool's purpose efficiently, with no filler.

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?

The description is short, but combined with a rich schema and annotations, it covers the essentials. However, the lack of usage differentiation from sibling search_products leaves a gap in contextual completeness.

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 schema has solid descriptions for query, image_url, and page_token (75% coverage). The tool description adds no additional parameter semantics, so it relies on the schema. Given this coverage level, the description doesn't need to compensate, but it also doesn't add value.

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 clearly states the tool searches and pages through products, with a storefront UI scope, which is specific and action-oriented. However, it does not explicitly differentiate from sibling search_products, so it stops short of 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 description provides a context (storefront UI) but no explicit guidance on when to use this tool versus search_products or other siblings. 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.

get_detailsGet Product DetailsA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesCanonical product ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
productYes
Behavior3/5

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

Annotations already cover read-only, idempotent, and open-world behavior. The description adds the 'live offers' context, hinting at real-time data, but does not elaborate on behavioral traits like error handling, response shape, or any side effects. No contradiction with 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 a single, information-dense sentence that front-loads the action and resource. Every word contributes purpose or context; no filler or 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?

For a simple one-parameter tool with full schema coverage, clear annotations, and an output schema present, the description is largely complete. The only minor gap is explicit sibling differentiation, but the purpose is unambiguous enough for selection and invocation.

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 fully describes product_id as 'Canonical product ID' (100% coverage), so the description does not need to add much. It adds no additional parameter-level meaning, matching the baseline 3 for high schema coverage.

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 ('Fetch') and resource ('a product') and adds meaningful scope: 'with live offers, for the storefront UI.' This clearly distinguishes it from siblings like get_products (plural/general) or get_price_history (time-series).

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 phrase 'for the storefront UI' implies a use case but provides no explicit guidance on when to choose this tool versus alternatives such as get_products, get_similar, or browse_products. There are no stated exclusions or alternative references.

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
product_idYesCanonical product ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription
historyYes
statisticsYes
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description adds value by disclosing the 30-day lookback window and the UI-oriented output. This contextual detail goes beyond the structured annotations without contradicting them.

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: 'Fetch 30-day price history for a product, for the storefront UI.' Every word earns its place, with 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 one parameter, a documented schema, an output schema present, and strong annotations, this description provides all necessary context. It clearly states what data is returned (30-day history) and where it is used (storefront UI), making it fully sufficient for selecting and invoking the tool.

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 100%, with product_id described as 'Canonical product ID.' The tool description adds no additional parameter semantics beyond what the schema already provides, so a baseline score of 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 uses a specific verb ('Fetch') and clear resource ('30-day price history for a product'), and explicitly scopes the use case ('for the storefront UI'). This distinguishes it from sibling tools like get_details or browse_products, which target different data.

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 phrase 'for the storefront UI' gives clear context on when to use this tool—for displaying price history in the storefront. It does not explicitly name alternatives or exclusions, but the context is sufficient to select it over siblings.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
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
unresolvedNo
Behavior3/5

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

Annotations already provide readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds that it returns 'full product data' and details 'in the storefront UI,' but this is somewhat ambiguous and doesn't address error handling or unavailable fields. With annotations, this is acceptable but not rich.

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 with no fluff. The first sentence delivers the main purpose, the second provides a necessary prerequisite, and the third notes the return format. Content is front-loaded and each sentence earns its place.

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?

For a single-parameter read-only tool with an output schema and strong annotations, the description covers the essential workflow: find products with search_products, then fetch full data by ID or URL, optionally multiple at once. It could be more explicit about how it differs from get_details, but 'full product data' implies comprehensiveness.

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 schema description for product_ids already fully documents the parameter (IDs or URLs, min/max, parallel fetch). The description adds only a comparison use case, which is marginal. Since schema coverage is 100%, a baseline of 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's function: 'Get full product data... by product ID... or by retailer URL.' It specifies the resource and scope, and distinguishes from search_products by framing this as the retrieval step after searching.

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?

It explicitly says 'Use search_products to find products,' which tells the agent when to use this tool in a workflow. It also suggests passing several IDs to compare, a useful tip. However, it doesn't mention alternatives like get_details or get_price_history, so it lacks explicit exclusions.

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
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 declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds minimal behavioral context beyond the basic operation, such as how similarity is computed or whether results are ordered. No contradiction with 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 a single, concise sentence of 10 words. It is front-loaded with the action and resource, with no unnecessary words or 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?

Given the tool's simplicity (2 params), the presence of an output schema, and rich annotations, the description is nearly complete. It lacks explicit alternative guidance, but for a straightforward read operation, the context provided by the description and structured data is sufficient.

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 schema describes product_id as 'Canonical product ID to find similar products for.' The limit parameter lacks a description but its meaning is inferable from name and constraints. The tool description itself adds no parameter details, leaving the undocumented limit partially unexplained.

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 clearly states the resource 'products similar to a given product' plus the context 'for the storefront UI'. This distinguishes it from sibling tools like search_products and browse_products.

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 phrase 'for the storefront UI' provides some usage context, implying this is for the recommendation display in the storefront. However, it does not explicitly mention when to use this tool instead of alternatives like search_products or get_details, nor does it state any exclusions.

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.

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.

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.
next_page_tokenYesOpaque pagination token used by the storefront UI; not usable via this tool.
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, establishing safety. The description adds behavioral context beyond this: the tool returns 'up to 8 product cards plus structured product data,' and notes that calls should be sent independently together. No contradictions with 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 compact and well-structured: first sentence states purpose, second gives usage instruction, third states output. Each sentence earns its place, with no fluff or repetition. 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.

Completeness4/5

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

Given the output schema exists and annotations cover safety, the description provides key info: scope (one product type), return limit (up to 8 cards), and parallelization guidance. It is complete enough for correct invocation, though it could add details about error cases or pagination if any, but those are not necessary given other structured data.

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 100%, with rich descriptions for both parameters (query and image_url). The description's mention of 'Put relevant constraints in `query`' reinforces but does not add new meaning beyond what the schema already provides. 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's function: 'Search 100M+ products across thousands of retailers for one product type.' It uses a specific verb (search), resource (products), and scope (100M+ products, one product type, returns up to 8 product cards). This distinguishes it from siblings like get_details or get_price_history, which imply more targeted lookups rather than broad search.

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 gives concrete usage guidance: 'Call once for each distinct product type, and send independent calls together,' and 'Put relevant constraints in `query`.' This implies when to use the tool and how to batch calls, but it does not explicitly state exclusions or name alternative tools. It provides clear context but lacks a direct when-not-to-use clause.

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

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.