io.github.ex3lite/sber-mcp

Official registry Other

Unofficial SberBank Online: read accounts and operations, transfer with human approval.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package sber-unofficial-mcp
Claude Code
claude mcp add sber-mcp -- uvx sber-unofficial-mcp==0.6.4
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sber-mcp": {
            "command": "uvx",
            "args": [
                "sber-unofficial-mcp==0.6.4"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Попробовать без банковского аккаунта
  2. Вход одной командой
  3. Что это
  4. Где живут секреты
  5. Быстрый старт
  6. Как это выглядит у агента
  7. Инструменты
  8. Использовать как SDK или CLI (без агента)
  9. Проверить, что всё на месте
  10. Лицензия

Неофициальный MCP-сервер и async SDK для СберБанк Онлайн: вход, чтение продуктов и операций, перевод между своими продуктами — напрямую, client ↔ Сбербанк.

Русский · English · 中文 · документация MCP · справочник SDK

Неофициальный проект. Не связан с ПАО Сбербанк. Использование может нарушать условия сервиса и привести к блокировке аккаунта; работает с реальными деньгами и учётными данными. Никаких гарантий и никакой ответственности — DISCLAIMER.md · LICENSE.

Попробовать без банковского аккаунта

claude mcp add sber-demo -- uvx sber-unofficial-mcp --demo

Спросите агента «сколько у меня на картах» — он ответит по синтетическому портфелю. Демо не обращается ни к какому банку: ни логина, ни пароля, ни единого сетевого запроса. Так можно посмотреть, как это работает, ничем не рискуя.

Вход одной командой

Интерактивно спросит логин, пароль, SMS-код и новый PIN, сам сгенерирует device-отпечаток и сохранит профиль в 0600. Ни кук, ни HAR, ни ручного редактирования файлов.

Что это

Один проект — два равноправных способа использования; оба работают прямыми HTTP-запросами, без Chrome, WebDriver и HAR.

SBER-MCP — агент (Claude, Codex, Cursor) читает продукты и операции и делает переводы между вашими продуктами с явным подтверждением человеком.

uv tool install sber-unofficial-mcp | SBER-SDK — те же возможности в вашем Python-коде или из терминала, без агента и без MCP. Ставится с одним certifi+curl-cffi.

uv add sber-unofficial-sdk |

Где живут секреты

  • Прямо client ↔ Сбербанк. Никаких сторонних сервисов, прокси или облаков в цепочке — трафик идёт с вашей машины напрямую на сервера Сбербанка. Данные не проходят через инфраструктуру проекта, потому что её нет.
  • Секреты никогда не проходят через агента. Ни один инструмент не принимает и не возвращает логин, пароль, PIN, OTP, deviceprint, cookie или токен. Разовые секреты человек записывает в файл 0600, сервер читает его и удаляет до сетевого вызова. Подробно — док MCP §1.
  • По умолчанию только чтение. Инструменты, меняющие счёт, при старте вообще не регистрируются — агент их не видит в своей схеме, а значит не может ни вызвать по ошибке, ни быть уговорённым их вызвать. Перевод и переименование карты включаются явным флагом --allow-writes.
  • Агент не управляет сессиями. Логин один раз — дальше sber_products() и прочее без session_id; активную сессию держит сервер.
  • Переводы под контролем человека. prepare рассчитывает, confirm исполняет только после явного «да»; токен прожигается до сети, повтор не отправляет деньги дважды.

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

1. Установка (команда sber-unofficial-mcp):

uv tool install sber-unofficial-mcp     # или: pipx install sber-unofficial-mcp

2. Вход одной командой. Интерактивно (скрытым вводом) спросит логин, пароль, SMS-код и новый PIN, сам сгенерирует device-отпечаток, сохранит профиль в 0600:

sber-unofficial-mcp login
sber-unofficial-mcp status      # проверить, что профиль сохранён

3. Подключите к агенту. Дальше сервер входит сам по сохранённому профилю.

Claude Code

claude mcp add sber -- sber-unofficial-mcp

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "sber": { "command": "sber-unofficial-mcp" }
  }
}

Codex — ~/.codex/config.toml

[mcp_servers.sber]
command = "sber-unofficial-mcp"

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "sber": { "command": "sber-unofficial-mcp" }
  }
}

Так сервер работает только на чтение. Чтобы разрешить перевод и переименование карты, добавьте флаг: claude mcp add sber -- sber-unofficial-mcp --allow-writes.

sber_transfer_confirm двигает реальные деньги. Не добавляйте её в авто-разрешения.

Как это выглядит у агента

Инструменты

14 инструментов: sber_setup_status, sber_auth_start/continue, sber_auth_resend_otp, sber_session_info/close, sber_products/operations, sber_operations_page, sber_card_rename, sber_transfer_start/prepare/confirm, sber_transfer_resolve_uncertain. Полный справочник, конверт результата и next_action, runbook для агента — в документации MCP.

Использовать как SDK или CLI (без агента)

MCP-сервер — тонкая обёртка над sber_unofficial, самостоятельным async SDK (SRP-логин, RSA-OAEP шифрование PIN, двухфазный перевод, PIN-релогин без браузера). SDK не тянет зависимости MCP:

uv add sber-unofficial-sdk              # или: pip install sber-unofficial-sdk

Пайплайн целиком в коде — без CLI и без браузера. Deviceprint генерируется самим SDK. Шаг 1 — первый вход, один раз (полный пример: examples/first_login.py):

from sber_unofficial import (AsyncPrimaryAuth, PinOtpRequired,
                             generate_deviceprint, generate_antifraud_deviceprint)

dp = generate_deviceprint()                                    # без браузера
auth = AsyncPrimaryAuth.new(deviceprint=dp,
                            antifraud_deviceprint=generate_antifraud_deviceprint(dp))
async with auth:
    try:
        bundle = await auth.login(login, password, store_login=True)
    except PinOtpRequired:                                     # Сбер прислал SMS
        bundle = await auth.confirm_otp(sms_code)
    if bundle is None:                                         # нужен новый PIN
        bundle = await auth.create_pin("12345")
    bundle.save("profile.json")                                # атомарно, mode 0600

Шаг 2 — дальше просто читаете по PIN (пример: examples/quickstart.py):

from sber_unofficial import AsyncSberClient

async with await AsyncSberClient.from_pin_profile("profile.json", pin="12345") as sber:
    portfolio = await sber.portfolio()                         # карты + счета одним запросом
    for card in portfolio.cards:
        print(card.name, card.last4, card.balance)             # Money(amount, currency)
    for op in await sber.operations.list(limit=20):
        print(op.date, op.amount, op.description)

Опционально — если удобнее терминал, у SDK есть свой CLI без агента: sber-unofficial enroll → sber-unofficial balances/operations (см. docs/SDK.ru.md).

Полный справочник (конструкторы, авторизация, сущности, ошибки, переводы, CLI) — docs/SDK.ru.md · SDK (EN); детали авторизации и доказательства — AUTHENTICATION.md.

Проверить, что всё на месте

  • Модель защиты секретов и что именно её обеспечивает — док MCP §1 и §8.
  • Нашли уязвимость — SECURITY.md (не через публичный issue).
  • PR и issue приветствуются — CONTRIBUTING.md. Главное правило: никогда не коммитить реальные креды, куки, deviceprint, сессии, HAR и балансы.

Лицензия

MIT. Полный отказ от ответственности — DISCLAIMER.md. Неофициальный проект, не связан с ПАО Сбербанк; вся ответственность за использование — на пользователе.

Графика и README генерируются: python tools/render_brand.py → docs/img/ · версия 0.6.4

Frequently asked questions

What is io.github.ex3lite/sber-mcp?

Unofficial SberBank Online: read accounts and operations, transfer with human approval.

How do I install io.github.ex3lite/sber-mcp?

It runs on your machine. In Claude Code: claude mcp add sber-mcp -- uvx sber-unofficial-mcp==0.6.4. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.ex3lite/sber-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.ex3lite/sber-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.ex3lite/sber-mcp?

It is published by ex3lite. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.