mcpField
O
openfinance-br-mcp

openfinance-br-mcp

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

openfinance-br-mcp について

openfinance-br-mcpは、Open Finance Brasil向けの実験的なMCPサーバーです。模擬金融データへのアクセスや、進行中のFAPI-BR連携の検討に使えます。認証情報不要のモックモードで複数の銀行を再現しますが、実在機関との連携は未検証です。

主な機能

  1. 01型付きの金融ツール18種
  2. 02メモリ内の銀行シミュレーション
  3. 03口座、カード、投資データ
  4. 04同意とPIX決済のフロー
  5. 05銀行リソースと支出プロンプト

活用シーン

  1. 01認証情報なしで金融データのワークフローをテスト
  2. 02模擬口座やカード情報を確認
  3. 03同意やPIX決済のフローを検討

MCP 対応

stdioまたはStreamable HTTPで、18のツール、`openfinance://banks/`リソース、`analyze_monthly_spending`プロンプトを公開します。銀行の認可フローでは任意のURL elicitationを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"brunovicco-openfinance-br": {
"command": "uvx",
"args": [
"openfinance-br-mcp"
],
"env": {
"ENVIRONMENT": "<ENVIRONMENT>",
"CLIENT_ID": "<CLIENT_ID>",
"PRIVATE_KEY_PATH": "<PRIVATE_KEY_PATH>",
"PRIVATE_KEY_KID": "<PRIVATE_KEY_KID>",
"MTLS_CERT_PATH": "<MTLS_CERT_PATH>",
"MTLS_KEY_PATH": "<MTLS_KEY_PATH>",
"REDIS_URL": "<REDIS_URL>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>"
}
}
}
}
起動コマンドuvx openfinance-br-mcp
設定が必要な環境変数
ENVIRONMENT'mock' (default, no credentials needed - runs entirely in-memory), 'sandbox', or 'production'
CLIENT_IDClient ID registered with the participating institution. Required unless ENVIRONMENT=mock
PRIVATE_KEY_PATHシークレットPath to the RSA private key used for private_key_jwt and JAR signing outside mock mode
PRIVATE_KEY_KIDシークレットKey ID matching the registered client JWKS entry outside mock mode
MTLS_CERT_PATHPath to the client mTLS certificate used outside mock mode
MTLS_KEY_PATHシークレットPath to the client mTLS private key used outside mock mode
REDIS_URLシークレットOptional Redis connection URL for persistent consent and token state
ANTHROPIC_API_KEYシークレットRequired only when calling list_transactions with categorize=true (DSPy transaction categorization)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiopenfinance-br-mcp0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

English · Português

openfinance-br-mcp

Open Finance Brasil向けの実験的なMCPサーバーです。完全なモック環境と、開発が進行中のFAPI-BR連携を備えています。認定を受けておらず、実際の金融機関に対する検証も行われていません。environment=mock以外で使用する前に、VALIDATION.mdをご覧ください。

Python 3.12 uv Code style: black Ruff


概要

Open Finance Brasil(FAPI 1.0 Advanced、OAuth2、同意、mTLS)の複雑さを抽象化し、Claude にシンプルなツールを提供するMCP サーバーです。

Claude → "how much did I spend on food in March?"
Claude uses list_transactions(bank=nubank, categorize=true, date_from=2024-03-01)
Claude → "You spent R$ 847.30 on food in March..."

対応銀行

モック環境では、メモリ内データを使用して、Nubank、Sicoob、Caixa、Banco do Brasil、 Bradesco、Itaú、Santander、XP、PicPay、BTG Pactualをシミュレートします。ネットワークへのアクセスはありません。これらはシミュレーションであり、認定済みの連携ではありません。

実際のアダプターとPayments APIの一連の処理は実験段階であり、検証されていません。 Paymentsでは、v5のpayments-consents/payments-pix Directoryファミリー、 同意ごとの専用トークン、検証済みのレスポンスJWS、PAR/JAR、同意ペイロードとの バインド、永続的な冪等性を使用します。 list_pix_keysはデモ用の拡張機能であり、標準化された Open Finance Brasilのエンドポイントではありません。正確な対象範囲については、 VALIDATION.mdをご覧ください。

利用可能なMCPツール

サーバーは、ワークフロー別に分類された18個のツールを提供します。

  • 口座: list_accounts、get_balance、list_transactions
  • カード: list_credit_cards、get_credit_card_bills
  • 投資: list_investments、list_funds、 list_variable_incomes、list_treasure_titles
  • PIX: list_pix_keys、initiate_pix
  • データ同意: start_consent、complete_consent、 check_consent_status、revoke_consent
  • 支払い同意: start_payment_consent、complete_payment_consent、 check_payment_consent_status

また、openfinance://banks/リソース、analyze_monthly_spendingプロンプト、 および認可フロー開始時の任意のURLエリシテーションも提供します。

クイックスタート

前提条件
  • Python 3.12または3.13
  • uvのインストール
# Run the published release in credential-free mock mode
uvx --from openfinance-br-mcp==0.2.0 openfinance-mcp
ソースから
git clone https://github.com/brunovicco/openfinance-br-mcp.git
cd openfinance-br-mcp

# Optional: needed only for sandbox/production or DSPy categorization
cp .env.example .env

# Install dependencies
uv sync

# Run the server
uv run openfinance-mcp
Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.jsonに追加します。

{
  "mcpServers": {
    "openfinance-br": {
      "command": "uvx",
      "args": ["--from", "openfinance-br-mcp==0.2.0", "openfinance-mcp"]
    }
  }
}

開発

# Install with dev-dependencies
uv sync

# Run the tests
uv run pytest tests/ -v

# Lint and formatting
uv run ruff check src/ tests/
uv run black src/ tests/

# Type check
uv run mypy src/

コンテナとKubernetes

docker compose up openfinance-mcp
docker compose --profile test up

k8s/ディレクトリには、Redisを利用した状態管理を備える、レプリカ2台構成のStreamable HTTPサンプルが含まれています。適用する前に、すべての認証情報、署名キー、OAuth発行者、リソースサーバー、ドメインのプレースホルダーを置き換えてください。ループバック以外にHTTPを公開する場合、MCPクライアントのOAuthが設定されていないと、サーバーはフェイルクローズします。

アーキテクチャ

Claude (MCP Client)
        │ stdio or streamable-http
        ▼
openfinance-br-mcp (MCP Server)
  ├── Auth + Consent  (FAPI-BR 2.2.0: private_key_jwt, PAR/JAR, PKCE, mTLS)
  ├── MCP Primitives  (18 tools + 1 resource + 1 prompt)
  │   ├── Pydantic v2 input/output schemas
  │   ├── Optional URL elicitation for bank authorization
  │   └── Categorizer (DSPy + Claude for transaction classification)
  ├── Bank Adapters   (10 banks - extensible)
  └── Directory Client (resolves real bank endpoints from the BCB
                         Directory of Participants)
        │ HTTPS/mTLS
        ▼
Open Finance BR (BCB) - Directory of Participants
        │
        ▼
  Nubank · Sicoob · Caixa · + 100 participating institutions

環境変数

変数必須説明
ENVIRONMENT❌mock(デフォルト。認証情報は不要)、sandbox、または production
CLIENT_ID⚠️ non-mock金融機関に登録されたクライアント ID
PRIVATE_KEY_PATH⚠️ non-mockprivate_key_jwt/JAR 署名用の RSA 秘密鍵
PRIVATE_KEY_KID⚠️ non-mock登録済みクライアントの JWKS と一致する kid
MTLS_CERT_PATH⚠️ prodmTLS 証明書へのパス
MTLS_KEY_PATH⚠️ prodmTLS 秘密鍵
ANTHROPIC_API_KEY⚠️ DSPycategorize=true に必要
REDIS_URL❌レプリカ間で TokenStore/ConsentManager の状態を共有します
MCP_TRANSPORT❌stdio(デフォルト)または streamable-http
MCP_HTTP_ALLOWED_ORIGINS⚠️ remote HTTPループバック以外にバインドする場合に必要な許可リスト
LANGFUSE_OTLP_ENDPOINT❌Langfuse へのトレースを有効にします(LANGFUSE_PUBLIC_KEY/LANGFUSE_SECRET_KEY と併用)
LOG_LEVEL❌INFO、DEBUG、WARNING(デフォルト:INFO)
LOG_FORMAT❌json または console(デフォルト:json)

全一覧は .env.example をご覧ください。

ドキュメント

ライセンス

MIT

コメント

MCP は初めてですか?

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

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