Skip to main content
Glama
bama-ir-mcp

bama-ir-mcp

by sepehr071

Search motorcycle and truck ads

ba_search_bikes_trucks
Read-onlyIdempotent

Search Bama motorcycle and truck ads with filters for brand, price, year, mileage, usage and region. Use it to find scooters, tractors or heavy vehicles matching a budget or spec.

Instructions

Search motorcycle or truck (heavy vehicle, bus, machinery) ads on Bama with filters.

Use it for "find a Honda scooter under 500 million" or "used Volvo tractor" questions. Look up vehicle, body, usage and region values with ba_vehicles / ba_filters using the same vehicle_type. Prices are Toman, years Jalali (imports can show a Gregorian year). Then call ba_ad with a code (it finds the section itself). Keep paging while has_more is true; there is no total count. Cars are searched with ba_search.

Input Schema

NameRequiredDescriptionDefault
bodyNoMotorcycles: type from ba_filters kind=body, e.g. ['race'], ['scooter'].
fuelNoMotorcycles: ['gasoline'] or ['electric'].
kindYesWhich section of Bama to search.
pageNo0-based page. Page 0 is short (about 10 ads), later pages 30.
sortNorelevance
colorNoColor values from ba_filters (vehicle_type=kind), e.g. ['red'].
usageNoTrucks: usage from ba_filters kind=usage, e.g. ['tractor'], ['truck,axle1,tanker'].
regionNoState or city values from ba_filters kind=region, e.g. ['tehran'].
sellerNoDealers only or private only.
vehicleNoBrand or brand,model values from ba_vehicles with the same vehicle_type, e.g. ['honda'].
year_toNoLatest year, Jalali.
price_toNoMaximum price in Toman.
year_fromNoEarliest year, Jalali.
mileage_toNoMaximum mileage in km (0 = zero-km only).
price_fromNoMinimum price in Toman.
with_photoNoOnly ads with photos.
with_priceNoOnly ads that state a price.
body_statusNoTrucks: paint condition from ba_filters kind=body_status, e.g. ['nopaint'].
installmentNoOnly installment ads.
mileage_fromNoMinimum mileage in km.
transmissionNo
description_charsNoInclude this many characters of each ad's text (0 = none).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the annotations (readOnly/idempotent/openWorld), it discloses the pagination contract ('keep paging while has_more is true; there is no total count') and the follow-up path to ba_ad, which an agent could not infer. It also states unit conventions for prices (Toman) and years (Jalali, with Gregorian leakage on imports). Auth and rate-limit behavior are not covered, so it is strong rather than exhaustive.

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?

Front-loaded with the core action in sentence one, then progressively narrower guidance (units, workflow, pagination, sibling routing). No filler sentences; the terse parentheticals all carry operational meaning.

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 22-parameter read tool with no output schema, the description supplies the essential missing pieces: the has_more paging loop, absence of a total count, and the code field for chaining into ba_ad. It does not describe result item shape or the description_chars truncation behavior, leaving a small gap.

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 already 91%, so baseline is 3; the description earns a bump by explaining where valid values come from (ba_vehicles, ba_filters keyed to kind) rather than just restating field names. The 'kind' section concept and the motorcycle-vs-truck filter split are made explicit. Minor gap: 'transmission' has no schema description and is not covered in the text.

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 motorcycle or truck ... ads on Bama') and immediately scopes the resource set (heavy vehicle, bus, machinery). It explicitly contrasts with the sibling that handles the remaining case: 'Cars are searched with ba_search.'

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 concrete triggering examples ('find a Honda scooter under 500 million', 'used Volvo tractor'), names prerequisites for valid filter values (ba_vehicles / ba_filters with the same vehicle_type), routes detail lookup to ba_ad, and names the alternative tool for cars. When-to-use and when-not are both explicit.

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