Skip to main content
Glama
bama-ir-mcp

bama-ir-mcp

by sepehr071

New-car price list

ba_price_list
Read-onlyIdempotent

Search Iran's daily new car and motorcycle price list by brand or model, filter by import status and price type, and sort rows by price or daily change.

Instructions

Search Bama's daily price list of new cars (or motorcycles) across all brands and rank it.

Use it for "cheapest zero-km SUV at market price" or "which imported cars rose most today". Each row is one trim, year and price type with the price in Toman and the change since the last quote. For one model's trend use ba_new_prices (history); for specs use ba_car_specs. Prices change daily and are not offers.

Input Schema

NameRequiredDescriptionDefault
sortNobrand
limitNoMost rows to return.
searchNoBrand, model or trim words in English or Persian, e.g. 'soren', 'tiggo'.
importedNoTrue = imported and assembled cars; False = domestic.
price_typeNoOnly market (free-market), agency (dealer) or factory prices.
vehicle_typeNoPrice list to read.car

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.5/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 access, so the safety profile is covered. The description still adds real value beyond that: row granularity ('one trim, year and price type'), currency in Toman, and the volatility caveat that prices change daily and are not offers. It stops short of noting result-size or paging behavior, which matters given a 150-row cap.

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?

Three short sentences with the core purpose front-loaded and the sibling disambiguation near the end where it is most needed. The closing caveat about prices being daily and not offers earns its place. Minor redundancy in pairing 'all brands' with 'rank it'.

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?

With six optional parameters, no output schema, and a read-only profile, the description is essentially complete: it describes the row shape well enough to stand in for the missing output schema and states the price unit. The only gap is guidance on result volume or what happens when a limit is hit.

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 high at 83%, so the baseline is 3; the description adds meaning by framing the call as a ranking operation and by tying the example queries to the sort dimensions ('cheapest', 'rose most') and to the imported and price-type filters. It does not spell out the individual enum values, but the schema already carries those.

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 ('Search Bama's daily price list of new cars (or motorcycles)'), plus scope ('across all brands and rank it'). It also explicitly separates the tool from ba_new_prices (history) and ba_car_specs (specs), so an agent can route between siblings without opening schemas.

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 two concrete intent examples ('cheapest zero-km SUV at market price', 'which imported cars rose most today') that map to sort/filter options, and names explicit alternatives for the adjacent needs: ba_new_prices for a single model's trend and ba_car_specs for specifications. When-to-use and when-not-to-use are both covered.

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