Sber Mcp

io.github.ex3litePublished by GitHub account ex3litev0.6.4Updated Oct 27, 2026

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

VerifiedSTDIODesktop onlyFinanceSecurity & Monitoring

Overview

AI-generated overview

Unofficial SberBank Online MCP server that lets an assistant read accounts and operations and, with human approval, transfer between your own products.

What you can do
  • Check setup and session state, and run login flows including OTP resend and session close
  • Read products (cards and accounts) and list or page through operations
  • Prepare and confirm transfers between your own products, with a resolve step for uncertain outcomes
  • Rename a card (only when writes are enabled)
  • Run in a demo mode against a synthetic portfolio with no bank contact
When to use it
For people who want an AI assistant to answer questions about their own SberBank Online balances and transaction history, or to prepare transfers between their own products with an explicit human confirmation step. Try the demo mode first to see the workflow without a bank account.
Requirements
Runs locally as a Python package (uv tool install or pipx) over stdio; a one-time interactive login command collects login, password, SMS code and PIN and stores a profile file. No environment variables or headers are declared. Writes require the --allow-writes flag. Demo mode needs no bank account.
Before you install
Unofficial project, not affiliated with SberBank; use may violate the service terms and lead to account blocking. It handles real money and real credentials, and the transfer confirm tool moves actual funds, so it should not be auto-approved. Secrets are kept out of the agent and stored in a 0600 profile file, but the profile and PIN still need protecting. No warranties or liability.

Installation

In SourceWeft

  1. Open Sber Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[SBER-MCP — неофициальный MCP-сервер и async SDK для СберБанк Онлайн]

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

[MIT] [Python 3.11+] [PyPI · sber-unofficial-mcp] [PyPI · sber-unofficial-sdk] [CI]

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

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

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

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

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

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

[sber-unofficial-mcp login — интерактивный вход, профиль сохраняется с правами 0600]

Интерактивно спросит логин, пароль, 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

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

[Поток данных: агент → MCP-сервер на вашей машине → Сбербанк]

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

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

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

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

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

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

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

Claude Code
bash
claude mcp add sber -- sber-unofficial-mcp
Claude Desktop — claude_desktop_config.json
json
{  "mcpServers": {    "sber": { "command": "sber-unofficial-mcp" }  }}
Codex — ~/.codex/config.toml
toml
[mcp_servers.sber]command = "sber-unofficial-mcp"
Cursor — ~/.cursor/mcp.json
json
{  "mcpServers": {    "sber": { "command": "sber-unofficial-mcp" }  }}

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

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

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

[Агент отвечает, вызвав sber_products()]

Инструменты

[14 инструментов MCP по группам]

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:

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

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

python
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):

python
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.

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

[sber-unofficial-mcp status]

  • Модель защиты секретов и что именно её обеспечивает — док 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

Source: README.md at commit 984d45a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.6.4LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts