Shopping search across 100M+ products, with every retailer's offer and live price in one place.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
API key for unlimited access and affiliate tracking. Create one at https://trychannel3.com. Omit for the rate-limited free tier.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Search and page through products for the storefront UI.
One 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".
Public image URL for visual search. Combine with `query` for text + image.
Token from a previous response's next_page_token.
Search and page through products for the storefront UI.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | One 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_id | string | |
| image_url | string | Public image URL for visual search. Combine with `query` for text + image. |
| thread_id | string | |
| page_token | string | Token from a previous response's next_page_token. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 30,
"minimum": 1
},
"query": {
"type": "string",
"minLength": 1,
"description": "One product type and its constraints in natural language (brand, color, material, size, price, gender).\nGood: \"red leather jacket under $200\"; \"leather golf glove under $40\".\nBad: \"gift ideas for dad\"; \"cool sneakers\"; \"golf glove or rangefinder\"."
},
"device_id": {
"type": "string"
},
"image_url": {
"type": "string",
"description": "Public image URL for visual search. Combine with `query` for text + image."
},
"thread_id": {
"type": "string"
},
"page_token": {
"type": "string",
"description": "Token from a previous response's next_page_token."
}
}
}Fetch a product with live offers, for the storefront UI.
| Argument | Type | Description |
|---|---|---|
| device_id | string | |
| thread_id | string | |
| product_id* | string | Canonical product ID. |
| selected_options | object | Variant configuration as `{ optionName: label }` for re-resolving offers. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"device_id": {
"type": "string"
},
"thread_id": {
"type": "string"
},
"product_id": {
"type": "string",
"description": "Canonical product ID."
},
"selected_options": {
"type": "object",
"description": "Variant configuration as `{ optionName: label }` for re-resolving offers.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
}Fetch 30-day price history for a product, for the storefront UI.
| Argument | Type | Description |
|---|---|---|
| device_id | string | |
| thread_id | string | |
| product_id* | string | Canonical product ID. |
| selected_options | object | Variant configuration as `{ optionName: label }` for re-resolving offers. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"device_id": {
"type": "string"
},
"thread_id": {
"type": "string"
},
"product_id": {
"type": "string",
"description": "Canonical product ID."
},
"selected_options": {
"type": "object",
"description": "Variant configuration as `{ optionName: label }` for re-resolving offers.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| thread_id | string | Conversation 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_ids* | array | Products to fetch in parallel. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_ids"
],
"properties": {
"thread_id": {
"type": "string",
"description": "Conversation 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_ids": {
"type": "array",
"items": {
"type": "string",
"description": "Product ID (from a `search_products` result) or URL."
},
"maxItems": 40,
"minItems": 1,
"description": "Products to fetch in parallel."
}
}
}Find products similar to a given product, for the storefront UI.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| device_id | string | |
| thread_id | string | |
| product_id* | string | Canonical product ID to find similar products for. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 30,
"minimum": 1
},
"device_id": {
"type": "string"
},
"thread_id": {
"type": "string"
},
"product_id": {
"type": "string",
"description": "Canonical product ID to find similar products for."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| query | string | One 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_url | string | Public image URL for visual search. Combine with `query` for text + image. |
| thread_id | string | Conversation 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. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "One product type and its constraints in natural language (brand, color, material, size, price, gender).\nGood: \"red leather jacket under $200\"; \"leather golf glove under $40\".\nBad: \"gift ideas for dad\"; \"cool sneakers\"; \"golf glove or rangefinder\"."
},
"image_url": {
"type": "string",
"description": "Public image URL for visual search. Combine with `query` for text + image."
},
"thread_id": {
"type": "string",
"description": "Conversation 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."
}
}
}