Odel
Yandex Delivery MCP

Yandex Delivery MCP

Local
@a1-x-techTypeScriptMITUpdated 1w ago

MCP server for the Yandex Delivery B2B API: express claims, tracking, NDD/pickup-point orders.

A1 Яндекс Доставка MCP

npm CI Glama License: MIT

A1 Яндекс Доставка MCP позволяет управлять корпоративной доставкой из Claude, Codex, Cursor и других AI-приложений. Вы ставите задачу обычными словами, а ассистент обращается к вашему аккаунту Яндекс Доставки, рассчитывает стоимость, оформляет отправления и показывает их статус.

  • День в день по городу. Рассчитайте доставку, вызовите курьера, узнайте его местоположение и получите ссылку для получателя.
  • На следующий день и по России. Сравните доступные сроки и стоимость доставки до двери.
  • В ПВЗ и постаматы. Найдите подходящую точку, рассчитайте варианты и оформите выбранную доставку.
  • Сначала расчёт, затем заказ. Ассистент различает предварительную стоимость, подготовку отправления и момент, когда доставка действительно оформляется.
  • Без собственной интеграции. Внутри уже есть 16 готовых действий, схемы данных и правила безопасной работы с повторными запросами.

Подходит компаниям и предпринимателям, которые уже подключены к B2B API Яндекс Доставки и получили токен в личном кабинете. Это не сервис для частных отправителей.

Быстро узнать стоимость

Вы: Рассчитай доставку коробки 2 кг с Льва Толстого, 16 на Тверскую, 7.

Ассистент: Проверил маршрут через Яндекс Доставку и вернул актуальную стоимость, расстояние и примерное время подачи из вашего аккаунта.

Подключить сервер · Посмотреть сценарии · Открыть техническую документацию


Увидеть работу за минуту

Вы: Рассчитай доставку букета сегодня к 18:00 из офиса на Льва Толстого, 16 клиенту на Тверскую, 7.

Ассистент: Проверил маршрут и получил предварительную стоимость, расстояние и ETA из вашего аккаунта Яндекс Доставки.

Вы: Оформи доставку, если итоговая цена не выше 1 000 ₽.

Ассистент: Итоговая цена укладывается в лимит. Доставка оформлена, поиск курьера начался.

Вы: Где сейчас курьер и какую ссылку отправить получателю?

Ассистент: Получил текущую позицию курьера и публичную ссылку для отслеживания заказа.

Вы: Теперь найди варианты доставки этой коробки в Казань на следующий день: до двери, в ПВЗ или постамат.

Ассистент: Получил доступные варианты по срокам и стоимости. Для ПВЗ и постаматов покажу адреса, расписание и поддерживаемые способы оплаты.

Вы: Можно бесплатно отменить первую доставку?

Ассистент: Сначала проверил условия отмены. Покажу, доступна ли она сейчас, будет ли бесплатной и какая сумма спишется при платной отмене.

Примеры показывают последовательность доступных действий. Конкретные цены, сроки, статусы и доступность доставки всегда приходят из вашего аккаунта Яндекс Доставки.


Содержание

Быстрый старт

Нужны Node.js 20+ и токен корпоративного клиента Яндекс Доставки.

  1. Получите токен в личном кабинете Яндекс Доставки.

  2. Добавьте MCP-сервер в своё AI-приложение.

mcp-yandex-dostavka запускается на вашем компьютере через npx, поэтому браузерные версии ChatGPT и Claude не могут подключить его напрямую.

Codex

Через интерфейс приложения:

  1. Откройте Settings → MCP servers.

  2. Нажмите Add server.

  3. Выберите STDIO, затем укажите команду запуска npx -y mcp-yandex-dostavka@latest и переменную окружения YANDEX_DELIVERY_TOKEN со своим токеном.

  4. Нажмите Save, затем Restart.

Через командную строку:

codex mcp add yandex-dostavka \
  --env YANDEX_DELIVERY_TOKEN=ваш_токен \
  -- npx -y mcp-yandex-dostavka@latest

Проверьте подключение:

codex mcp list

Команда сохраняет сервер в общей конфигурации Codex. Если Codex уже открыт, перезапустите его.

Официальная инструкция Codex

Claude Desktop

Актуальный официальный путь — Settings → Extensions. Для пользовательского desktop extension откройте Advanced settings → Extension Developer → Install Extension…, выберите файл .mcpb и следуйте подсказкам.

Этот репозиторий сейчас публикует npm-пакет со stdio и пока не содержит .mcpb. Поэтому используйте приведённый ниже JSON stdio-конфиг как fallback только в сборках Claude Desktop, где ещё поддерживается локальная конфигурация:

{
  "mcpServers": {
    "yandex-dostavka": {
      "command": "npx",
      "args": ["-y", "mcp-yandex-dostavka@latest"],
      "env": {
        "YANDEX_DELIVERY_TOKEN": "ваш_токен"
      }
    }
  }
}

В таких сборках сохраните его в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows.

Сохраните файл и перезапустите Claude Desktop.

Официальная инструкция Claude Desktop

Claude Code

Откройте терминал и выполните:

claude mcp add \
  --env YANDEX_DELIVERY_TOKEN=ваш_токен \
  --transport stdio \
  --scope user \
  yandex-dostavka \
  -- npx -y mcp-yandex-dostavka@latest

Проверьте подключение:

claude mcp list

Официальная инструкция Claude Code

Cursor

Пользовательский локальный сервер добавляется в Cursor через файл mcp.json:

  • macOS и Linux: ~/.cursor/mcp.json
  • Windows: %USERPROFILE%\.cursor\mcp.json

Создайте файл, если его ещё нет, и добавьте сервер. Если в файле уже есть другие серверы, сохраните их и добавьте только запись yandex-dostavka:

{
  "mcpServers": {
    "yandex-dostavka": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-yandex-dostavka@latest"],
      "env": {
        "YANDEX_DELIVERY_TOKEN": "ваш_токен"
      }
    }
  }
}

Сохраните файл. Если Cursor уже открыт, перезапустите его.

Официальная инструкция Cursor

VS Code
  1. Откройте палитру команд: ⇧⌘P на macOS или Ctrl+Shift+P на Windows и Linux.
  2. Выполните команду MCP: Open User Configuration. Откроется пользовательский файл mcp.json, доступный во всех проектах.
  3. Добавьте сервер. Если в файле уже есть другие настройки, сохраните их:
{
  "inputs": [
    {
      "type": "promptString",
      "id": "yandex-delivery-token",
      "description": "Токен Яндекс Доставки",
      "password": true
    }
  ],
  "servers": {
    "yandex-dostavka": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-yandex-dostavka@latest"],
      "env": {
        "YANDEX_DELIVERY_TOKEN": "${input:yandex-delivery-token}"
      }
    }
  }
}
  1. Сохраните файл. VS Code попросит токен при первом запуске сервера и сохранит его как скрытое значение.
  2. Чтобы проверить сервер, выполните в палитре команд MCP: List Servers и выберите yandex-dostavka.

Официальная инструкция VS Code

После подключения откройте новый диалог в выбранном приложении и попросите:

Рассчитай доставку коробки 2 кг с Льва Толстого, 16 на Тверскую, 7.

Что можно поручить

Доставка день в день по городу

  • Узнать стоимость. Рассчитать цену, расстояние и примерное время подачи курьера по адресам, весу и габаритам отправления.
  • Оформить отправление. Передать товары, адреса, контакты и требования к машине или курьеру.
  • Найти заказ. Искать отправления по статусу, телефону, периоду или номеру заказа вашей компании.
  • Следить за курьером. Получить его текущую позицию и публичную ссылку для получателя.
  • Отменить с известными последствиями. Сначала узнать, возможна ли отмена и будет ли она платной.

Доставка на следующий день и по России

  • Сравнить варианты. Получить доступные интервалы и стоимость доставки до двери.
  • Оформить выбранный вариант. Подтвердить подходящие срок, способ вручения и цену.
  • Проверить заказ. Узнать текущий статус и посмотреть историю его изменений.
  • Отменить заказ. Отправить запрос на отмену, пока текущий статус это позволяет.

Доставка в ПВЗ и постаматы

  • Найти подходящую точку. Искать ПВЗ и постаматы по городу, координатам, типу и способу оплаты.
  • Проверить условия. Посмотреть адрес, расписание, доступность самопривоза и способы оплаты.
  • Рассчитать и оформить. Получить варианты доставки в выбранную точку и подтвердить подходящий.

Как ассистент работает с доставкой

Для доставки день в день ассистент сначала рассчитывает маршрут. Когда вы просите оформить отправление, он передаёт данные в Яндекс Доставку, дожидается итоговой оценки и запускает поиск курьера. После этого можно узнавать статус, смотреть позицию курьера и получать ссылку для отслеживания.

Для доставки на следующий день, по России, в ПВЗ или постамат ассистент получает доступные варианты со сроками и стоимостью. Вы выбираете подходящий вариант, после чего ассистент оформляет заказ и может читать его текущий статус и историю.

Значения не придумываются. Стоимость, ETA, доступные интервалы, адреса точек и статусы приходят из вашего аккаунта Яндекс Доставки.

Ассистент не наблюдает за заказами постоянно. Он проверяет состояние доставки, когда вы ставите ему задачу. Если AI-приложение поддерживает задачи по расписанию, в его интерфейсе можно настроить регулярную проверку — например, каждый час узнавать статус заказа до вручения.

Когда создаётся реальный заказ

Что вы проситеЧто происходитДоставка оформлена
Рассчитать доставку день в деньАссистент получает предварительную цену, расстояние и ETAНет
Подготовить доставку день в деньСоздаётся заявка и получается итоговая оценка, но поиск курьера ещё не начинаетсяЕщё нет
Оформить доставку день в деньАссистент подтверждает оценённую заявку и запускает поиск курьераДа
Рассчитать доставку на следующий день, до ПВЗ или постаматаАссистент получает доступные варианты и ценыНет
Оформить выбранный вариантАссистент подтверждает вариант и создаёт заказДа
Проверить условия отменыАссистент узнаёт, возможна ли отмена и сколько она стоитНет
Отменить доставкуАссистент изменяет реальный заказ; отмена может быть платнойДа, заказ изменяется

Точная команда на оформление или отмену разрешает соответствующее действие. Поведение дополнительных подтверждений зависит от AI-приложения: некоторые клиенты спрашивают разрешение перед каждой записью, другие следуют собственным политикам.

Получение доступа к API

  1. Зарегистрируйтесь как корпоративный клиент на dostavka.yandex.ru и заключите договор. Для доставки на следующий день, по России, в ПВЗ и постаматы также подключите станцию отгрузки.
  2. В личном кабинете откройте вкладку «Интеграции» и нажмите «Получить токен».
  3. Передайте токен серверу в YANDEX_DELIVERY_TOKEN.

Токен действует неограниченное время, но перестаёт работать после смены пароля личного кабинета. Подробнее: доступ к API доставки день в день и доступ к API доставки на другой день.

Токен хранится открытым текстом в конфигурации AI-приложения. Относитесь к нему как к паролю и не добавляйте конфигурацию с реальным токеном в Git.

Один или два токена

Обычно достаточно общего YANDEX_DELIVERY_TOKEN. Если разные виды доставки подключены в разных кабинетах, задайте два отдельных токена:

  • YANDEX_DELIVERY_EXPRESS_TOKEN — токен доставки день в день;
  • YANDEX_DELIVERY_PLATFORM_TOKEN — токен доставки на другой день, по России, в ПВЗ и постаматы.

Если общего токена нет, серверу нужны оба отдельных токена.

Тестовая среда

Тестовая среда есть только для доставки на другой день, по России, в ПВЗ и постаматы. Задайте YANDEX_DELIVERY_PLATFORM_BASE_URL=https://b2b.taxi.tst.yandex.net и используйте тестовые реквизиты из официальной инструкции. Она обрабатывает только московские адреса.

Для доставки день в день тестовой среды нет: безопасно проверять расчёт стоимости и чтение существующих заявок, а оформленные отправления попадают в рабочую систему.

Технические настройки

На техническом уровне сервер работает с двумя независимыми частями B2B API Яндекс Доставки: API доставки день в день и API доставки на другой день. У них могут быть разные токены, адреса серверов, форматы денег и единицы измерения — MCP-сервер выбирает нужные параметры сам.

ПеременнаяОбязательнаПо умолчаниюЧто задаёт
YANDEX_DELIVERY_TOKENда*Общий Bearer-токен для обоих API
YANDEX_DELIVERY_EXPRESS_TOKENнетОтдельный токен доставки день в день
YANDEX_DELIVERY_PLATFORM_TOKENнетОтдельный токен доставки на другой день
YANDEX_DELIVERY_EXPRESS_BASE_URLнетhttps://b2b.taxi.yandex.netКорневой URL API доставки день в день
YANDEX_DELIVERY_PLATFORM_BASE_URLнетhttps://b2b-authproxy.taxi.yandex.netКорневой URL API доставки на другой день
YANDEX_DELIVERY_LANGнетruЗаголовок Accept-Language
YANDEX_DELIVERY_TIMEOUT_MSнет60000Таймаут одного запроса, мс
YANDEX_DELIVERY_MAX_RETRIESнет3Число повторов временных ошибок
ASKADS_TELEMETRYнетвключена0, false, off или no отключает анонимную телеметрию

* Общий токен не нужен, если заданы оба отдельных токена.

Данные и телеметрия

Запросы к Яндекс Доставке

Сервер запускается локально и обращается к API Яндекс Доставки напрямую. Bearer-токен добавляется только к запросам выбранного API. Даже универсальный инструмент принимает относительный путь: если он ведёт на внешний сервер, запрос блокируется, чтобы токен не ушёл на чужой адрес.

Анонимная телеметрия

По умолчанию сервер отправляет на usage.gistrec.cloud три вида технических событий: запуск сервера, имя вызванного инструмента и код причины старта без настроенного токена.

В событие входят случайный идентификатор установки, версия пакета, имя и версия AI-приложения, версия Node.js и операционная система. Токен, данные аккаунта, аргументы инструментов и тексты запросов не читаются и не отправляются. Отправка выполняется в фоне с таймаутом 2 секунды и не влияет на работу сервера.

Чтобы отключить телеметрию для MCP-серверов A1, добавьте в конфигурацию:

ASKADS_TELEMETRY=0

Реализация находится в src/telemetry.ts.

Ограничения

  • Это не только чтение. Ассистент умеет оформлять и отменять настоящие доставки; отмена может быть платной.
  • AI-приложение влияет на подтверждения. MCP-сервер сообщает тип каждого действия, но решение о дополнительном вопросе перед записью принимает приложение и его агент.
  • Нет тестовой среды для доставки день в день. Безопасно проверить можно расчёт стоимости и чтение существующих заявок.
  • Нет постоянного наблюдения. Сервер работает во время вызова из AI-приложения. Если приложение поддерживает задачи по расписанию, настройте в его интерфейсе регулярную проверку статуса.
  • При временном ограничении возможна задержка. Сервер сам подождёт и повторит запрос. Если Яндекс Доставка по-прежнему недоступна, попробуйте ещё раз позже.
  • Нет автоматического отката. Возможность и стоимость отмены зависят от текущего статуса и правил Яндекс Доставки.

Техническая документация

Помощь и обратная связь

Нашли ошибку или не хватает сценария? Создайте issue или напишите в Telegram.


Две Моны дают пять

Вы дочитали до конца!