TrustRails
Server Details
Search and compare 26,000+ UK electronics products across multiple retailers including AO.
Get real-time prices, stock availability, and price comparison across retailers in a single search. Covers laptops, phones, tablets, headphones, TVs, monitors, cameras, gaming, and more.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: search_products decomposes a query into filters to find products, while get_product fetches full details for a single known ID. Descriptions explicitly state the handoff ('Use this after search_products'), so an agent cannot reasonably confuse them.
Both names follow a verb_noun pattern (get_product, search_products), which is predictable. The only deviation is the singular vs plural noun (product vs products), a minor inconsistency that does not impede understanding.
For a read-only product catalog spanning 26,000+ items across 7 retailers, two tools covers only search and single-item lookup. It is a thin surface—no category/brand enumeration, batch comparison, or retailer listing—though the search tool's filters absorb a lot of that burden.
Search plus detail retrieval covers the core discovery workflow, and get_product returns offers, stock, and specs, so there are no fatal dead ends for a consumer catalog. However, notable gaps remain: no way to enumerate valid category/brand filter values, no batch get_product for comparing multiple IDs at once, and no price-history or retailer-listing operations.
Available Tools
2 toolsget_productAInspect
Get full details for a single product by ID. Returns complete technical specifications including specs.description (full prose spec text with processor, RAM, storage, display, ports etc), pricing, stock level, delivery time, and all retailer offers with per-retailer pricing. Accepts both canonical product IDs and original retailer offer IDs. Use this after search_products to get detailed specs for comparison or recommendations. Always call this when a user needs precise product attributes, compatibility info, side-by-side comparisons, or price comparison across retailers.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The unique product ID from search results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Lists return contents comprehensively: technical specifications, pricing, stock level, delivery time, retailer offers. Also mentions parameter flexibility (accepts both canonical product IDs and retailer offer IDs). Missing statement about read-only nature or idempotency, but adequate for a retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and output, then details, then usage guidance. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description provides comprehensive information: purpose, return contents, parameter flexibility, and usage workflow. Nothing essential missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter product_id is fully covered by schema (100% coverage). Description adds value by noting that it accepts both canonical product IDs and original retailer offer IDs, which is not in schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'get' and resource 'full details for a single product by ID'. Distinct from sibling search_products by specifying it returns detailed specs for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use this after search_products' and 'Always call this when a user needs precise product attributes, compatibility info, side-by-side comparisons, or price comparison.' Provides clear usage context, though lacks explicit 'when not to use' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsAInspect
HOW TO CALL THIS TOOL — read before every call: Decompose the user's request into filters first. Only what's left over goes in query. STEP 1: brand name → brand filter. STEP 2: product category → category filter. STEP 3: price → min_price/max_price. STEP 4: what remains → query. BAD: query='Sony headphones under £200' | GOOD: brand='Sony', category='Headphones', max_price=200, no query. BAD: query='tablet' | GOOD: category='Tablets', no query. BAD: query='smartwatch' | GOOD: category='Wearables', no query. BAD: query='macbook neo' | GOOD: brand='Apple', category='Laptops', query='neo'. BAD: query='Samsung QLED TV' | GOOD: brand='Samsung', category='TVs', query='qled'. If brand+category alone cover what the user wants, omit query entirely. Only put differentiating terms in query: model lines (neo, ultra, oled), variants, model numbers (WH-1000XM5, s25 ultra). CROSS-CATEGORY NOTE: Gaming headsets → category='Headphones', query='gaming headset'. The Gaming category is consoles/controllers/accessories only. Always set lite=true. If 0 results, broaden the query or drop filters. Use get_product for full specs. Search 26,000+ deduplicated UK electronics products across 7 retailers with price comparison. Covers: Laptops, Desktops, Phones, Tablets, Headphones, Monitors, TVs, Cameras, Keyboards, Mice, Speakers, Gaming, Wearables, Printers, Networking, Storage, Audio, Drones, Cables & Chargers. All prices in GBP. Returns summary data: title, brand, price, availability, category, purchase link, offer_count. MANDATORY PRICE COMPARISON: For any product relevant to the user's needs, if offer_count > 1, you MUST call get_product before responding — never mention multiple offers without presenting the full comparison. A response is incomplete if it references offer_count > 1 without retailer pricing details. Show: cheapest retailer, all other prices with the difference, exact savings amount, delivery differences if relevant. The offers[] array is sorted cheapest first. Even when the user doesn't explicitly ask about price, if offer_count > 1 it's always worth mentioning the savings. For spec-based queries (RAM, ports, screen size, weight etc.), search first then call get_product on top 3-5 results — do not assume specs from titles. STOCK: When availability is out_of_stock, mention it as an alternative and suggest checking back — do not silently omit it.
| Name | Required | Description | Default |
|---|---|---|---|
| lite | No | Return trimmed product objects with only essential fields (id, title, brand, price, currency, availability, image_url, purchase_url, offer_count). Always set to true unless full product objects are needed. | |
| sort | No | Sort order: 'relevance' (default), 'price_asc' (cheapest first), 'price_desc' (most expensive first). | |
| brand | No | Filter by brand name (exact match, case-insensitive). Examples: Apple, Samsung, Sony, HP, Dell, Lenovo, Anker, Bose, LG | |
| limit | No | Maximum number of products to return (default 50, max 100) | |
| query | No | Refinement terms ONLY — model lines, series, variants, model numbers (e.g. 'neo', 'ultra', 'oled', 'WH-1000XM5', 's25 ultra'). NEVER a category name: BAD query='tablet', query='smartwatch', query='laptop'. Set the category filter instead. NEVER a brand name: BAD query='Sony'. Set the brand filter instead. NEVER a price. Omit entirely when browsing a category or brand — 'show me tablets' = category='Tablets', no query. | |
| category | No | Filter by product category. Use ONLY these exact values: Laptops, Desktops, Tablets, Phones, TVs, Monitors, Headphones, Speakers, Cameras, Keyboards, Mice, Printers, Networking, Storage, Gaming, Wearables, Drones, Audio, Cables & Chargers. NOTE: 'Smartphones' is not valid — use 'Phones'. 'Televisions' is not valid — use 'TVs'. For TVs, use query: 'smart TV' — it returns far more results than 'TV' alone. Avoid query: 'television'. | |
| max_price | No | Maximum price in GBP. | |
| min_price | No | Minimum price in GBP. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It thoroughly covers scope, deduplication, currency, return summary shape, sorted offers, out-of-stock handling, and the mandatory price-comparison behavior. Operational traits are disclosed in detail beyond what schema fields could convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is well-structured with steps, examples, and labeled sections, but it is long and somewhat repetitive, especially around the mandatory price-comparison rule. It earns most of its space, but could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema and no annotations, this description is unusually complete. It covers parameter semantics, exact category values, edge cases, sibling handoff rules, stock handling, and return data, leaving very little for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already covers all parameters at 100%, the description adds a genuine decision algorithm for what belongs in query vs. filters, concrete BAD/GOOD mappings, a cross-category routing note, and a smart TV query tip. This meaningfully extends the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching 26,000+ deduplicated UK electronics products across 7 retailers and returning summary price-comparison data. It also distinguishes the tool from its sibling get_product, which is for full specs, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is exceptionally explicit: the description gives a step-by-step decomposition procedure, BAD/GOOD examples, exact category strings, and a cross-category exception for gaming headsets. It also states exactly when to switch to get_product, including mandatory calls when offer_count > 1 and for spec-based queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_products1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"The refinement terms after brand and category are extracted. Use for model lines, series names, variants, or model numbers (e.g. 'neo', 'ultra', 'oled', 'WH-1000XM5'). DO NOT include brand names or prices — use filters. Omit entirely if brand + category fully describe what the user wants."New value: +"Refinement terms ONLY — model lines, series, variants, model numbers (e.g. 'neo', 'ultra', 'oled', 'WH-1000XM5', 's25 ultra'). NEVER a category name: BAD query='tablet', query='smartwatch', query='laptop'. Set the category filter instead. NEVER a brand name: BAD query='Sony'. Set the brand filter instead. NEVER a price. Omit entirely when browsing a category or brand — 'show me tablets' = category='Tablets', no query."
2 tool updates
- First observed
get_product - First observed
search_products
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.