mcpField
S
sber-mcp

sber-mcp

ローカル
github.com金融データ612 週間前に更新

sber-mcp について

sber-mcpは、SberBank Online向けの非公式MCP サーバー兼非同期SDKで、エージェントやPythonから口座情報や取引履歴を読みたい人を対象とします。標準では読み取り専用で、書き込みを明示的に有効化し、人が確認した場合に送金できます。銀行へ直接接続します。

主な機能

  1. 01商品と取引履歴の読み取り
  2. 02自分の口座間での送金
  3. 03送金には人の明示的な承認が必要
  4. 04標準では書き込みツールを登録しない
  5. 05非同期SDKとCLI

活用シーン

  1. 01エージェントで口座や取引を確認
  2. 02Pythonでポートフォリオと残高を取得
  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

シークレットの保存場所

データフロー:エージェント → お使いのマシン上の MCP サーバー → Sberbank

  • クライアント ↔ Sberbank で直接通信します。 第三者のサービス、プロキシ、クラウドは経由しません。トラフィックはお使いのマシンから Sberbank のサーバーへ直接送信されます。プロジェクトのインフラストラクチャを通過することはありません。そもそもそのようなインフラストラクチャはありません。
  • シークレットがエージェントを経由することはありません。 ログイン名、パスワード、PIN、OTP、deviceprint、cookie、トークンを受け取ったり返したりするツールはありません。一時的なシークレットは人間が 0600 のファイルに書き込み、サーバーが読み取ってネットワーク呼び出しの前に削除します。詳しくは MCP ドキュメント §1 をご覧ください。
  • デフォルトでは読み取り専用です。 口座を変更するツールは起動時に登録されません。エージェントはそれらをスキーマ上で確認できないため、誤って呼び出すことも、呼び出すよう説得されることもありません。送金とカード名の変更は、--allow-writes フラグで明示的に有効にします。
  • エージェントはセッションを管理しません。 ログインは一度だけ行います。その後は session_id なしで sber_products() などを実行でき、アクティブなセッションはサーバーが保持します。
  • 送金は人間が管理します。 prepare で計算し、明示的な「はい」の後に限り confirm で実行します。トークンはネットワーク接続前に消費されるため、再試行で二重に送金されることはありません。

クイックスタート

1. インストール(コマンド sber-unofficial-mcp):

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

2. 1 つのコマンドでログインします。 対話形式で(入力は非表示)、ログイン名、パスワード、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 は実際に送金します。自動許可の対象に追加しないでください。

エージェントでの表示例

sber_products() を呼び出して応答するエージェント

ツール

グループ別の MCP ツール 14 個

ツールは 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、エージェント向けのランブックについては、MCP ドキュメントをご覧ください。

SDK または CLI として使う(エージェントなし)

MCP サーバーは、独立した非同期 SDK sber_unofficial を薄くラップしたものです(SRP ログイン、RSA-OAEP による PIN 暗号化、2 段階の送金、ブラウザーを使わない 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 をご覧ください。

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

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。