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
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
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
claude mcp add elchin92-avito-mcp -- npx -y avito-mcp
codex mcp add elchin92-avito-mcp -- npx -y avito-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"elchin92-avito-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"avito-mcp"
],
"enabled": true
}
}
} openclaw mcp add elchin92-avito-mcp --command npx --arg -y --arg avito-mcp
mcp_servers:
elchin92-avito-mcp:
command: "npx"
args: ["-y", "avito-mcp"] {
"mcpServers": {
"elchin92-avito-mcp": {
"command": "npx",
"args": [
"-y",
"avito-mcp"
]
}
}
} 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.
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.
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.
meta_auth_status Auth: OAuth token status (no secrets) ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| probe | boolean | — | If true, attempt getToken(), which may trigger a refresh when the token has expired. Default false. |
| Name | Type | Req | Description |
|---|---|---|---|
| configured | boolean | yes | — |
| expiresInSec | — | yes | — |
| lastError | — | yes | — |
| probeOk | — | yes | — |
| tokenFile | string | yes | — |
| tokenPresent | boolean | yes | — |
No examples provided.
meta_cancel_action ✗ Cancel a pending action ~41
Cancels a previously deferred action. After cancellation the confirmation_id is no longer valid.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_id | string | yes | ID of the pending action to cancel. |
No output schema declared.
No examples provided.
meta_capabilities Capabilities: what is enabled in this run ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | object | yes | — |
| allowToolsCount | integer | yes | — |
| approvalMode | string | yes | — |
| confirmationMode | string | yes | — |
| denyToolsCount | integer | yes | — |
| dryRunDefault | boolean | yes | — |
| features | object | yes | — |
| idempotencyTtlSec | integer | yes | — |
| mode | string | yes | — |
| moneyUnits | object | yes | — |
| name | string | yes | — |
| schemaHash | — | yes | — |
| tools | array | yes | — |
| version | string | yes | — |
No examples provided.
meta_confirm_action ✓ Confirm a pending 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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmation_id | string | yes | ID of the pending action (returned in the confirmation_id field on the first tool call). |
| confirmation_secret | string | — | Not used when AVITO_MCP_CONFIRMATION_SECRET is not set. |
No output schema declared.
No examples provided.
meta_get_rate_limits Rate-limit status ~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 Health: overall server status ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| capabilities | object | yes | — |
| counters | object | yes | — |
| name | string | yes | — |
| ok | boolean | yes | — |
| safety | object | yes | — |
| timestamp | string | yes | — |
| uptimeSec | number | yes | — |
| version | string | yes | — |
No examples provided.
meta_list_pending_actions Pending actions: list ~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 Discounts: eligible listings ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| itemIds | array | yes | List 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 ⚠️ Discounts: send campaign ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dispatches | array | — | List 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… |
| dryRun | boolean | — | v0.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). |
| expiresAt | — | — | Offer expiration date, Unix timestamp in seconds; within the min/max range from the multi_create response. |
| idempotencyKey | string | — | v0.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 Discounts: create campaign ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| itemIds | array | yes | List of listing IDs selected for the campaign. At least one. |
No output schema declared.
No examples provided.
msg_discounts_open_api_stats Discounts: campaign statistics ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateTimeFrom | string | yes | Start of the selection period, RFC3339 / ISO 8601 format (e.g. 2022-02-24T05:00:00Z). |
| dateTimeTo | string | yes | End 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 Discounts: campaign plan ~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 ⚠️ Orders: accept return ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| orderId | string | yes | Avito order ID. |
| recipient | object | — | Details of the person who will collect the return: name (full name) and phone (phone, format "+79999999999"). |
| terminalNumber | string | yes | Number 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 ⚠️ Orders: change status ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| orderId | string | yes | Avito order ID. |
| params | object | — | Additional 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). |
| transition | string | yes | Transition 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 Orders: verify 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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmCode | string | yes | The confirmation code the buyer showed/stated upon receipt. |
| parcelID | string | yes | Avito parcel ID (e.g. "P00081306679"). |
No output schema declared.
No examples provided.
orders_cnc_set_details ⚠️ Orders: click-and-collect (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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | — | Address where the buyer picks up the item (e.g. "Tverskaya Street 3, Moscow"). |
| bookingPeriod | integer | yes | Item booking period in hours (e.g. 4). |
| details | string | — | A comment the buyer will receive (e.g. "I can hand over the item from 13:00 to 18:00"). |
| dryRun | boolean | — | v0.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). |
| id | string | yes | Avito order ID. |
| idempotencyKey | string | — | v0.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… |
| marketplaceId | string | yes | Order number in the new Avito system (marketplace). |
No output schema declared.
No examples provided.
orders_download_label 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.
| Name | Type | Req | Description |
|---|---|---|---|
| taskID | string | yes | ID of the label-generation task (document) obtained from orders_generate_labels(_extended). |
No output schema declared.
No examples provided.
orders_generate_labels Orders: create 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).
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| orderIDs | array | yes | Array of order IDs in the deals service (marketplace), from 1 to 100. |
No output schema declared.
No examples provided.
orders_generate_labels_extended Orders: create labels (up to 1000) ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| orderIDs | array | yes | Array of order IDs in the deals service (marketplace), from 1 to 1000. |
No output schema declared.
No examples provided.
orders_get_courier_delivery_range Orders: courier time slots ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Seller's address where the courier picks up the item. |
| orderId | string | yes | Avito order ID. |
No output schema declared.
No examples provided.
orders_get_orders Orders: list ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateFrom | integer | — | Unix timestamp in seconds. Returns only orders created no earlier than this moment. |
| ids | array | — | Filter by Avito order IDs (array of strings). If omitted, all orders matching the other filters are returned. |
| limit | integer | — | Maximum orders per page, from 0 to 20. |
| page | integer | — | Page number for pagination (starting from 1). |
| statuses | array | — | Filter 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 ⚠️ Orders: Chestny Znak codes ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| markings | array | yes | Array 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 ⚠️ Orders: select courier slot ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Seller's address where the courier picks up the item. |
| addressDetails | string | — | Seller address details (entrance, floor, apartment, etc.). |
| dryRun | boolean | — | v0.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). |
| endDate | string | yes | End date/time of the courier arrival in date-time format (ISO 8601); taken from the get method response. |
| idempotencyKey | string | — | v0.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… |
| intervalType | string | yes | Interval type from orders_get_courier_delivery_range. |
| name | string | yes | Full name of the seller's contact person. |
| orderId | string | yes | Avito order ID. |
| phone | string | yes | Phone of the seller's contact person. |
| startDate | string | yes | Start 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 ⚠️ Orders: 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).
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| orderId | string | yes | Avito order ID. |
| trackingNumber | string | yes | Parcel tracking number from the delivery service (e.g. "01-01031002199"). |
No output schema declared.
No examples provided.
promotion_create_bbip_order_for_items_v1 ⚠️ BBIP: buy promotion ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| items | array | yes | 1 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 BBIP: forecast effect ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | 1 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 BBIP: budget suggestions ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| itemIds | array | — | Avito 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 Promotion: service dictionary ~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 Promotion: order status ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| orderId | string | yes | Promotion 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 Promotion: services by listings ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| itemIds | array | — | Avito 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 Promotion: list orders ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| pagination | object | — | Pagination parameters {page, perPage}. Can be omitted — the first page is returned. |
No output schema declared.
No examples provided.
reviews_create_review_answer_v1 ⚠️ Reply to a review ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| message | string | yes | Text of the public answer to the review (must not be empty). Goes through moderation before publication. |
| reviewId | integer | yes | ID 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 User rating ~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 Reviews list ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | yes | Maximum number of reviews per page. API-allowed range: 1–50. |
| offset | integer | yes | Pagination 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 ⚠️ Delete a review answer ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| answer_id | integer | yes | ID 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. |
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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 Stock: get ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| item_ids | array | yes | IDs of the listings on the Avito website (item_id) to get stock for; from 1 to 200 per request. |
| strong_consistency | boolean | — | If 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 ⚠️ Stock: update ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| stocks | array | yes | Array of stock entries per listing; from 1 to 200 elements per request. |
No output schema declared.
No examples provided.
tariffs_get_tariff_info Tariff (Transport) ~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 ⚠️ TrxPromo: start promotion ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| items | array | yes | Array 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 ⚠️ TrxPromo: stop ~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).
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | — | v0.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). |
| idempotencyKey | string | — | v0.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… |
| itemIDs | array | yes | Array of Avito listing IDs for which active and scheduled promo is canceled. |
No output schema declared.
No examples provided.
trxpromo_get_commissions TrxPromo: 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.
| Name | Type | Req | Description |
|---|---|---|---|
| itemIDs | array | yes | Array of Avito listing IDs to check for promo availability and commission limits. |
No output schema declared.
No examples provided.
user_get_user_balance Wallet 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.
| Name | Type | Req | Description |
|---|---|---|---|
| user_id | integer | — | Account 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 User profile ~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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| dateTimeFrom | string | yes | Start 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. |
| dateTimeTo | string | yes | End 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.