Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.elchin92/avito-mcp

NPM · AVITO-MCP · SCANNED AUG 3

An AI agent that runs your Avito account — 148 tools for chats, listings, promotion, orders.

Available components

+46 this week 79 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security86
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/node > @hono/node-server. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (96 of 97), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to elchin92/avito-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 29600 tokens (~176/item across 168 items; 144 tools + 24 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management22
  • Stability check failed: the tool surface changed between 1.1.1 and 2.0.0: 0 tool removals, 14 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (2% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · avito-mcp

# add to Claude Code
claude mcp add elchin92-avito-mcp -- npx -y avito-mcp
# add to Codex CLI
codex mcp add elchin92-avito-mcp -- npx -y avito-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "elchin92-avito-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "avito-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add elchin92-avito-mcp --command npx --arg -y --arg avito-mcp
# ~/.hermes/config.yaml
mcp_servers:
  elchin92-avito-mcp:
    command: "npx"
    args: ["-y", "avito-mcp"]
// mcp.json
{
  "mcpServers": {
    "elchin92-avito-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "avito-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 0
    • GHSA-frvp-7c67-39w9 affects this package: medium security
    • Known CVEs: partial → fail security
    • Package version: 1.3.3 → 2.0.0 functional
  • 2 Aug 26 +23
    • Provenance: pass → unverified security
    • Install scripts: pass → unverified security
    • Known CVEs: unverified → partial security
    • Malware scan: unverified → pass security
    • The attested source repository moved: elchin92/avito-mcp security
    • Maintenance: pass → unverified functional
    • License: pass → unverified functional
    • Dependency health: unverified → partial functional
    • Licence: MIT functional
  • 1 Aug 26 +51
    • Stability: unverified → fail security
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • The attested source repository moved: elchin92/avito-mcp security
    • Schema quality: unverified → 100 functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Licence: MIT functional
  • 31 Jul 26 −35
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −35
    • Install scripts: pass → unverified security
    • Provenance: pass → unverified security
    • Known CVEs: partial → unverified security
    • The attested source repository moved: elchin92/avito-mcp security
    • License: pass → unverified functional
    • Dependency health: partial → unverified functional
    • Maintenance: pass → unverified functional
    • Licence: MIT functional
  • 28 Jul 26 +42
    • Known CVEs: unverified → partial security
    • Provenance: unverified → pass security
    • Install scripts: unverified → pass security
    • The attested source repository moved: elchin92/avito-mcp security
    • Maintenance: unverified → pass functional
    • License: unverified → pass functional
    • Schema quality: unverified → good functional
    • Dependency health: unverified → partial functional
    • Licence: MIT functional
  • 27 Jul 26 33

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
elchin92/avito-mcp
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/elchin92/avito-mcp/.github/workflows/publish.yml@refs/heads/main
Rekor log index:
2335597600
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:8cbb2cdeb392c06134c04e5e62422c6dfa948d9cea4010a648c0adc12783974bbe3205863f826a264e345fbfdbe51c296b6e4a52446b75b7643289570
Discovery method:
attestation_endpoint
Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-frvp-7c67-39w9 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
Dependencies 96 packages

96 packages in the resolved dependency tree · 64 deprecated · 26 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 144 exposed · ~28,978 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
meta_auth_status ~112

Reports only token METADATA: present/absent, expiresInSec, last refresh error. The token itself is NEVER returned — for that use the auth_* tools under AVITO_MCP_EXPOSE_AUTH_TOOLS=1 (hidden by default). By default it does not force a refresh — if probe=true, it will attempt getToken() (which may trigger a refresh).

NameTypeReqDescription
probebooleanIf true, attempt getToken(), which may trigger a refresh when the token has expired. Default false.
NameTypeReqDescription
configuredbooleanyes
expiresInSecyes
lastErroryes
probeOkyes
tokenFilestringyes
tokenPresentbooleanyes

No examples provided.

meta_cancel_action ~41

Cancels a previously deferred action. After cancellation the confirmation_id is no longer valid.

NameTypeReqDescription
confirmation_idstringyesID of the pending action to cancel.

No output schema declared.

No examples provided.

meta_capabilities ~56

Returns a machine-readable description of the current configuration: mode, allow/deny lists, confirmation, dry-run, idempotency, local file access. Useful for an agent to understand which operations are fundamentally available before attempting to call tools.

Input schema present but exposes no named parameters.

NameTypeReqDescription
accountobjectyes
allowToolsCountintegeryes
approvalModestringyes
confirmationModestringyes
denyToolsCountintegeryes
dryRunDefaultbooleanyes
featuresobjectyes
idempotencyTtlSecintegeryes
modestringyes
moneyUnitsobjectyes
namestringyes
schemaHashyes
toolsarrayyes
versionstringyes

No examples provided.

meta_confirm_action ~145

⚠️ Executes a previously deferred action by its confirmation_id. Use ONLY after explicit human confirmation — the flow is designed as a server-side two-step guard against accidental one-shot execution, not as cryptographic protection against an autonomous agent. Confirmation is single-use: the id is deleted after a successful call. AVITO_MCP_CONFIRMATION_SECRET is not set — soft-confirmation is in effect. Set the env variable to switch to hard-confirmation.

NameTypeReqDescription
confirmation_idstringyesID of the pending action (returned in the confirmation_id field on the first tool call).
confirmation_secretstringNot used when AVITO_MCP_CONFIRMATION_SECRET is not set.

No output schema declared.

No examples provided.

meta_get_rate_limits ~81

Returns the most recently observed X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset values, grouped by logical API domain (core, messenger, items, etc.) across all processes in the current account namespace. Useful for diagnosing "why am I being throttled" — Avito enforces a per-minute limit.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

meta_health ~53

Universal health-check: package version, active capabilities, rate-limit status, idempotency ledger size, pending actions count, dryRun default. Does not call the Avito API. Safe to call as often as you like.

Input schema present but exposes no named parameters.

NameTypeReqDescription
capabilitiesobjectyes
countersobjectyes
namestringyes
okbooleanyes
safetyobjectyes
timestampstringyes
uptimeSecnumberyes
versionstringyes

No examples provided.

meta_list_pending_actions ~53

Lists the current pending actions awaiting confirmation. Args are not shown — only tool name, risk, a brief summary, and the creation and expiration times. Use it to diagnose "what did I just ask to confirm".

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

msg_discounts_open_api_available ~125

[BETA] Checks whether a discount/special-offer messenger campaign is available for a list of listings (available). Read-only; sends nothing and charges nothing. For each itemId it returns isAvailable and, when not available, a reason. Run this FIRST, before msg_discounts_open_api_multi_create. Do not confuse it with ..._tariff_info (campaigns remaining in the plan) or ..._stats (statistics for sent campaigns).

NameTypeReqDescription
itemIdsarrayyesList of listing IDs to check for campaign-service availability. At least one.

No output schema declared.

No examples provided.

msg_discounts_open_api_multi_confirm ~336

[BETA] ⚠️ SECOND, final step: confirms and PAYS from the Avito wallet for the discount/special-offer campaign created via msg_discounts_open_api_multi_create (multi_confirm). IRREVERSIBLE and PUBLIC: messages are sent to recipients (buyers who added the listing to favorites) and money is deducted from the account; if funds are insufficient an error is returned. Always confirm the action with the user before calling. Unlike ..._available/..._tariff_info/..._stats (read-only), this method performs the actual send and charge.

NameTypeReqDescription
dispatchesarrayList of campaigns to confirm; taken from the multi_create response. Each item contains dispatchId (campaign ID), recipientsCount (number of recipients), offerSlug (slug of the chosen offer), and opti…
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
expiresAtOffer expiration date, Unix timestamp in seconds; within the min/max range from the multi_create response.
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…

No output schema declared.

No examples provided.

msg_discounts_open_api_multi_create ~264

[BETA] Creates a draft discount/special-offer messenger campaign for a list of listings and locks in the recipient audience (multi_create). This is the FIRST step — the campaign is NOT sent yet and no money is charged: it returns dispatches (id, created/notCreated status, recipient count) and the available offers with their price. Then pick an offer and confirm it via msg_discounts_open_api_multi_confirm — only then are the messages sent to recipients (public). Check listing eligibility in advance via ..._available.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
itemIdsarrayyesList of listing IDs selected for the campaign. At least one.

No output schema declared.

No examples provided.

msg_discounts_open_api_stats ~192

[BETA] Returns statistics for already-sent discount/special-offer campaigns over a period (stats). Read-only; sends nothing and charges nothing. For each campaign: itemId, offerSlug, send and expiration dates, the number of offers sent (count) and accepted by buyers (accepted), the discount amount, and the cost. Use it to analyze results; for eligibility checks use ..._available, and for the remaining plan balance use ..._tariff_info.

NameTypeReqDescription
dateTimeFromstringyesStart of the selection period, RFC3339 / ISO 8601 format (e.g. 2022-02-24T05:00:00Z).
dateTimeTostringyesEnd of the selection period, RFC3339 / ISO 8601 format (e.g. 2022-03-01T12:00:00Z).

No output schema declared.

No examples provided.

msg_discounts_open_api_tariff_info ~104

[BETA] Returns information about the current discount/special-offer campaign plan: how many campaigns remain (sendsLeft) and the total allowance (totalSends) (tariff_info). Read-only, no parameters, sends nothing and charges nothing; if there is no active plan, the response is empty. Do not confuse it with ..._available (per-listing eligibility) or ..._stats (statistics for already-sent campaigns).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

orders_accept_return_order ~282

⚠️ Confirms the buyer's return of an item and selects the Russian Post office the return parcel will be sent to (accept_return_order). Write/public operation for courier delivery (Courier): the confirmation is visible to the buyer and irreversibly starts the return process. Call it when the order has an available acceptReturnOrder action. The response contains a success flag.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
orderIdstringyesAvito order ID.
recipientobjectDetails of the person who will collect the return: name (full name) and phone (phone, format "+79999999999").
terminalNumberstringyesNumber of the Russian Post office the return parcel will be sent to (e.g. "141138").

No output schema declared.

No examples provided.

orders_apply_transition ~312

⚠️ Applies an order status transition (apply_transition), such as confirmation or cancellation. WARNING: the new status is visible to the buyer and affects the deal; the transition is irreversible. The allowed transitions depend on the current status — see the list of available actions in availableActions from orders_get_orders. The response contains a success flag.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
orderIdstringyesAvito order ID.
paramsobjectAdditional delivery parameters. For click-and-collect (CNC), a cnc object with the fields confirmCode (the code the buyer shows the seller) and marketplaceId (order number in the new system).
transitionstringyesTransition name. Allowed values: confirm (confirm the order), reject (cancel the order), perform (confirm shipment, RDBS), receive (confirm delivery, RDBS/CNC). The set depends on the current status.

No output schema declared.

No examples provided.

orders_check_confirmation_code ~142

Verifies the confirmation code for handing over an order at a pickup point (check_confirmation_code): the buyer states the code from the app and the method validates it. Effectively a read check, it does not change the order. The response contains status: success (code valid), fail (invalid), expired (expired), or attempts (attempts exhausted). Do not confuse it with delivery_check_confirmation_code from the delivery domain — this method belongs to order management.

NameTypeReqDescription
confirmCodestringyesThe confirmation code the buyer showed/stated upon receipt.
parcelIDstringyesAvito parcel ID (e.g. "P00081306679").

No output schema declared.

No examples provided.

orders_cnc_set_details ~334

⚠️ Prepares a click-and-collect order and sends the details to the buyer (cnc_set_details, CNC = click-and-collect). Write operation: the seller sets the pickup address, the booking period, and a comment the buyer will see. Call it when the order has an available setCNCDetails action. After handover, confirmation is done via orders_apply_transition (receive) with the buyer's code.

NameTypeReqDescription
addressstringAddress where the buyer picks up the item (e.g. "Tverskaya Street 3, Moscow").
bookingPeriodintegeryesItem booking period in hours (e.g. 4).
detailsstringA comment the buyer will receive (e.g. "I can hand over the item from 13:00 to 18:00").
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idstringyesAvito order ID.
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
marketplaceIdstringyesOrder number in the new Avito system (marketplace).

No output schema declared.

No examples provided.

orders_download_label ~130

Downloads the generated PDF file with labels by taskID (download_label). Read-only, changes nothing. Call it AFTER orders_generate_labels or orders_generate_labels_extended, once the generation task is complete — the taskID comes from their response. Returns a structured binary response {mimeType: "application/pdf", sizeBytes, base64}; decode the base64 to save or print the file. If the task is not ready yet or the taskID is wrong, a 404 is returned.

NameTypeReqDescription
taskIDstringyesID of the label-generation task (document) obtained from orders_generate_labels(_extended).

No output schema declared.

No examples provided.

orders_generate_labels ~240

Creates a task to generate PDF labels for orders (generate_labels, up to 100 orders at a time). Available only for pickup-point orders. Returns a taskID; wait for it to be ready and download the file via orders_download_label. For large batches (up to 1000 orders) use orders_generate_labels_extended — it has a higher limit but a strict rate limit (1 request/min).

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
orderIDsarrayyesArray of order IDs in the deals service (marketplace), from 1 to 100.

No output schema declared.

No examples provided.

orders_generate_labels_extended ~245

Creates a task to generate PDF labels for a large batch of orders (generate_labels_extended, up to 1000 orders at a time). Available only for pickup-point orders. Difference from orders_generate_labels: a higher order limit (1000 vs 100), but a strict rate limit — 1 request per minute. Returns a taskID; wait for it to be ready and download the file via orders_download_label.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
orderIDsarrayyesArray of order IDs in the deals service (marketplace), from 1 to 1000.

No output schema declared.

No examples provided.

orders_get_courier_delivery_range ~131

Returns the available time slots for a courier to pick up the item (get_courier_delivery_range), for seller-courier delivery (RDBS/Courier). Read-only. Call it BEFORE orders_set_courier_delivery_range — a specific slot is chosen from the response (dateOptions with intervals and intervalType). Do not confuse it with the set version: this one only reads the available intervals, it does not book them.

NameTypeReqDescription
addressstringyesSeller's address where the courier picks up the item.
orderIdstringyesAvito order ID.

No output schema declared.

No examples provided.

orders_get_orders ~250

Returns a list of delivery orders (get_orders) with filters by ID, status, and creation date. Read-only, changes nothing. Use it as a starting point: take the available actions from the response (availableActions: confirm/reject/perform/receive/setMarkings/setTrackNumber/setCNCDetails, etc.) for subsequent write operations. Available only to B2C sellers. The response includes a hasMore flag for pagination.

NameTypeReqDescription
dateFromintegerUnix timestamp in seconds. Returns only orders created no earlier than this moment.
idsarrayFilter by Avito order IDs (array of strings). If omitted, all orders matching the other filters are returned.
limitintegerMaximum orders per page, from 0 to 20.
pageintegerPage number for pagination (starting from 1).
statusesarrayFilter by statuses (array). Allowed values: on_confirmation (awaiting confirmation), ready_to_ship (awaiting shipment), in_transit (in transit), canceled (canceled), delivered (delivered to the buyer…

No output schema declared.

No examples provided.

orders_markings ~299

⚠️ Submits "Chestny Znak" marking codes (DataMatrix) for the items in an order (markings). Write operation: stores the codes on the Avito side; required when the order has a setMarkings action (see availableActions in orders_get_orders). Maximum 50 marking records per request; the response contains an array of per-item results (success/error). Do not confuse it with status transitions (orders_apply_transition) — this method only attaches codes, it does not change the order status.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
markingsarrayyesArray of marking records (max 50). Each record: itemId (Avito item ID), orderId (Avito order ID) and markings — an array of DataMatrix codes (up to 10 codes, each a string of 29–129 characters).

No output schema declared.

No examples provided.

orders_set_courier_delivery_range ~393

⚠️ Selects (books) a specific time slot for a courier to pick up the item (set_courier_delivery_range), for seller-courier delivery. A write operation, unlike the read method orders_get_courier_delivery_range, which only shows the available slots — call it first and take the interval and intervalType from the response. Can be called again to change the time while the courier has not yet picked up the parcel. The response contains a success flag.

NameTypeReqDescription
addressstringyesSeller's address where the courier picks up the item.
addressDetailsstringSeller address details (entrance, floor, apartment, etc.).
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
endDatestringyesEnd date/time of the courier arrival in date-time format (ISO 8601); taken from the get method response.
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
intervalTypestringyesInterval type from orders_get_courier_delivery_range.
namestringyesFull name of the seller's contact person.
orderIdstringyesAvito order ID.
phonestringyesPhone of the seller's contact person.
startDatestringyesStart date/time of the courier arrival in date-time format (ISO 8601); taken from the get method response.

No output schema declared.

No examples provided.

orders_set_tracking_number ~262

⚠️ Submits the parcel tracking number for delivery by the seller's partners (set_tracking_number, DBS). Write/public operation: the tracking number is visible to the buyer for tracking. Call it when the order has an available setTrackNumber action (or fixTrackNumber to correct it). The response contains a success flag; on error, code: incorrect_number (invalid number) or already_set (the number is already attached to another order).

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
orderIdstringyesAvito order ID.
trackingNumberstringyesParcel tracking number from the delivery service (e.g. "01-01031002199").

No output schema declared.

No examples provided.

promotion_create_bbip_order_for_items_v1 ~345

⚠️ PAID ACTION (money): creates a BBIP order to enable promotion for listings and CHARGES the budget from the account balance. The order is created only if there are no errors across all listings; if funds are insufficient — 402. FIRST estimate the cost and return for free: promotion_get_bbip_suggests_by_items_v1 (budget options) → promotion_get_bbip_forecasts_by_items_v1 (forecast). Then for each listing pass an option from suggests as {itemId, duration, oldPrice, price} (oldPrice/price — kopecks/day, duration — days; full budget = price × duration). Returns orderId (UUID) — check its status via promotion_get_order_status_v1.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
itemsarrayyes1 to 100 listings for paid promotion. Each element is {itemId, duration, oldPrice, price} from promotion_get_bbip_suggests_by_items_v1. The whole order is rejected if any listing has an error.

No output schema declared.

No examples provided.

promotion_get_bbip_forecasts_by_items_v1 ~193

Returns the forecast effect of BBIP promotion (listing promotion bid/budget): expected increase in views (min/max) and total cost for the period. READ-ONLY: spends NO money; use BEFORE promotion_create_bbip_order_for_items_v1 to estimate the return. For each listing pass {itemId, duration, oldPrice, price} — the same values as for create; take them from promotion_get_bbip_suggests_by_items_v1 (budgets[].{oldPrice,price} — kopecks/day, duration.recommended — days). Returns items[].{min,max,totalPrice} (kopecks) and an overall totalPrice.

NameTypeReqDescription
itemsarrayyes1 to 100 listings to forecast. Each element is {itemId, duration, oldPrice, price}, with values taken from promotion_get_bbip_suggests_by_items_v1.

No output schema declared.

No examples provided.

promotion_get_bbip_suggests_by_items_v1 ~147

Returns recommended BBIP promotion bid/budget options for the listings. READ-ONLY: spends NO money. This is the first step of the BBIP flow: from the response take items[].budgets[].{oldPrice,price} (kopecks/day, isRecommended flags the recommended one) and items[].duration.{from,to,recommended} (days), then pass them to promotion_get_bbip_forecasts_by_items_v1 (forecast) and promotion_create_bbip_order_for_items_v1 (paid purchase).

NameTypeReqDescription
itemIdsarrayAvito listing IDs (int64) for which budget options are needed. Up to 100.

No output schema declared.

No examples provided.

promotion_get_dict_of_services_v1 ~72

Returns a dictionary of all Avito promotion service types: for each service — slug (type identifier), name and isDeprecated (whether it is deprecated). READ-ONLY: spends NO money and requires no parameters. Use it as a reference to resolve slugs in the responses of other promotion methods.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

promotion_get_order_status_v1 ~115

Returns the status of a BBIP order by its orderId: the order's overall status (initialized/waiting/in_process/processed), totalPrice (kopecks) and a per-item status for each listing (slug, price, errorReason). READ-ONLY: spends NO money. Call it AFTER promotion_create_bbip_order_for_items_v1 to track the order's execution.

NameTypeReqDescription
orderIdstringyesPromotion order identifier in UUID format, obtained from promotion_create_bbip_order_for_items_v1.

No output schema declared.

No examples provided.

promotion_get_services_by_items_v1 ~108

Returns active promotion services for the specified listings: for each listing, a list of services with slug, name and startDate/endDate dates. READ-ONLY: spends NO money. Use it to find out which promotion is already enabled and until what date it is active (not to be confused with suggests, which propose new budget options).

NameTypeReqDescription
itemIdsarrayAvito listing IDs (int64) for which active promotion services are needed. Up to 100.

No output schema declared.

No examples provided.

promotion_list_orders_by_user_v1 ~98

Returns a paginated list of the current user's promotion orders: id (UUID), createdAt and status of each order. READ-ONLY: spends NO money. Use it for order history/overview; the detailed status of a specific order is available via promotion_get_order_status_v1 by its orderId.

NameTypeReqDescription
paginationobjectPagination parameters {page, perPage}. Can be omitted — the first page is returned.

No output schema declared.

No examples provided.

reviews_create_review_answer_v1 ~273

Publishes a seller answer to a review (reviews_create_review_answer_v1). WARNING: the answer is PUBLIC — once moderated it is visible to everyone on the profile page. Requires reviewId (from reviews_get_reviews_v1) and the message text; returns the id of the created answer and a timestamp. Confirm the action with the user. To delete an answer, use reviews_remove_review_answer_v1.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
messagestringyesText of the public answer to the review (must not be empty). Goes through moderation before publication.
reviewIdintegeryesID of the review the answer is published for. Taken from the id field in reviews_get_reviews_v1.

No output schema declared.

No examples provided.

reviews_get_ratings_info_v1 ~84

Returns the aggregated rating of the current user (reviews_get_ratings_info_v1): average score, the total number of active reviews and the number of reviews that affect the rating, plus a flag indicating whether the rating is enabled. Takes no parameters and returns no paginated data. To get the list of reviews itself, use reviews_get_reviews_v1.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

reviews_get_reviews_v1 ~159

Returns a paginated list of active reviews for the current user (reviews_get_reviews_v1): review id, score, text, author, listing, attached photos and the current seller answer, plus total — the overall number of reviews. Use it to browse individual reviews and obtain the reviewId (required for reviews_create_review_answer_v1). If you only need the aggregate score without the list, use reviews_get_ratings_info_v1.

NameTypeReqDescription
limitintegeryesMaximum number of reviews per page. API-allowed range: 1–50.
offsetintegeryesPagination offset: how many reviews to skip from the start of the list. Defaults to 0; increase by the limit value to fetch the next page.

No output schema declared.

No examples provided.

reviews_remove_review_answer_v1 ~238

Permanently deletes a previously published seller answer to a review (reviews_remove_review_answer_v1). WARNING: deletion is IRREVERSIBLE and immediately removes the public answer from the profile; returns a success flag. Confirm the action with the user. To publish an answer again, use reviews_create_review_answer_v1.

NameTypeReqDescription
answer_idintegeryesID of the review answer to delete (not to be confused with reviewId). Taken from the answer.id field of a review in reviews_get_reviews_v1.
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…

No output schema declared.

No examples provided.

stock_get_stocks_info ~151

Reads current stock (available quantity) for a list of listings in the warehouse (get_stocks_info). Read-only, changes nothing. Returns for each item_id: quantity (available = submitted/edited minus reserved), is_unlimited, is_multiple, is_out_of_stock. To change stock, use stock_update_stocks.

NameTypeReqDescription
item_idsarrayyesIDs of the listings on the Avito website (item_id) to get stock for; from 1 to 200 per request.
strong_consistencybooleanIf true, skip the cache and return data from the database (strong consistency): fresher but slower. By default data may be served from the cache. Optional.

No output schema declared.

No examples provided.

stock_update_stocks ~243

⚠️ Updates the stock (quantity) of items across listings in the warehouse (update_stocks). Affects whether listings are available to order: quantity=0 marks a listing as "out of stock". Accepts an array of {item_id, quantity, external_id?}; quantity is an integer 0..999999. Returns success and errors for each listing. For current stock, use stock_get_stocks_info.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
stocksarrayyesArray of stock entries per listing; from 1 to 200 elements per request.

No output schema declared.

No examples provided.

tariffs_get_tariff_info ~118

Returns the account tariff information for the Transport category (tariffs_get_tariff_info, read-only). The response includes the current and scheduled contracts — tariff level, activity status, start/end dates (Unix time), bonuses, prices with and without discount, and listing packages with their categories, locations, price groups, and remaining balance. Use it to check tariff terms and the remaining listing balance. Takes no parameters. Available only for tariffs in the "Transport" category and not for the "CPA" tariff; otherwise it returns 404.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

trxpromo_apply ~310

⚠️ Applies transactional promo/promotion with a pay-per-result commission to listings (trxpromo_apply). Affects price/spend: the promotion fee is added on top of the base commission. The response includes a success flag per listing, and on error a code 1001 (validation) or 1002 (promo unavailable) along with the allowed commission range. First check the limits via trxpromo_get_commissions; cancel a running promo with trxpromo_cancel.

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
itemsarrayyesArray of listings to promote. Each element: itemID (number, listing ID, required), commission (promotion fee in hundredths of a percent, 1500 = 15%; required), dateFrom (promotion start date "YYYY-MM…

No output schema declared.

No examples provided.

trxpromo_cancel ~238

⚠️ Cancels active and scheduled transactional promo for listings (trxpromo_cancel). Reverts the effect of trxpromo_apply — the promotion and its associated commission stop applying. The response includes a success flag per listing, and on error a code 1001 (validation) or 1002 (promo unavailable). Apply promo again with trxpromo_apply; check commissions with trxpromo_get_commissions (read-only).

NameTypeReqDescription
dryRunbooleanv0.7.0: if true — returns a preview of the HTTP request without calling the Avito API. Safe for inspecting exactly what would be done. Default: the value of AVITO_MCP_DRY_RUN_DEFAULT (usually false).
idempotencyKeystringv0.7.0: optional key for duplicate protection. A repeat call with the same key within AVITO_MCP_IDEMPOTENCY_TTL_SEC returns the cached result. The same key with different args returns a conflict erro…
itemIDsarrayyesArray of Avito listing IDs for which active and scheduled promo is canceled.

No output schema declared.

No examples provided.

trxpromo_get_commissions ~145

Checks transactional promo availability and the allowed commission range for listings (trxpromo_get_commissions, read-only — does not start anything or charge any fee). For each listing it returns the promoAvailable flag and settings: minimum/maximum/step of the commission in hundredths of a percent (100 = 1%). Use before trxpromo_apply to learn the commission limits. Start promo with trxpromo_apply, cancel with trxpromo_cancel. This is a GET with a request body — non-standard, but that is exactly how it is defined in the Avito swagger.

NameTypeReqDescription
itemIDsarrayyesArray of Avito listing IDs to check for promo availability and commission limits.

No output schema declared.

No examples provided.

user_get_user_balance ~136

Reads the account wallet balance (get_user_balance): the amount of real money (real) and the amount of bonus funds (bonus) in rubles. Read-only, a point-in-time snapshot. This is the Personal Account wallet, not the CPA balance (for CPA see the cpa domain). For the history of charges/top-ups use post_operations_history.

NameTypeReqDescription
user_idintegerAccount number (Profile_id) in the Avito Personal Account, format int64. Optional: by default the Profile_id from .env (your own account) is substituted. You can find out the id via get_user_info_sel…

No output schema declared.

No examples provided.

user_get_user_info_self ~87

Returns the profile of the currently authorized account (get_user_info_self): numeric id (this is the Profile_id), email, name, verified phone numbers, and profile_url. Read-only, no parameters. Handy for finding out the Profile_id and checking which account the server is running under; for the balance use get_user_balance, for the list of operations use post_operations_history.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

user_post_operations_history ~223

Returns the list of account wallet operations for a period (post_operations_history): charges and top-ups in money and bonuses, with amountRub, amountBonus, amountTotal, operation type/name, service type (vas, cpa, tariff, etc.), itemId, and dates for each operation. Read-only. These are Personal Account wallet movements, not the CPA balance. Constraints: dateTimeFrom no more than a year ago, the range between from/to no more than one week; for the current balance use get_user_balance.

NameTypeReqDescription
dateTimeFromstringyesStart of the selection period, required. Format date-time ISO 8601, for example "2026-05-01T00:00:00". No more than one year ago from the current moment.
dateTimeTostringyesEnd of the selection period, required. Format date-time ISO 8601, for example "2026-05-08T00:00:00". The range from dateTimeFrom is no more than one week (7 days).

No output schema declared.

No examples provided.