Skip to main content
Glama

Compare phones side by side

mi_compare
Read-onlyIdempotent

Compare 2–4 phones, tablets, or watches on Mobile.ir to view price ranges, ratings, and specs side by side, highlighting differences to help choose between models.

Instructions

Compare 2 to 4 phones, tablets or watches on Mobile.ir: price range, rating and each spec row side by side.

Use it after mi_search or mi_find when the user is choosing between models. Values are listed in the same order as phones. By default only rows that differ are returned, so the answer stays short; ask for sections to focus.

Input Schema

NameRequiredDescriptionDefault
idsYes2 to 4 product ids from mi_search or mi_find.
sectionsNoLimit to these spec sections, e.g. ['display','battery']; default all.
only_differencesNoKeep only the spec rows where the products differ (default); false returns every row.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: result values follow the order of the input ids, and by default only differing rows are returned so output stays short. It does not describe pagination or response size limits, but for a bounded 2–4 item comparison that is minor.

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

Conciseness4/5

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

Two short paragraphs with the capability stated first and the workflow/behavior second; no filler sentences. The dangling reference to `phones` is the one element that costs the reader a moment of confusion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description characterizes the return well enough (price range, rating, per-spec rows, difference-only filtering, input-ordered values). Combined with full schema coverage and read-only annotations, an agent has what it needs to call this correctly; only the stale `phones` reference is a gap.

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%, so all three parameters are already documented, making 3 the baseline. The description reinforces the intent of `only_differences` (short answers by default) and the focusing role of `sections`, but it also refers to `phones` when the actual parameter is `ids`, a naming mismatch that slightly muddies rather than clarifies.

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) with a bounded resource set (2 to 4 phones, tablets or watches) and names exactly what the output contains: price range, rating and each spec row side by side. An agent can distinguish this from mi_phone (single product) or mi_search (discovery) without opening any 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?

Explicitly sequences the tool after mi_search or mi_find and gives the triggering condition ('when the user is choosing between models'). It stops short of naming the negative case — e.g. that a single-model question should go to mi_phone — so it is clear but not fully routing.

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