Robokassa MCP — быстрый старт
Robokassa MCP — первый по открытым данным публичный MCP-сервер российского платёжного агрегатора, предназначенный для полноценной интеграции интернет-платежей.
Он подключается к Claude Code, Cursor и другим MCP-совместимым ИИ-ассистентам и превращает задачу «интегрируй оплату» из многодневного процесса в одну реплику.
Ассистент не генерирует код по памяти и не ограничивается поиском по документации. Он получает выверенные сценарии Robokassa, настраивает интеграцию, проверяет её и самостоятельно подтверждает результат с помощью тестового платежа.
Это не чат-бот поверх документации. Это платёжная инфраструктура, подготовленная к эпохе автономных ИИ-агентов.
Подключите сервер к своему ИИ-ассистенту и скажите «Интегрируй Робокассу» — приём оплаты появится в проекте, а ассистент сам проверит его на тестовой оплате.
🧪 Только тестовый режим
Сервер формирует исключительно тестовые платежи (IsTest=1) — реальные деньги не списываются. Инструменты, способные затронуть реальные деньги (боевой счёт Invoice API, возвраты, подтверждение/отмена холда, дочерние рекуррентные списания, оплата по сохранённой карте, сплитование), по умолчанию отключены на сервере и включаются оператором отдельно. Перевод интеграции в боевой режим выполняется вручную по чек-листу.
Для подключения понадобятся магазин в Робокассе и тестовые Пароль #1 и Пароль #2 из раздела «Технические настройки» личного кабинета. Дальше — одна команда для вашего клиента.
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_hold | API | Двухстадийные платежи: списание или отмена зарезервированных средств после холдирования. |
create_recurring_payment | API | Дочернее списание рекуррентной серии (подписки) по оплаченному материнскому платежу. У Merchant/Recurring нет тестового режима — операция боевая, поэтому инструмент по умолчанию отключён на сервере. |
create_saved_card_payment | API | Оплата по сохранённой карте (CoFPayment): повторное списание без ввода реквизитов, токеном служит OpKey прошлой операции. Тестового режима нет — операция боевая, инструмент по умолчанию отключён на сервере. |
create_split_payment | API | Платёж со сплитованием (CreateV2): сумма заказа распределяется между магазинами-участниками, каждый получает свой чек. Услуга по согласованию с Робокассой; тестового режима нет — операция боевая, инструмент по умолчанию отключён на сервере. |
create_refund / get_refund_state | API | Возврат по операции (полный или частичный) через Refund API и статус заявки. Боевая операция: по умолчанию отключена на сервере, требует отдельного ключа Password3. |
deactivate_invoice / list_invoices | API | Управление счетами: деактивация ссылки на оплату и список счетов с их статусами. |
Сервер не даст ошибиться в деньгах
Каждая денежная операция проходит строгую проверку ещё до обращения к Робокассе: суммы — только положительные и с точностью до копейки, номер счёта — в допустимом диапазоне, сумма позиций чека обязана сходиться с суммой платежа (требование фискализации), а противоречивые цены в позициях отклоняются с понятным объяснением. Если платёжная ссылка с чеком выходит длиннее лимита браузеров — ассистент получит совет перейти на 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: в файле остаются только имена переменных окружения, сами значения задаёте в среде.
[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 проекта):
{
"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):
{
"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), а сплитование ещё и подключается по согласованию с Робокассой.