Unofficial MCP server + async SDK for SberBank Online — browserless auth, reads, and human-approved self-transfers. Direct client↔Sber, secrets never touch the agent.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
- !Install pipes a remote script into a shell (curl | sh)
claude mcp add sber-mcp -- uvx sber-unofficial-mcp{
"mcpServers": {
"sber-mcp": {
"command": "uvx",
"args": ["sber-unofficial-mcp"]
}
}
}Resumen de MCP Servers
<!-- Generated by tools/render_brand.py from docs/brand/readme.ru.md — do not edit this file; edit the template and re-run the script. -->
<p align="center"><img src="docs/img/ru/banner.svg" alt="SBER-MCP — неофициальный MCP-сервер и async SDK для СберБанк Онлайн" width="900"></p>
<p align="center">
Неофициальный <b>MCP-сервер</b> и async <b>SDK</b> для СберБанк Онлайн:
вход, чтение продуктов и операций, перевод между своими продуктами —
<b>напрямую, client ↔ Сбербанк</b>.
</p>
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-1B7A2C.svg" alt="MIT"></a>
<img src="https://img.shields.io/badge/python-3.11%2B-2C4E6B.svg" alt="Python 3.11+">
<a href="https://pypi.org/project/sber-unofficial-mcp/"><img src="https://img.shields.io/pypi/v/sber-unofficial-mcp?label=mcp&color=21A038" alt="PyPI · sber-unofficial-mcp"></a>
<a href="https://pypi.org/project/sber-unofficial-sdk/"><img src="https://img.shields.io/pypi/v/sber-unofficial-sdk?label=sdk&color=21A038" alt="PyPI · sber-unofficial-sdk"></a>
<a href="https://github.com/ex3lite/sber-mcp/actions/workflows/ci.yml"><img src="https://github.com/ex3lite/sber-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
</p>
<p align="center">
<b>Русский</b> · <a href="README.en.md">English</a> · <a href="README.zh.md">中文</a>
·
<a href="docs/mcp/README.ru.md">документация MCP</a> ·
<a href="docs/SDK.ru.md">справочник SDK</a>
</p>
> **Неофициальный проект.** Не связан с ПАО Сбербанк. Использование может нарушать
> условия сервиса и привести к блокировке аккаунта; работает с реальными деньгами и
> учётными данными. Никаких гарантий и никакой ответственности —
> [DISCLAIMER.md](DISCLAIMER.md) · [LICENSE](LICENSE).
## Попробовать без банковского аккаунта
```bash
claude mcp add sber-demo -- uvx sber-unofficial-mcp --demo
```
Спросите агента «сколько у меня на картах» — он ответит по синтетическому портфелю.
Демо **не обращается ни к какому банку**: ни логина, ни пароля, ни единого сетевого
запроса. Так можно посмотреть, как это работает, ничем не рискуя.
## Вход одной командой
<p align="center"><img src="docs/img/ru/hero-login.svg" alt="sber-unofficial-mcp login — интерактивный вход, профиль сохраняется с правами 0600" width="900"></p>
<p align="center"><sub>Интерактивно спросит логин, пароль, SMS-код и новый PIN, сам сгенерирует
device-отпечаток и сохранит профиль в <code>0600</code>. Ни кук, ни HAR, ни ручного
редактирования файлов.</sub></p>
## Что это
Один проект — **два равноправных способа** использования; оба работают прямыми
HTTP-запросами, без Chrome, WebDriver и HAR.
| | |
|---|---|
| **SBER-MCP** — агент (Claude, Codex, Cursor) читает продукты и операции и делает переводы между вашими продуктами с явным подтверждением человеком.<br><br>`uv tool install sber-unofficial-mcp` | **SBER-SDK** — те же возможности в вашем Python-коде или из терминала, без агента и без MCP. Ставится с одним `certifi`+`curl-cffi`.<br><br>`uv add sber-unofficial-sdk` |
## Где живут секреты
<p align="center"><img src="docs/img/ru/flow.svg" alt="Поток данных: агент → MCP-сервер на вашей машине → Сбербанк" width="900"></p>
- **Прямо client ↔ Сбербанк.** Никаких сторонних сервисов, прокси или облаков в
цепочке — трафик идёт с вашей машины напрямую на сервера Сбербанка. Данные не
проходят через инфраструктуру проекта, потому что её нет.
- **Секреты никогда не проходят через агента.** Ни один инструмент не принимает и
не возвращает логин, пароль, PIN, OTP, deviceprint, cookie или токен. Разовые
секреты человек записывает в файл `0600`, сервер читает его и удаляет до сетевого
вызова. Подробно — [док MCP §1](docs/mcp/README.ru.md).
- **По умолчанию только чтение.** Инструменты, меняющие счёт, при старте вообще не
регистрируются — агент их не видит в своей схеме, а значит не может ни вызвать по
ошибке, ни быть уговорённым их вызвать. Перевод и переименование карты включаются
явным флагом `--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 login
sber-unofficial-mcp status # проверить, что профиль сохранён
```
**3. Подключите к агенту.** Дальше сервер входит сам по сохранённому профилю.
<details open>
<summary><b>Claude Code</b></summary>
```bash
claude mcp add sber -- sber-unofficial-mcp
```
</details>
<details>
<summary><b>Claude Desktop</b> — <code>claude_desktop_config.json</code></summary>
```json
{
"mcpServers": {
"sber": { "command": "sber-unofficial-mcp" }
}
}
```
</details>
<details>
<summary><b>Codex</b> — <code>~/.codex/config.toml</code></summary>
```toml
[mcp_servers.sber]
command = "sber-unofficial-mcp"
```
</details>
<details>
<summary><b>Cursor</b> — <code>~/.cursor/mcp.json</code></summary>
```json
{
"mcpServers": {
"sber": { "command": "sber-unofficial-mcp" }
}
}
```
</details>
Так сервер работает **только на чтение**. Чтобы разрешить перевод и переименование
карты, добавьте флаг: `claude mcp add sber -- sber-unofficial-mcp --allow-writes`.
> `sber_transfer_confirm` двигает реальные деньги. **Не** добавляйте её в авто-разрешения.
## Как это выглядит у агента
<p align="center"><img src="docs/img/ru/agent-chat.svg" alt="Агент отвечает, вызвав sber_products()" width="760"></p>
## Инструменты
<p align="center"><img src="docs/img/ru/tools.svg" alt="14 инструментов MCP по группам" width="900"></p>
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](docs/mcp/README.ru.md).
## Использовать как 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](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](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](docs/SDK.ru.md)).
Полный справочник (конструкторы, авторизация, сущности, ошибки, переводы, CLI) —
[docs/SDK.ru.md](docs/SDK.ru.md) · [SDK (EN)](docs/SDK.en.md); детали авторизации
и доказательства — [AUTHENTICATION.md](AUTHENTICATION.md).
## Проверить, что всё на месте
<p align="center"><img src="docs/img/ru/status.svg" alt="sber-unofficial-mcp status" width="560"></p>
- Модель защиты секретов и что именно её обеспечивает — [док MCP §1 и §8](docs/mcp/README.ru.md).
- Нашли уязвимость — [SECURITY.md](SECURITY.md) (не через публичный issue).
- PR и issue приветствуются — [CONTRIBUTING.md](CONTRIBUTING.md). Главное правило:
**никогда не коммитить реальные креды, куки, deviceprint, сессии, HAR и балансы.**
## Лицензия
[MIT](LICENSE). Полный отказ от ответственности — [DISCLAIMER.md](DISCLAIMER.md).
Неофициальный проект, не связан с ПАО Сбербанк; вся ответственность за
использование — на пользователе.
<p align="center"><sub>Графика и README генерируются: <code>python tools/render_brand.py</code> → <code>docs/img/</code> · версия 0.6.4</sub></p>
Lo que la gente pregunta sobre sber-mcp
¿Qué es ex3lite/sber-mcp?
+
ex3lite/sber-mcp es mcp servers para el ecosistema de Claude AI. Unofficial MCP server + async SDK for SberBank Online — browserless auth, reads, and human-approved self-transfers. Direct client↔Sber, secrets never touch the agent. Tiene 3 estrellas en GitHub y su última actualización registrada es del 2026-08-05.
¿Cómo se instala sber-mcp?
+
Puedes instalar sber-mcp clonando el repositorio (https://github.com/ex3lite/sber-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar ex3lite/sber-mcp?
+
Nuestro agente de seguridad ha analizado ex3lite/sber-mcp y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene ex3lite/sber-mcp?
+
ex3lite/sber-mcp es mantenido por ex3lite. La última actividad registrada en GitHub es del 2026-08-05, con 0 issues abiertos.
¿Hay alternativas a sber-mcp?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega sber-mcp en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/ex3lite-sber-mcp)<a href="https://claudewave.com/repo/ex3lite-sber-mcp"><img src="https://claudewave.com/api/badge/ex3lite-sber-mcp" alt="Featured on ClaudeWave: ex3lite/sber-mcp" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!