Robokassa MCP — быстрый старт

Robokassa MCP — первый по открытым данным публичный MCP-сервер российского платёжного агрегатора, предназначенный для полноценной интеграции интернет-платежей.

Он подключается к Claude Code, Cursor и другим MCP-совместимым ИИ-ассистентам и превращает задачу «интегрируй оплату» из многодневного процесса в одну реплику.

Ассистент не генерирует код по памяти и не ограничивается поиском по документации. Он получает выверенные сценарии Robokassa, настраивает интеграцию, проверяет её и самостоятельно подтверждает результат с помощью тестового платежа.

Это не чат-бот поверх документации. Это платёжная инфраструктура, подготовленная к эпохе автономных ИИ-агентов.

Подключите сервер к своему ИИ-ассистенту и скажите «Интегрируй Робокассу» — приём оплаты появится в проекте, а ассистент сам проверит его на тестовой оплате.

🧪 Только тестовый режим

Сервер формирует исключительно тестовые платежи (IsTest=1) — реальные деньги не списываются. Инструменты, способные затронуть реальные деньги (боевой счёт Invoice API, возвраты, подтверждение/отмена холда, дочерние рекуррентные списания, оплата по сохранённой карте, сплитование), по умолчанию отключены на сервере и включаются оператором отдельно. Перевод интеграции в боевой режим выполняется вручную по чек-листу.

Для подключения понадобятся магазин в Робокассе и тестовые Пароль #1 и Пароль #2 из раздела «Технические настройки» личного кабинета. Дальше — одна команда для вашего клиента.

Claude Code · терминал
claude mcp add --transport http robokassa \
  https://mcp.robokassa.ru/mcp \
  --header "X-Robokassa-Login: <логин>" \
  --header "X-Robokassa-Test-Password-1: <тест-пароль 1>" \
  --header "X-Robokassa-Test-Password-2: <тест-пароль 2>"

Как это работает #

Три шага. Первый делаете вы, остальные — ассистент, не выходя из редактора.

→ вы

Ставите задачу словами

«Добавь оплату Робокассой для заказов» — обычным языком, без ссылок на документацию.

→ ассистент

Пишет интеграцию

Берёт готовый сценарий под ваш стек: платёжную ссылку, обработчик уведомлений, при нужде — чек.

→ ассистент

Проверяет себя

Сверяет подпись с эталоном и создаёт тестовый платёж. Вы открываете ссылку и «оплачиваете».

Семнадцать инструментов #

Первые пять работают без сети — это знания и точные расчёты. Остальные обращаются к API Робокассы: тестовый контур платежей плюс справочные и сервисные операции (холды, рекуррентные списания, возвраты, счета).

ИнструментТипНазначение
start_integrationзнанияПошаговый план интеграции под ваш стек (FastAPI, Django, Express, PHP…), эталонный код и чек-лист. С него ассистент начинает.
get_recipeзнанияРецепт по теме: платёжная ссылка, счёт, обработчик уведомлений, фискализация, подпись, тестовый режим, перевод в бой.
calc_signatureрасчётЭталонный расчёт подписи (SignatureValue) — ассистент сверяет с ним свою реализацию. Пароль в диалог передавать не нужно: он берётся из заголовков подключения. Поддерживаются все алгоритмы магазина — от MD5 до SHA-512.
verify_result_signatureрасчётПроверка подписи входящего уведомления об оплате, с подсказкой при несовпадении. Пароль тоже берётся из заголовков.
validate_receiptрасчётВалидация чека фискализации по схеме ещё до отправки: поля, допустимые значения ставок и признаков, согласованность цен и точность копеек.
create_test_paymentтест-контурСоздаёт тестовый платёж: ссылку с IsTest=1 (вы открываете и «оплачиваете» тестовой картой) или счёт Invoice API — счёт создаётся боевым, поэтому эта ветка по умолчанию отключена на сервере.
check_payment_statusтест-контурПроверяет статус операции. Тестовые платежи статус-интерфейс не отдаёт — результат подтверждается уведомлением.
get_payment_methodsсправкаДоступные магазину способы оплаты (карты, СБП и другие) со значениями для платёжной ссылки.
confirm_hold / cancel_holdAPIДвухстадийные платежи: списание или отмена зарезервированных средств после холдирования.
create_recurring_paymentAPIДочернее списание рекуррентной серии (подписки) по оплаченному материнскому платежу. У Merchant/Recurring нет тестового режима — операция боевая, поэтому инструмент по умолчанию отключён на сервере.
create_saved_card_paymentAPIОплата по сохранённой карте (CoFPayment): повторное списание без ввода реквизитов, токеном служит OpKey прошлой операции. Тестового режима нет — операция боевая, инструмент по умолчанию отключён на сервере.
create_split_paymentAPIПлатёж со сплитованием (CreateV2): сумма заказа распределяется между магазинами-участниками, каждый получает свой чек. Услуга по согласованию с Робокассой; тестового режима нет — операция боевая, инструмент по умолчанию отключён на сервере.
create_refund / get_refund_stateAPIВозврат по операции (полный или частичный) через Refund API и статус заявки. Боевая операция: по умолчанию отключена на сервере, требует отдельного ключа Password3.
deactivate_invoice / list_invoicesAPIУправление счетами: деактивация ссылки на оплату и список счетов с их статусами.

Сервер не даст ошибиться в деньгах

Каждая денежная операция проходит строгую проверку ещё до обращения к Робокассе: суммы — только положительные и с точностью до копейки, номер счёта — в допустимом диапазоне, сумма позиций чека обязана сходиться с суммой платежа (требование фискализации), а противоречивые цены в позициях отклоняются с понятным объяснением. Если платёжная ссылка с чеком выходит длиннее лимита браузеров — ассистент получит совет перейти на POST-форму, а не «молча обрезанный» запрос.

Подключение #

Логин — это ID вашего магазина. Найти его и сгенерировать тестовые пароли можно в личном кабинете Робокассы, в разделе «Технические настройки» вашего магазина. Ниже — конфигурация для популярных клиентов.

Claude Code

терминал
claude mcp add --transport http robokassa \
  https://mcp.robokassa.ru/mcp \
  --header "X-Robokassa-Login: <логин>" \
  --header "X-Robokassa-Test-Password-1: <тест-пароль 1>" \
  --header "X-Robokassa-Test-Password-2: <тест-пароль 2>"

Codex CLI

Добавьте сервер командой (Codex ≥ 0.146):

терминал
codex mcp add robokassa --url https://mcp.robokassa.ru/mcp

Флага для заголовков у команды нет — допишите их в ~/.codex/config.toml. Пароли лучше передавать через env_http_headers: в файле остаются только имена переменных окружения, сами значения задаёте в среде.

~/.codex/config.toml
[mcp_servers.robokassa.http_headers]
"X-Robokassa-Login" = "<логин>"

[mcp_servers.robokassa.env_http_headers]
"X-Robokassa-Test-Password-1" = "ROBOKASSA_TEST_PASSWORD_1"
"X-Robokassa-Test-Password-2" = "ROBOKASSA_TEST_PASSWORD_2"

Cursor

Добавьте сервер в ~/.cursor/mcp.json (или в настройках MCP проекта):

~/.cursor/mcp.json
{
  "mcpServers": {
    "robokassa": {
      "url": "https://mcp.robokassa.ru/mcp",
      "headers": {
        "X-Robokassa-Login": "<логин>",
        "X-Robokassa-Test-Password-1": "<тест-пароль 1>",
        "X-Robokassa-Test-Password-2": "<тест-пароль 2>"
      }
    }
  }
}

Claude Desktop

Диалог Settings → Connectors принимает только стандартные имена заголовков авторизации, поэтому заголовки X-Robokassa-* через него передать нельзя. Подключите сервер локальным мостом mcp-remote — добавьте в claude_desktop_config.json (Settings → Developer → Edit Config):

claude_desktop_config.json
{
  "mcpServers": {
    "robokassa": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://mcp.robokassa.ru/mcp",
        "--header", "X-Robokassa-Login:<логин>",
        "--header", "X-Robokassa-Test-Password-1:<тест-пароль 1>",
        "--header", "X-Robokassa-Test-Password-2:<тест-пароль 2>"
      ]
    }
  }
}

Внутри значений --header не ставьте пробел после двоеточия: Claude Desktop разбивает аргументы по пробелам. Нужен установленный Node.js; после правки конфига перезапустите приложение.

ℹ️ О паролях

Нужны именно тестовые пароли из «Технических настроек» кабинета. Они передаются в заголовках запроса и используются только для обращения к Робокассе — сервер их не сохраняет и не пишет в журналы. Инструменты проверки подписи берут пароли из этих же заголовков, поэтому вводить пароль в диалог с ассистентом не нужно.

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

После подключения спросите ассистента: «какие инструменты Робокассы тебе доступны?» — в ответе должно быть 17 инструментов, начиная со start_integration. Затем попросите «создай тестовый платёж на 10 ₽»: успех — ссылка на оплату с IsTest=1; ошибка «Нет заголовков X-Robokassa-*» означает, что заголовки не дошли — проверьте конфигурацию клиента и перезапустите его. Ошибка TLS при корпоративном прокси — добавьте корневой сертификат вашей сети в доверенные для клиента.

ℹ️ Алгоритм подписи не MD5?

Если в технических настройках магазина выбран другой алгоритм расчёта подписи (SHA-256 и т.п.), добавьте четвёртый заголовок — например "X-Robokassa-Hash: sha256". Поддерживаются md5, ripemd160, sha1, sha256, sha384, sha512; значение должно совпадать с настройкой магазина, иначе подписи не сойдутся.

Что можно попросить #

>

Добавь оплату Робокассой для заказов в этом интернет-магазине

>

Сделай кнопку оплаты подписки и обработчик уведомлений об оплате

>

Добавь чек с НДС к платежу и проверь, что он валиден

>

Проверь, правильно ли я формирую подпись, и создай тестовый платёж на 100 ₽

>

Настрой двухстадийную оплату: резерв при оформлении заказа, списание при отгрузке

>

Сделай повторную оплату в один клик по сохранённой карте для постоянных клиентов

>

Раздели оплату заказа между нашим магазином и магазином партнёра, каждому — свой чек

Первые четыре сценария целиком работают в тестовом контуре. Списание холда, оплата по сохранённой карте и сплитование — боевые операции: соответствующие инструменты по умолчанию выключены, их включает оператор сервера (ROBOKASSA_ALLOW_LIVE=1), а сплитование ещё и подключается по согласованию с Робокассой.

Частые вопросы #

Спишутся ли реальные деньги?
Нет. Сервер формирует только тестовые платежи (IsTest=1), а инструменты, способные затронуть реальные деньги — боевой счёт Invoice API, возвраты, подтверждение/отмена холда, дочерние рекуррентные списания, оплата по сохранённой карте и сплитование — по умолчанию отключены на самом сервере: их отдельно включает оператор. Боевой режим вашей интеграции включается отдельно и вручную, когда вы к нему готовы — ассистент покажет чек-лист перехода.
Нужно ли что-то устанавливать?
Нет. Это удалённый сервер — достаточно одной команды подключения для вашего клиента. Обновления происходят на нашей стороне.
Ассистент не подхватывает интеграцию — почему?
Убедитесь, что заданы все три заголовка. Без них доступны только справочные инструменты, а создание тестового платежа вернёт понятную ошибку с инструкцией.
Какие стеки поддерживаются?
Готовые сценарии есть для FastAPI, Django, Node/Express и PHP. Для остальных языков сервер отдаёт универсальный рецепт с точными формулами — принцип интеграции одинаков.