Yandex Delivery MCP
NPM · MCP-YANDEX-DOSTAVKA · SCANNED SEP 23
MCP server for the Yandex Delivery B2B API: express claims, tracking, NDD/pickup-point 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 → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 35 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3741 tokens (~233/item across 16 items; 16 tools + 0 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 Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Yandex Delivery MCP server?
Yandex Delivery MCP runs locally as an npm package, launched with npx -y mcp-yandex-dostavka. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · mcp-yandex-dostavka
claude mcp add a1-x-tech-mcp-yandex-dostavka -- npx -y mcp-yandex-dostavka
{
"mcpServers": {
"a1-x-tech-mcp-yandex-dostavka": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-dostavka"
]
}
}
} {
"servers": {
"a1-x-tech-mcp-yandex-dostavka": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-dostavka"
]
}
}
} codex mcp add a1-x-tech-mcp-yandex-dostavka -- npx -y mcp-yandex-dostavka
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"a1-x-tech-mcp-yandex-dostavka": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-yandex-dostavka"
],
"enabled": true
}
}
} openclaw mcp add a1-x-tech-mcp-yandex-dostavka --command npx --arg -y --arg mcp-yandex-dostavka
mcp_servers:
a1-x-tech-mcp-yandex-dostavka:
command: "npx"
args: ["-y", "mcp-yandex-dostavka"] {
"McpServers": {
"a1-x-tech-mcp-yandex-dostavka": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-yandex-dostavka"
]
}
}
} assistant mcp add a1-x-tech-mcp-yandex-dostavka -t stdio -c npx -a -y mcp-yandex-dostavka
{
"mcpServers": {
"a1-x-tech-mcp-yandex-dostavka": {
"command": "npx",
"args": [
"-y",
"mcp-yandex-dostavka"
]
}
}
} 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.
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −3
- Stability: pass → 0.80 functional
- 17 Sept 26 0
- Stability: 0.97 → pass security
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
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 23 Sept 2026 · Analysed npm/mcp-yandex-dostavka@1.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
express_accept_claim Экспресс: подтвердить заявку ~154
Подтверждает заявку после успешной оценки (status ready_for_approval) и запускает поиск курьера — с этого момента доставка реально заказана. version берётся из express_get_claim. Ошибки 409: inappropriate_status (заявка не в подходящем статусе), old_version (устаревшая версия — перечитайте заявку), offer_expired / offer_already_used (оффер истёк — пересоздайте заявку).
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
| version | integer | yes | Версия заявки из последнего ответа express_get_claim. |
No output schema declared.
No examples provided.
express_cancel_claim Экспресс: отменить заявку ~162
Отменяет заявку (в том числе уже подтверждённую). Перед вызовом получите условия отмены через express_cancel_info и передайте её cancel_state: при paid спишется стоимость отмены. version берётся из express_get_claim. Ошибки 409: устаревшая версия, недопустимый статус или бесплатная отмена уже недоступна.
| Name | Type | Req | Description |
|---|---|---|---|
| cancel_state | string | yes | Режим отмены из express_cancel_info: free — бесплатно, paid — платно. |
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
| version | integer | yes | Версия заявки из последнего ответа express_get_claim. |
No output schema declared.
No examples provided.
express_cancel_info Экспресс: условия отмены ~97
Условия отмены заявки — вызывайте ПЕРЕД express_cancel_claim. Возвращает cancel_state: free (бесплатная), paid (платная — вернётся price/price_with_vat и currency) или unavailable (отменить уже нельзя).
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
No output schema declared.
No examples provided.
express_check_price Экспресс: оценка стоимости ~218
Первичная оценка стоимости экспресс-доставки (день в день) БЕЗ создания заявки. Возвращает price (строка-decimal, не число!), currency_rules {code, sign}, distance_meters, eta (минуты) и zone_id. Точки маршрута задаются координатами [долгота, широта] и/или адресом строкой. Типовые ошибки: 400 address_not_found (адрес не распознан), 409 estimating.cant_construct_route (маршрут не строится).
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Товары/грузоместа. |
| requirements | object | – | Требования к доставке (класс, тип кузова, доп. опции). |
| route_points | array | yes | Точки маршрута: координаты и/или адрес (хотя бы одно из двух у каждой точки). |
| skip_door_to_door | boolean | – | true — отключить доставку до двери (по умолчанию false). |
No output schema declared.
No examples provided.
express_create_claim Экспресс: создать заявку ~484
Создаёт заявку на экспресс-доставку. ВАЖНО: заявка не запускается сразу — после создания она проходит оценку (status: new → estimating → ready_for_approval), затем её нужно подтвердить инструментом express_accept_claim; либо передайте auto_accept=true. Возвращает id (claim_id), status, version, route_points, pricing, created_ts. Идемпотентность обеспечивает request_id: повторный вызов с тем же request_id вернёт ту же заявку, а не создаст дубликат.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_accept | boolean | – | true — подтвердить заявку автоматически после успешной оценки (без express_accept_claim). |
| callback_properties | object | – | Webhook о смене статусов заявки. |
| client_requirements | object | yes | Требования к доставке; taxi_class обязателен. |
| comment | string | – | Комментарий курьеру (до 7000 символов). |
| due | string | – | Желаемое время подачи курьера (ISO-8601), например 2026-08-10T12:00:00+03:00. |
| emergency_contact | object | – | Контакт на случай проблем с доставкой. |
| items | array | yes | Товары к доставке. Ставка НДС передаётся кодами vat_none | vat0 | vat10 | vat20. |
| optional_return | boolean | – | true — при неудачном вручении курьер не возвращает товары отправителю. |
| request_id | string | – | Токен идемпотентности (1–128 символов, query-параметр). Если не задан — UUID сгенерируется автоматически. |
| route_points | array | yes | Точки маршрута (2–300): как минимум source и destination. |
| same_day_data | object | – | Параметры доставки «в течение дня» (для taxi_class=sdd_multislot): {delivery_interval: {from, to}}. |
| skip_act | boolean | – | true — не формировать акт приёма-передачи. |
| skip_client_notify | boolean | – | true — не отправлять SMS/пуши получателю. |
| skip_door_to_door | boolean | – | true — не подниматься до двери (вручение у подъезда). |
No output schema declared.
No examples provided.
express_get_claim Экспресс: информация о заявке ~188
Полная информация по заявке: status, version (нужен для accept/cancel), items, route_points, pricing {offer, final_price, currency}, performer_info (имя курьера, транспорт), eta, created_ts/updated_ts. Статусы: new, estimating, ready_for_approval, accepted, performer_lookup, performer_found, performer_not_found, pickup_arrived, pickuped, delivery_arrived, delivered, returning, returned, failed, cancelled, cancelled_by_taxi. ВНИМАНИЕ: ошибки оценки могут прийти массивом error_messages [{code, message}] внутри успешного 200-ответа — проверяйте и HTTP-ошибку, и это поле.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
No output schema declared.
No examples provided.
express_performer_position Экспресс: позиция курьера ~120
Текущая геопозиция курьера по активной заявке: position {lat, lon, timestamp (unix), accuracy, speed (м/с), direction (0–360°)} и route_points с sharing_link. Ошибки: 404 — курьер/позиция не найдены, 409 — заявка не в активном статусе.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
No output schema declared.
No examples provided.
express_search_claims Экспресс: поиск заявок ~360
Поиск заявок по фильтрам с пагинацией (сортировка — по дате создания). Возвращает claims (каждая — как в express_get_claim) и cursor для следующей страницы. Пагинация: либо offset/limit, либо курсорная — передайте cursor из предыдущего ответа (тогда остальные фильтры не нужны).
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | – | Фильтр по id заявки. |
| created_from | string | – | Создана не ранее (ISO-8601). |
| created_to | string | – | Создана не позднее (ISO-8601). |
| cursor | string | – | Курсор из предыдущего ответа — альтернатива offset/limit. |
| due_from | string | – | Подача не ранее (ISO-8601). |
| due_to | string | – | Подача не позднее (ISO-8601). |
| external_order_id | string | – | Фильтр по внешнему id заказа. |
| limit | integer | – | Сколько заявок вернуть (1–1000). |
| offset | integer | – | Смещение offset-пагинации (по умолчанию 0). |
| phone | string | – | Фильтр по телефону из контактов заявки. |
| state | string | – | Группа статусов: active — активные, finished — завершённые, delayed — отложенные. |
| status | string | – | Фильтр по статусу. Известные статусы: new, estimating, ready_for_approval, accepted, performer_lookup, performer_found, performer_not_found, pickup_arrived, pickuped, delivery_arrived, delivered, ret… |
No output schema declared.
No examples provided.
express_tracking_links Экспресс: ссылки для отслеживания ~103
Публичные ссылки для отслеживания курьера — их можно отдавать получателю. Возвращает route_points [{id, type, visit_order, sharing_link}]; sharing_link доступен только для точек type=destination. Ошибки 409: inappropriate_status, unknown_tracking_links.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | Идентификатор заявки (claim_id, 32–64 символа) из ответа express_create_claim или express_search_claims. |
No output schema declared.
No examples provided.
platform_cancel_request Платформа: отменить заказ ~98
Отменяет заказ в логистической платформе. Курьерский заказ можно отменить до статуса DELIVERY_TRANSPORTATION_RECIPIENT (передача получателю). Возвращает status (CREATED | SUCCESS | ERROR), reason и description. Ошибки: 403 — чужой заказ/нет прав, 404 — не найден.
| Name | Type | Req | Description |
|---|---|---|---|
| request_id | string | yes | id заказа в платформе (из platform_confirm_offer). |
No output schema declared.
No examples provided.
platform_confirm_offer Платформа: подтвердить оффер ~128
Бронирует выбранный оффер — СОЗДАЁТ заказ в логистической платформе. Возвращает request_id (id заказа, например «77241d8009bb46d0bff5c65a73077bcd-udp») — используйте его в platform_get_request, platform_request_history и platform_cancel_request. Оффер должен быть не просрочен (см. expires_at из platform_create_offers), иначе 400 bad_request.
| Name | Type | Req | Description |
|---|---|---|---|
| offer_id | string | yes | offer_id выбранного варианта из ответа platform_create_offers. |
No output schema declared.
No examples provided.
platform_create_offers Платформа: рассчитать варианты доставки ~330
Рассчитывает варианты доставки (офферы) для заказа «в другой день» (НДД/ПВЗ). Возвращает offers [{offer_id, expires_at, offer_details {delivery_interval {min, max, policy}, pickup_interval, pricing, pricing_total, pricing_commission_on_delivery_payment}}]. Оффер действует до expires_at — выбранный вариант бронируется инструментом platform_confirm_offer (до подтверждения заказ НЕ создан). Ошибка 400 no_delivery_options — на выбранный интервал вариантов доставки нет. Денежные суммы — в копейках (целые числа).
| Name | Type | Req | Description |
|---|---|---|---|
| billing_info | object | yes | Параметры оплаты. |
| destination | object | yes | Куда доставить: platform_station (ПВЗ/постамат) ИЛИ custom_location (адрес курьером). |
| forbid_unboxing | boolean | – | true — запретить вскрытие при получении. |
| info | object | yes | Служебная информация о заказе. |
| items | array | yes | Товары заказа. |
| last_mile_policy | string | yes | Последняя миля: time_interval — курьерская доставка в интервал, self_pickup — самовывоз из ПВЗ/постамата. |
| particular_items_refuse | boolean | – | true — разрешить частичный выкуп (отказ от части товаров). |
| places | array | yes | Грузоместа (коробки). |
| recipient_info | object | yes | Получатель. |
| source | object | yes | Откуда забирать отправление. |
No output schema declared.
No examples provided.
platform_get_request Платформа: информация о заказе ~129
Информация о заказе НДД: state {status (например CREATED), description, timestamp, timestamp_utc, reason}, request (адреса, товары, получатель) и courier_order_id. Возможные причины отмены: SHOP_CANCELLED, USER_CHANGED_MIND, DELIVERY_PROBLEMS, BROKEN_ITEM и др.
| Name | Type | Req | Description |
|---|---|---|---|
| request_code | string | – | Номер заказа в системе заказчика (дополнительный фильтр). |
| request_id | string | yes | id заказа в платформе (из platform_confirm_offer). |
| slim | boolean | – | true — сокращённый ответ. |
No output schema declared.
No examples provided.
platform_list_pickup_points Платформа: список ПВЗ и постаматов ~365
Список ПВЗ, постаматов и точек самопривоза платформенного контура (доставка «в другой день»). Возвращает points [{id, operator_id, name, type, position {latitude, longitude}, address, payment_methods, schedule, available_for_dropoff, dayoffs}]. id точки используется как platform_station в destination инструмента platform_create_offers. ВНИМАНИЕ: пустое тело вернёт ВСЕ точки (их очень много) — задавайте хотя бы один фильтр (geo_id, диапазон координат или pickup_point_ids).
| Name | Type | Req | Description |
|---|---|---|---|
| available_for_dropoff | boolean | – | true — только точки, куда можно самопривозить отправления. |
| geo_id | integer | – | Гео-id города/региона по геобазе Яндекса, например 213 — Москва. |
| is_yandex_branded | boolean | – | true — только брендированные ПВЗ Яндекса. |
| latitude | object | – | Диапазон по широте {from, to}. |
| longitude | object | – | Диапазон по долготе {from, to}. |
| operator_ids | array | – | Фильтр по операторам точек. |
| payment_method | string | – | Только точки, поддерживающие способ оплаты: already_paid, card_on_receipt, postpay. |
| payment_methods | array | – | Несколько способов оплаты сразу. |
| pickup_point_ids | array | – | Точечный запрос по id точек. |
| pickup_services | array | – | Фильтр по доступным услугам точки. |
| type | string | – | Тип точки: pickup_point — ПВЗ, terminal — постамат, warehouse — точка самопривоза. |
No output schema declared.
No examples provided.
platform_request_history Платформа: история статусов заказа ~68
История смены статусов заказа НДД: state_history [{status, description, timestamp (unix), timestamp_utc (ISO-8601), reason?}] — от создания до текущего момента.
| Name | Type | Req | Description |
|---|---|---|---|
| request_id | string | yes | id заказа в платформе (из platform_confirm_offer). |
No output schema declared.
No examples provided.
raw_request Произвольный вызов API Яндекс Доставки ~292
Запасной выход: прямой вызов любого метода B2B API Яндекс Доставки — для эндпоинтов без выделенного инструмента (тарифы, points-eta, ярлыки/акты, мерчанты, склады, отгрузки, proof-of-delivery и т.д.). contour выбирает контур и хост: express — b2b.taxi.yandex.net (пути вида «b2b/cargo/integration/v2/...»), platform — b2b-authproxy.taxi.yandex.net (пути вида «api/b2b/platform/...»). query — параметры строки запроса, body отправляется как JSON. ОСТОРОЖНО: инструмент может выполнять и изменяющие операции; 5xx/сетевые ошибки ретраятся только для GET.
| Name | Type | Req | Description |
|---|---|---|---|
| body | object | – | JSON-тело запроса. |
| contour | string | yes | Контур API: express — экспресс-доставка (claims), platform — НДД/ПВЗ. |
| method | string | – | HTTP-метод; по умолчанию POST. |
| path | string | yes | Относительный путь API, например "b2b/cargo/integration/v2/claims/info" или "api/b2b/platform/request/info". |
| query | object | – | Query-параметры, например {"claim_id": "..."}. |
No output schema declared.
No examples provided.
What is the Yandex Delivery MCP server?
Yandex Delivery MCP is listed in the public MCP registry as io.github.A1-x-Tech/mcp-yandex-dostavka. MCP server for the Yandex Delivery B2B API: express claims, tracking, NDD/pickup-point orders. This page covers its npm package (mcp-yandex-dostavka).
Is the Yandex Delivery MCP server safe to use?
Yandex Delivery MCP scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 23 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Yandex Delivery MCP server expose?
Yandex Delivery MCP exposes 16 tools: express_check_price, express_create_claim, express_get_claim, express_accept_claim, express_cancel_info, and 11 more. Their descriptions and schemas cost roughly 3,296 tokens of context every time the server is loaded.
Is the Yandex Delivery MCP server still maintained?
Yandex Delivery MCP is still listed as active in the MCP registry. We last reached this channel on 23 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Yandex Delivery MCP server under?
Yandex Delivery MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.