Skip to main content
Glama

Find phones with filters

mi_find
Read-onlyIdempotent

Filter Mobile.ir phone listings by brand, price, OS, camera, weight, rating, or name to find matching models and see their lowest shop price in Toman.

Instructions

Filter Mobile.ir's phone database like its 'mobile finder': brand, shop price range, OS, camera, weight, name.

Returns up to limit cards with id, rating (0-10), release year, screen, camera and the lowest current shop price in Toman. Use mi_phone for the full spec of one result and mi_shop_prices to see who sells it. With a price filter only priced phones appear. If found exceeds limit, tighten the filters; the site never shows more than 100.

Input Schema

NameRequiredDescriptionDefault
osNoOperating systems; default both.
kindNoProduct class.phone
sortNoOrder of the list.rating
brandNoBrand name (Samsung, Xiaomi, اپل) or id; see mi_options('brands').
limitNoRows to return (the site shows at most 100).
marketNo'available' = on sale or announced (default); 'any' adds discontinued and cancelled.available
min_yearNoReleased in this year or later, e.g. 2024.
max_priceNoHighest shop price in Toman.
min_priceNoLowest shop price in Toman (e.g. 20000000). Phones without a shop price are dropped.
descendingNoHighest first (default).
min_ratingNoUser rating at least this (0-10).
max_weight_gNoWeight at most this many grams.
min_camera_mpNoMain camera at least this many megapixels.
name_containsNoPart of the model name, e.g. 'ultra'.

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 the description still adds real behavioral content: the returned fields, the side effect that a price filter silently drops unpriced phones, and the hard 100-row ceiling with a corrective action when results overflow. The only soft spot is the mention of `found`, which is neither a schema parameter nor in the listed return fields, leaving its meaning slightly ambiguous.

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?

The purpose sentence is front-loaded and the second paragraph packs return shape, alternatives and the limit escape hatch without filler. Slight density (many clauses per sentence) and the unexplained `found` token cost a point.

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?

For a 14-parameter, zero-required discovery tool with no output schema, the description supplies what the schema cannot: the shape of returned cards and truncation behavior. Adding a clarifying note on `found` and on recursion into mi_options('brands') would make it fully self-sufficient.

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 description coverage is 100%, so every parameter is already documented with enums, defaults and boundaries; the description only paraphrases the filter facets. The one genuine addition is the note that price filtering excludes phones without a shop price, which duplicates rather than extends the min_price description. Baseline 3 applies.

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 ('Filter Mobile.ir's phone database') and enumerates the filterable facets (brand, shop price range, OS, camera, weight, name). It also names what it is not, pointing to mi_phone and mi_shop_prices, so an agent can place it among the 16 siblings without opening the 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?

It gives explicit follow-up routing ('Use mi_phone for the full spec of one result and mi_shop_prices to see who sells it') and a recovery instruction when `found` exceeds `limit`. It does not, however, distinguish this tool from the other search siblings (mi_search, mi_used_search, mi_sim_search), so the when-to-use story is incomplete against the full sibling set.

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