Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Secure Open Finance Brasil MCP server with typed tools and a credential-free mock mode
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ENVIRONMENT, CLIENT_ID, PRIVATE_KEY_PATH, PRIVATE_KEY_KID, MTLS_CERT_PATH, MTLS_KEY_PATH, REDIS_URL, ANTHROPIC_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"openfinance-br": {
"command": "uvx",
"args": [
"openfinance-br-mcp"
],
"env": {
"ENVIRONMENT": "your-value",
"CLIENT_ID": "your-value",
"PRIVATE_KEY_PATH": "your-value",
"PRIVATE_KEY_KID": "your-value",
"MTLS_CERT_PATH": "your-value",
"MTLS_KEY_PATH": "your-value",
"REDIS_URL": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add openfinance-br --env ENVIRONMENT=your-value --env CLIENT_ID=your-value --env PRIVATE_KEY_PATH=your-value --env PRIVATE_KEY_KID=your-value --env MTLS_CERT_PATH=your-value --env MTLS_KEY_PATH=your-value --env REDIS_URL=your-value --env ANTHROPIC_API_KEY=your-value -- uvx openfinance-br-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"openfinance-br": {
"command": "uvx",
"args": [
"openfinance-br-mcp"
],
"env": {
"ENVIRONMENT": "your-value",
"CLIENT_ID": "your-value",
"PRIVATE_KEY_PATH": "your-value",
"PRIVATE_KEY_KID": "your-value",
"MTLS_CERT_PATH": "your-value",
"MTLS_KEY_PATH": "your-value",
"REDIS_URL": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"openfinance-br": {
"type": "stdio",
"command": "uvx",
"args": [
"openfinance-br-mcp"
],
"env": {
"ENVIRONMENT": "your-value",
"CLIENT_ID": "your-value",
"PRIVATE_KEY_PATH": "your-value",
"PRIVATE_KEY_KID": "your-value",
"MTLS_CERT_PATH": "your-value",
"MTLS_KEY_PATH": "your-value",
"REDIS_URL": "your-value",
"ANTHROPIC_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
ENVIRONMENT envCLIENT_ID envPRIVATE_KEY_PATH envPRIVATE_KEY_KID envMTLS_CERT_PATH envMTLS_KEY_PATH envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account brunovicco, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: REDIS_URL, ANTHROPIC_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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:
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..."
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.
# 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
cp .env.example .env
uv sync
uv run openfinance-mcp
Add to ~/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
uv run pytest tests/ -v
uv run ruff check src/ tests/ uv run black src/ tests/
uv run mypy src/
docker compose up openfinance-mcp
docker compose --profile test up
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.
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
| 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