MCP server for Open Finance Brasil - accounts, balances, PIX, and investments across 10 banks
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
English ยท Portuguรชs
Experimental MCP server for Open Finance Brasil, with a complete mock environment and evolving FAPI-BR integration. It is not certified or validated against real institutions; see VALIDATION.md before using it outside
environment=mock.
An MCP Server that abstracts away the complexity of Open Finance Brasil (FAPI 1.0 Advanced, OAuth2, consent, mTLS) and exposes simple tools to Claude:
The mock environment simulates Nubank, Sicoob, Caixa, Banco do Brasil, Bradesco, Itaรบ, Santander, XP, PicPay, and BTG Pactual with in-memory data and no network access. These are simulations, not certified integrations.
Real adapters and the Payments API journey are experimental and unvalidated.
Payments use the v5 payments-consents/payments-pix Directory families,
dedicated per-consent tokens, verified response JWS, PAR/JAR, consent-payload
binding, and persistent idempotency.
list_pix_keys is a demonstration extension rather than a standardized Open
Finance Brasil endpoint. See VALIDATION.md
for the exact scope.
The server exposes 18 tools grouped by journey:
list_accounts, get_balance, list_transactionslist_credit_cards, get_credit_card_billslist_investments, list_funds,
list_variable_incomes, list_treasure_titleslist_pix_keys, initiate_pixstart_consent, complete_consent,
check_consent_status, revoke_consentstart_payment_consent, complete_payment_consent,
check_payment_consent_statusIt also exposes the openfinance://banks/ resource, the
analyze_monthly_spending prompt, and optional URL elicitation when starting
an authorization flow.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
The k8s/ directory contains a two-replica Streamable HTTP example with
Redis-backed state. Replace every credential, signing-key, OAuth issuer,
resource-server, and domain placeholder before applying it. The server fails
closed when HTTP is exposed outside loopback without MCP client OAuth.
| Variable | Required | Description |
|---|---|---|
ENVIRONMENT | โ | mock (default, no credentials needed), sandbox, or production |
CLIENT_ID | โ ๏ธ non-mock | Client ID registered with the institution |
PRIVATE_KEY_PATH | โ ๏ธ non-mock | RSA private key for private_key_jwt/JAR signing |
PRIVATE_KEY_KID | โ ๏ธ non-mock | kid matching the registered client JWKS |
MTLS_CERT_PATH | โ ๏ธ prod | Path to the mTLS certificate |
MTLS_KEY_PATH | โ ๏ธ prod | mTLS private key |
ANTHROPIC_API_KEY | โ ๏ธ DSPy | Required for categorize=true |
REDIS_URL | โ | Shares TokenStore/ConsentManager state across replicas |
MCP_TRANSPORT | โ | stdio (default) or streamable-http |
MCP_HTTP_ALLOWED_ORIGINS | โ ๏ธ remote HTTP | Required allowlist for any non-loopback bind |
LANGFUSE_OTLP_ENDPOINT | โ | Enables tracing to Langfuse (with LANGFUSE_PUBLIC_KEY/LANGFUSE_SECRET_KEY) |
LOG_LEVEL | โ | INFO, DEBUG, WARNING (default: INFO) |
LOG_FORMAT | โ | json or console (default: json) |
See .env.example
for the full list.
MIT
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/openfinance-br-mcp)<a href="https://allmcps.com/mcp/openfinance-br-mcp"><img src="https://allmcps.com/api/badge/openfinance-br-mcp?style=directory" alt="Openfinance Br MCP on AllMCPs" /></a>