Skip to main content
Glama

Avito Search

avito_search
Read-onlyIdempotent

Search Avito listings by keyword, category, and location to find products and compare marketplace prices.

Instructions

Search Avito listings via the internal js/items API.

price_rub is None for an ad without a price — never 0.

Full field list and error codes: guide://avito/avito_search.

Input Schema

NameRequiredDescriptionDefault
pageNoResult page (1-based)
queryYesSearch text, e.g. 'thinkpad x1 carbon'
category_idNoOptional Avito category id to narrow the search
location_idNoAvito location id; default AVITO_LOCATION_ID (637640 = Moscow)

Output Schema

NameRequiredDescriptionDefault
pageNo
_metaNo
countNo
itemsNo
queryNo
statusNo
tier_usedNo
location_idNo
total_countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.1

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds two genuinely non-obvious behaviors beyond that: price_rub being null rather than 0 for unpriced ads, and a pointer to the guide resource for error codes and the full field list. It does not disclose rate limits or pagination-cap behavior, which keeps it off a 5.

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 action front-loaded and zero filler. The middle sentence about price_rub is a null-handling caveat that arguably belongs with return values, but it is short enough not to hurt scanability.

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 an output schema present and full schema coverage, the description need not restate fields; it correctly outsources the details to guide://avito/avito_search. What is missing is the one thing structured fields cannot convey: the relationship to avito_card and avito_seller in a multi-tool workflow.

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 the schema already explains query, page, category_id and location_id (including the Moscow default). The description adds no parameter-level meaning of its own, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ("Search Avito listings") and names the backing endpoint, so the agent immediately knows this is a listing search. It does not explicitly contrast itself with the lookalike siblings avito_card and avito_seller, which is the only thing separating a 4 from a 5.

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

Usage Guidelines3/5

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

Usage is only implied: it is a search tool, so the agent can infer "start here, then use avito_card for details". There is no statement of when to prefer it over avito_card/avito_seller or of any prerequisites, so it stays at minimum-viable guidance.

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