Skip to main content
Glama

Compare products

compare_products
Read-onlyIdempotent

Put 2 to 6 products side by side: kind, maker, size / mass / orbit, depth label, counts, the materials each uses (and which are shared or unique), the materials per part function, the spec rows they have in common, standards, organizations and what each does not publish. Use it to choose between comparable products or to see how a design differs ("CubeSat Kit structure vs EnduroSat structures"). It reads the same sourced records as get_product; open that for the quotes. Specs are aligned by label, so differences in wording show as separate rows.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "products": "<products>"
    },
    "name": "compare_products"
  }
}

Input Schema

NameRequiredDescriptionDefault
productsYesProduct ids, titles or aliases

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond them: it reads the same sourced records as get_product and that specs are aligned by label so wording differences appear as separate rows. That alignment caveat is valuable; more could be said about what happens with unresolvable product references.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and purposeful, but the opening sentence is a long comma-chained inventory of output fields that is slow to parse. The subsequent sentences (use case, get_product routing, label alignment) each earn their place; the field list could be tightened.

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?

There is no output schema, and the description compensates by enumerating what is returned: shared/unique materials, materials per part function, common spec rows, standards, organizations, and what each product does not publish. Combined with the get_product routing and row-alignment caveat, an agent has enough to call it correctly.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter already documents 'Product ids, titles or aliases' plus minItems 2 / maxItems 6, so the schema does the heavy lifting. The description's restatement of '2 to 6 products' plus the label-alignment note is a marginal, not substantive, addition to parameter meaning.

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 and resource ('Put 2 to 6 products side by side') and enumerates the compared dimensions: kind, maker, size/mass/orbit, materials, standards, organizations. It also separates itself from get_product by declaring that quotes live there, so an agent can tell the two apart without opening either schema.

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

Usage Guidelines4/5

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

Gives explicit selection context ('use it to choose between comparable products or to see how a design differs') with a concrete example pairing. It routes the agent to get_product for quotations, but offers no explicit when-not or rate/scope exclusions.

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.