# Channel3 Shopping (remote · mcp.trychannel3.com)

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

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- remote · `mcp.trychannel3.com`: 64/100 (this document), [markdown](https://verifymcp.io/servers/com-trychannel3-shopping/mcp.md), [page](https://verifymcp.io/servers/com-trychannel3-shopping/mcp)

## Channel facts

- Endpoint: `https://mcp.trychannel3.com/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `4.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Endpoint Security**: 60/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 6 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 828 tokens (~118/item across 7 items; 6 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 7/100
  - Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 90/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 65% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http com-trychannel3-shopping https://mcp.trychannel3.com/
```

### Codex

```toml
[mcp_servers.com-trychannel3-shopping]
url = "https://mcp.trychannel3.com/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-trychannel3-shopping": {
      "type": "remote",
      "url": "https://mcp.trychannel3.com/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-trychannel3-shopping --url https://mcp.trychannel3.com/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-trychannel3-shopping:
    url: "https://mcp.trychannel3.com/"
```

### Other

```json
{
  "mcpServers": {
    "com-trychannel3-shopping": {
      "type": "http",
      "url": "https://mcp.trychannel3.com/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-07 (score 64, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “search_products” rewrote its description, which is the text the model reads
- [security] Tool “get_products” rewrote its description, which is the text the model reads
- [functional regression] Tool coverage: 82% → 65%
- [functional regression] Schema quality: pass → fail
- [cosmetic] “search_products” added an optional parameter “thread_id”
- [cosmetic] “get_price_history” added an optional parameter “thread_id”
- [cosmetic] “browse_products” added an optional parameter “thread_id”
- [cosmetic] “get_details” added an optional parameter “thread_id”
- [cosmetic] “get_products” added an optional parameter “thread_id”
- [cosmetic] “get_similar” added an optional parameter “thread_id”

### 2026-08-06 (score 64, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-08-05 (score 64)

First indexed and scored.

## MCP tools (6)

### `search_products` (~252 tokens)

Search Products

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.

Input parameters:

- `image_url` (string): Public image URL for visual search. Combine with `query` for text + image.
- `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…
- `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…

Output parameters:

- `as_of` (string): ISO timestamp of when this result was produced; prices are live as of this moment.
- `image_url` (string): The image URL this result answers.
- `next_page_token`: Opaque pagination token used by the storefront UI; not usable via this tool.
- `products` (array)
- `query` (string): The text query this result answers.
- `seq` (integer)
- `server_origin` (string): Origin of this MCP server; the storefront UI posts analytics events here.
- `session_id` (string): PostHog MCP session ID for analytics correlation.
- `thread_id` (string): Conversation thread ID. Pass it back unchanged as `thread_id` on every follow-up call in this conversation.

### `get_products` (~175 tokens)

Get Products

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.

Input parameters:

- `product_ids` (array, required): Products to fetch in parallel.
- `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…

Output parameters:

- `as_of` (string): ISO timestamp of when this result was produced; prices are live as of this moment.
- `products` (array)
- `server_origin` (string): Origin of this MCP server; the storefront UI posts analytics events here.
- `session_id` (string): PostHog MCP session ID for analytics correlation.
- `thread_id` (string): Conversation thread ID. Pass it back unchanged as `thread_id` on every follow-up call in this conversation.
- `unresolved` (array)

### `browse_products` (~141 tokens)

Browse Products

Search and page through products for the storefront UI.

Input parameters:

- `image_url` (string): Public image URL for visual search. Combine with `query` for text + image.
- `limit` (integer)
- `page_token` (string): Token from a previous response's next_page_token.
- `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…
- `thread_id` (string)

Output parameters:

- `next_page_token`
- `products` (array)

### `get_similar` (~54 tokens)

Get Similar Products

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

Input parameters:

- `limit` (integer)
- `product_id` (string, required): Canonical product ID to find similar products for.
- `thread_id` (string)

Output parameters:

- `next_page_token`
- `products` (array)

### `get_details` (~40 tokens)

Get Product Details

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

Input parameters:

- `product_id` (string, required): Canonical product ID.
- `thread_id` (string)

Output parameters:

- `product` (object)

### `get_price_history` (~44 tokens)

Get Price History

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

Input parameters:

- `product_id` (string, required): Canonical product ID.
- `thread_id` (string)

Output parameters:

- `history` (array)
- `statistics`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-trychannel3-shopping/mcp#diagnostics

## Score history

- 2026-08-07: 64
- 2026-08-06: 64
- 2026-08-05: 64

## Links

- Remote endpoint: https://mcp.trychannel3.com/
- Repository: https://github.com/channel3-ai/mcp-server
- Website: https://trychannel3.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-trychannel3-shopping/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-trychannel3-shopping/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-trychannel3-shopping/mcp
