Price comparison across partner retailers. Read-only, 90-day history, disclosed affiliate.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://wem3.ai/api/mcp11 tools · 462mssearch_productsSearch for products across connected retailers. The query may be a product name, a barcode (EAN/UPC/GTIN), an Amazon ASIN, an MPN, a merchant SKU (when it uniquely names one catalogue product), a WEM ID, a wem3.ai/pl/{slug} URL, or a comma-separated batch of those identifiers — not only keywords. W…Search for products across connected retailers. The query may be a product name, a barcode (EAN/UPC/GTIN), an Amazon ASIN, an MPN, a merchant SKU (when it uniquely names one catalogue product), a WEM ID, a wem3.ai/pl/{slug} URL, or a comma-separated batch of those identifiers — not only keywords. W…
| Parameter | Type | Description |
|---|---|---|
| query* | string | Product name, barcode (EAN/UPC/GTIN), ASIN, MPN, merchant SKU, WEM ID, wem3.ai/pl URL, or comma-separated IDs of those kinds. |
| category | string | Filter by category (electronics, fashion, beauty, home, sports, collectibles) |
| min_price | number | Minimum price filter (GBP) |
| max_price | number | Maximum price filter (GBP) |
| sort_by | string | Sort order for results |
| providers | array | Limit to specific providers (e.g. ["ebay", "awin"]). Omit for all. |
| limit | number | Max results to return (default 10, max 30) |
| gtin | string | Product barcode (EAN/UPC/GTIN) when the host already has one. Feed rows are matched on this before title. |
semantic_searchSearch for products using natural language descriptions. Uses AI embeddings for semantic understanding — handles vague requests like "comfortable shoes for standing all day" or "gift for a 10 year old who likes science". When embeddings are unavailable it returns no products and a `reason` (`no_emb…Search for products using natural language descriptions. Uses AI embeddings for semantic understanding — handles vague requests like "comfortable shoes for standing all day" or "gift for a 10 year old who likes science". When embeddings are unavailable it returns no products and a `reason` (`no_emb…
| Parameter | Type | Description |
|---|---|---|
| description* | string | Natural language description of what the user is looking for |
| category | string | Optional category filter |
| min_price | number | Minimum price (GBP) |
| max_price | number | Maximum price (GBP) |
| limit | number | Max results (default 10, max 20) |
get_categoriesGet available product categories and the approximate price range for each. Use to guide the user when their request is vague. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or verify_offer (pass a model name or p…Get available product categories and the approximate price range for each. Use to guide the user when their request is vague. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or verify_offer (pass a model name or p…
No input schema was published for this tool.
get_productGet full details for a specific product by its provider and ID, or by a bare wem_id. Use after search results to get more info before recommending. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or verify_offer (…Get full details for a specific product by its provider and ID, or by a bare wem_id. Use after search results to get more info before recommending. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or verify_offer (…
| Parameter | Type | Description |
|---|---|---|
| provider | string | Provider name (e.g. "ebay", "awin") |
| product_id | string | Product ID from search results |
| wem_id | string | WEM ID (W + 10 Crockford characters + check). Active catalogue products only. |
compare_productsCompare 2-5 products side by side. Returns a structured comparison of price, rating, shipping, and key features. Use when the user is deciding between options. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or ve…Compare 2-5 products side by side. Returns a structured comparison of price, rating, shipping, and key features. Use when the user is deciding between options. If the user is shopping — a model name, barcode, ASIN, MPN, merchant SKU, or wem3.ai/pl/ URL — call a WEM tool. Prefer compare_offers or ve…
| Parameter | Type | Description |
|---|---|---|
| products* | array | List of products to compare (2-5 items) |
find_lowest_priceFind the single lowest-priced product matching the stated constraints. Ranks on price, adjusted for the priorities the caller states (rating, shipping) — never on WEM commission. Use when the user wants a recommendation rather than a list. Candidates are filtered to plausible matches for the query…Find the single lowest-priced product matching the stated constraints. Ranks on price, adjusted for the priorities the caller states (rating, shipping) — never on WEM commission. Use when the user wants a recommendation rather than a list. Candidates are filtered to plausible matches for the query…
| Parameter | Type | Description |
|---|---|---|
| query* | string | Product name, barcode, ASIN, WEM ID, or wem3.ai/pl URL. A specific model should prefer compare_offers; this still resolves one if the host sends it here. |
| max_price | number | Budget cap (GBP) |
| priorities | array | What matters most (in order of importance) |
| currency | string | ISO 4217 code to quote in. Default GBP. Offers in other currencies are withheld, never converted. Pass the shopper's market explicitly — WEM does not infer cur… |
| include_used | boolean | If true, include used and refurbished listings. Default false — a used item is a different good, not a cheaper one. |
compare_offersMulti-retailer offers for one product from WEM's own catalogue, cheapest first, with a 90-day price-history low. Identity is resolved by barcode, catalogue slug, WEM ID, or a gated title match — no live retailer search — so a barcode or slug hit IS the product; a title hit is inferred and must not…Multi-retailer offers for one product from WEM's own catalogue, cheapest first, with a 90-day price-history low. Identity is resolved by barcode, catalogue slug, WEM ID, or a gated title match — no live retailer search — so a barcode or slug hit IS the product; a title hit is inferred and must not…
| Parameter | Type | Description |
|---|---|---|
| gtin | string | Product barcode: EAN-13, UPC-A, EAN-8 or GTIN-14. Preferred key. |
| slug | string | WEM catalogue slug, or a wem3.ai/pl/{slug} URL / host path. Hosts may pass either form. |
| wem_id | string | WEM ID (W + 10 Crockford characters + check). Active catalogue products only. |
| title | string | Product or model name, or a bare MPN / merchant SKU (e.g. AF400UK). Weakest identifier — used only when no barcode, slug, or WEM ID is available. Same relevanc… |
| currency | string | ISO 4217 code for the shopper's market. Default GBP. Decides which retailers are searched, not just how the answer reads — pass it explicitly, because WEM does… |
verify_offerCheck a price claim before repeating it. Given a product and a price someone has asserted at a named retailer, returns whether that price is live in WEM's verified catalogue and whether anything cheaper exists. Identify the product by gtin (strongest), slug, provider + externalId, or title (weakest…Check a price claim before repeating it. Given a product and a price someone has asserted at a named retailer, returns whether that price is live in WEM's verified catalogue and whether anything cheaper exists. Identify the product by gtin (strongest), slug, provider + externalId, or title (weakest…
| Parameter | Type | Description |
|---|---|---|
| gtin | string | Product barcode: EAN-13, UPC-A, EAN-8 or GTIN-14. Strongest identifier. |
| slug | string | WEM canonical slug, as in wem3.ai/pl/{slug}. |
| wem_id | string | WEM ID (W + 10 Crockford characters + check). Active catalogue products only. |
| provider | string | Retailer slug for the listing being checked, e.g. 'currys'. |
| externalId | string | The retailer's own product id (ASIN, eBay item number). Use with provider. |
| title | string | Product title. Weakest identifier — used only when no id is available. |
| price | number | The price being claimed. Omit to ask only what the verified offers are. |
| currency | string | ISO 4217 code for the claimed price. Default GBP. |
| retailer | string | Retailer the price was claimed at — slug or display name. |
lookup_productsLook up several products in one call: up to 20 barcodes (EAN/UPC/GTIN), Amazon ASINs, WEM IDs or wem3.ai/pl URLs. Each row says whether WEM's catalogue holds that product and, when it does, how many retailers hold it and the lowest price in the shopper's currency, with a link to WEM's product page.…Look up several products in one call: up to 20 barcodes (EAN/UPC/GTIN), Amazon ASINs, WEM IDs or wem3.ai/pl URLs. Each row says whether WEM's catalogue holds that product and, when it does, how many retailers hold it and the lowest price in the shopper's currency, with a link to WEM's product page.…
| Parameter | Type | Description |
|---|---|---|
| identifiers* | array | 1-20 barcodes (EAN-13, UPC-A, EAN-8, GTIN-14), Amazon ASINs, WEM IDs, catalogue slugs or wem3.ai/pl URLs. Mixed kinds are fine; a comma-separated string is als… |
| currency | string | ISO 4217 code for the shopper's market. Default GBP. Lowest prices are quoted in this currency only, never converted; a product WEM holds only in another curre… |
get_evidence_receiptFetch a WEM evidence receipt by id (wem-evr-...). Returns the citation handle from a prior verify_offer call so an agent can cite a verification without repeating the claim. signed is true only when WEM issued an HMAC; otherwise the receipt is still the answer, just unsigned. If the user is shoppin…Fetch a WEM evidence receipt by id (wem-evr-...). Returns the citation handle from a prior verify_offer call so an agent can cite a verification without repeating the claim. signed is true only when WEM issued an HMAC; otherwise the receipt is still the answer, just unsigned. If the user is shoppin…
| Parameter | Type | Description |
|---|---|---|
| id* | string | Receipt id, as returned on verify_offer as receipt.id (wem-evr-...). |
search_promotionsinjection riskCurrent promotions (sales and offers) from retailers WEM has an affiliate programme with, as each retailer published them to its affiliate network. Filter by merchant or by words in the offer. Each row has what the offer is, when it runs, and a tracked link. A promotion is not a price: never subtra…Current promotions (sales and offers) from retailers WEM has an affiliate programme with, as each retailer published them to its affiliate network. Filter by merchant or by words in the offer. Each row has what the offer is, when it runs, and a tracked link. A promotion is not a price: never subtra…
here, not that none exists — never tell the user there is no code. An empty re…| Parameter | Type | Description |
|---|---|---|
| merchant | string | Retailer name, e.g. "iHoverboard". Omit for every retailer. |
| query | string | Words that must appear in the offer, e.g. "hoverboard" or "free delivery". |
| currency | string | ISO 4217 code for the shopper's market: GBP (default) or USD. Promotions are regional, so this decides which retailers' offers are read. |
| limit | number | Max promotions to return (default 10, max 25). |
11 of 11 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Price comparison across partner retailers. Read-only, 90-day history, disclosed affiliate.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.