mcpField
S
sber-mcp

sber-mcp

本地服务
github.com金融数据612 周前更新

关于 sber-mcp

sber-mcp 是非官方的 SberBank Online MCP 服务和异步 SDK,面向希望通过 Agent 或 Python 代码读取账户与操作记录的用户。它默认只读,转账需显式启用写入并经过人工确认;项目直接连接银行,不经过第三方服务。

主要功能

  1. 01读取产品与操作记录
  2. 02支持账户间转账
  3. 03转账需人工明确确认
  4. 04默认不注册写入工具
  5. 05异步 SDK 与命令行工具

适用场景

  1. 01通过 Agent 查看账户和交易
  2. 02用 Python 读取投资组合与余额
  3. 03在人工确认后发起账户间转账

MCP 相关

MCP 服务向客户端提供身份验证、产品与操作读取、以及可选的转账工具。它默认只读,转账功能需显式启用,并通过准备与确认步骤执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ex3lite-sber": {
"command": "uvx",
"args": [
"sber-unofficial-mcp"
]
}
}
}
启动命令uvx sber-unofficial-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisber-unofficial-mcp0.6.4

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
profileany否

详细介绍

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.

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

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

秘密存放在哪里

数据流:Agent → 您机器上的 MCP 服务 → Sberbank

  • 直接连接客户端 ↔ Sberbank。 链路中没有任何第三方服务、代理或云服务——流量从您的机器直接发送到 Sberbank 服务器。数据不会经过项目基础设施,因为项目没有这类基础设施。
  • 秘密绝不会经过 Agent。 没有任何工具会接收或返回登录名、密码、PIN、OTP、deviceprint、cookie 或令牌。用户将一次性秘密写入权限为 0600 的文件,服务在网络调用前读取并删除该文件。详情请见 MCP 文档 §1。
  • 默认仅支持读取。 启动时根本不会注册会更改账户的工具——Agent 在其架构中看不到这些工具,因此既无法误调用,也不会被诱导调用。转账和重命名卡片需通过 --allow-writes 标志显式启用。
  • Agent 不管理会话。 登录一次后,后续调用 sber_products() 等方法时无需 session_id;活动会话由服务持有。
  • 转账由用户把关。 prepare 负责计算,confirm 仅在明确确认后执行;令牌在发起网络请求前即被消耗,因此重复操作不会导致重复转账。

快速开始

1. 安装(命令 sber-unofficial-mcp):

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

2. 一条命令登录。 交互式提示您输入登录名、密码、短信验证码和新 PIN(输入内容会隐藏),自动生成设备指纹,并以 0600 权限保存配置:

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

3. 连接到 Agent。 之后服务会根据已保存的配置自动登录。

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 会转移真实资金。请勿将其加入自动批准列表。

Agent 中的效果

Agent 调用 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、Agent 操作手册,请见 MCP 文档。

作为 SDK 或 CLI 使用(无需 Agent)

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,无需 Agent: 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。