Skip to main content
Glama
ex3lite
by ex3lite

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

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

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

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

Related MCP server: ZenMoney MCP

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

Что это

Один проект — два равноправных способа использования; оба работают прямыми 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 mcp add sber -- sber-unofficial-mcp
{
  "mcpServers": {
    "sber": { "command": "sber-unofficial-mcp" }
  }
}
[mcp_servers.sber]
command = "sber-unofficial-mcp"
{
  "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 enrollsber-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. Неофициальный проект, не связан с ПАО Сбербанк; вся ответственность за использование — на пользователе.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Unofficial MCP server for the Privat24 Business API that provides tools for account statements, balances, transactions, payment creation, and exchange-rate lookups.
    12
    3
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Read-only MCP server for ZenMoney that syncs financial data into memory and exposes it through tools and resources, enabling agentic analysis of transactions and spending patterns.
    10
    15 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An unofficial MCP server that connects Despezzas financial data to MCP clients like ChatGPT, enabling listing accounts, cards, categories, searching transactions, and performing write operations with safety protections.
    35
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server for Sberbank business API enabling account management, balance checks, statements, payments, and counterparty operations.
    8
    26 npm
    1
    MIT