Skip to main content
Glama

Compare products

compare_products
Read-onlyIdempotent

Use this to compare two to four teas.co.uk products side by side, for example on strength, caffeine, price per cup, pack size or brewing. ids takes product ids from find_products; product links work too. A repeated id counts once. Ids that are not recognised are listed in not_found and the rest are still compared. Fewer than two recognised products returns an error. Search first if you only have names. For everything about one product use get_product.

Input Schema

NameRequiredDescriptionDefault
idsYesTwo to four product ids from find_products.

Output Schema

NameRequiredDescriptionDefault
productsYes
not_foundNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ids / description
      Previous value: -"Two to four product ids."New value: +"Two to four product ids from find_products."
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive semantics, yet the description adds genuinely new behavior: duplicate ids are counted once, unrecognised ids are surfaced in not_found while the rest still compare, and under-two recognised products errors out. This partial-failure semantics is valuable context, though it stops short of describing the comparison payload itself.

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?

Purpose and comparison axes are front-loaded, followed by id sourcing, edge-case handling, and sibling routing in short declarative sentences. Every sentence carries distinct information; nothing is redundant padding.

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 annotations covering safety and an output schema covering return shape, the description only needs to explain invocation and edge cases — which it does fully: accepted id forms, dedup, not_found handling, and the error threshold.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already enforces the 2-4 item bounds, so the baseline is 3. The description goes further by explaining the id source (find_products), that product links are also accepted, and that repeats collapse to one entry — meaning beyond the schema.

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?

States a specific verb (compare) and resource (two to four teas.co.uk products side by side) with concrete comparison axes. It distinguishes itself from find_products and get_product by name, so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use rules and alternatives: search first if you only have names, and use get_product for everything about a single product. It also names the failure condition (fewer than two recognised products returns an error).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources