bank-mcp
🏦 bank-mcp
Dale a tu asistente de IA acceso seguro y de solo lectura a tus cuentas bancarias.
La mayoría de las personas gestionan sus finanzas iniciando sesión en portales bancarios, descargando archivos CSV y creando hojas de cálculo. bank-mcp elimina esa fricción al permitir que tu asistente de IA consulte tus cuentas bancarias directamente (saldos, transacciones, desgloses de gastos) a través de una conversación natural. Se conecta a APIs bancarias reales mediante el Protocolo de Contexto de Modelo, por lo que cualquier cliente compatible con MCP (Claude Code, Claude Desktop y otros) puede entender tus finanzas.
5 proveedores, más de 15.000 instituciones — Cobertura de bancos en EE. UU. y Europa
Diseñado como solo lectura — sin acceso de escritura, sin transferencias, sin modificaciones
Funciona con cualquier cliente MCP — Claude Code, Claude Desktop, Cursor y más
Arquitectura conectable — añade tu propio proveedor en menos de 100 líneas
Tabla de contenidos
Proveedores admitidos
Proveedor | Región | Instituciones | Método de autenticación | Dificultad de configuración |
Europa | 2.000+ | Clave RSA + sesión | Media | |
EE. UU. | 7.000+ | Certificado mTLS | Media | |
EE. UU. / CA / EU | 12.000+ | ID de cliente + secreto | Fácil | |
Europa | 3.400+ | Token OAuth2 | Fácil | |
Mock | Demo | — | Ninguno | Instantánea |
Bancos de EE. UU.
Admitidos a través de Plaid y Teller, cubriendo las 20 principales instituciones de EE. UU. y miles más:
JPMorgan Chase · Bank of America · Wells Fargo · Citibank · Capital One · U.S. Bank · PNC · Truist · Goldman Sachs · TD Bank · Citizens · Fifth Third · M&T Bank · Huntington · KeyBank · Ally · Regions · BMO · American Express · USAA
Bancos europeos
Admitidos a través de Enable Banking y Tink, cubriendo los principales bancos de la UE y el Reino Unido:
HSBC · BNP Paribas · Deutsche Bank · ING · Crédit Agricole · Santander · Société Générale · UniCredit · Intesa Sanpaolo · Barclays · Lloyds · BBVA · CaixaBank · Commerzbank · Rabobank · ABN AMRO · Swedbank · Handelsbanken · Nordea · PKO Bank Polski
Inicio rápido
1. Ejecuta el asistente de configuración
npx @bank-mcp/server initEl asistente interactivo te guía a través de todo: selección de proveedor, credenciales, autorización bancaria y verificación de cuenta, todo con una interfaz de terminal pulida:
┌ bank-mcp — Connect your bank account
│
◇ Choose your banking provider
│ Plaid / Teller / Tink / Enable Banking
│
◇ Environment
│ Sandbox / Development / Production
│
◇ Found 3 account(s) ─────────────────────────╮
│ ****1591 (Bank of America Platinum Card) │
│ ****3588 (Bank of America My Checking) │
│ ****2450 (Bank of America Essential Savings)│
├───────────────────────────────────────────────╯
│
└ Setup complete!2. Añádelo a tu cliente MCP
Al finalizar la configuración, el asistente te preguntará qué cliente MCP utilizas y te mostrará la configuración exacta:
Claude Code — un comando:
claude mcp add bank -- npx @bank-mcp/serverCursor — añadir a
.cursor/mcp.jsonWindsurf — añadir a
~/.codeium/windsurf/mcp_config.jsonGemini CLI — añadir a
~/.gemini/settings.jsonCodex CLI — añadir a
~/.codex/config.json
¿Usas otra herramienta? Consulta Configuración del cliente para ver todos los clientes admitidos, incluidos Claude Desktop, VS Code y Zed.
3. Pruébalo
Pregúntale a tu asistente de IA sobre tus finanzas en lenguaje natural:
"What's my checking account balance?"
"Show my spending by category this month"
"Find all Amazon purchases over $50"
"Compare my spending this month vs last month"Modo Demo
¿Aún no tienes credenciales bancarias? Empieza con datos falsos realistas:
npx @bank-mcp/server --mockEsto se inicia con un proveedor simulado que genera cuentas y transacciones de muestra deterministas, perfecto para probar tu configuración o desarrollar sobre bank-mcp antes de conectar cuentas reales.
Configuración del cliente
bank-mcp funciona con cualquier cliente compatible con MCP. Elige tu herramienta a continuación.
Claude Code
Añadir a .mcp.json en la raíz de tu proyecto (o ~/.claude/.mcp.json para todos los proyectos):
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}O añadir a través de la CLI:
claude mcp add bank -- npx @bank-mcp/serverClaude Desktop
Añadir a tu claude_desktop_config.json:
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}Ubicación del archivo de configuración:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Añadir a .cursor/mcp.json en la raíz de tu proyecto (o ~/.cursor/mcp.json globalmente):
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}VS Code (Copilot)
Añadir a .vscode/mcp.json en tu espacio de trabajo:
{
"servers": {
"bank": {
"type": "stdio",
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}Windsurf
Añadir a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}OpenAI Codex CLI
Añadir a ~/.codex/config.toml (o .codex/config.toml en tu proyecto):
[mcp_servers.bank]
command = "npx"
args = ["@bank-mcp/server"]O añadir a través de la CLI:
codex mcp add bank -- npx @bank-mcp/serverGemini CLI
Añadir a ~/.gemini/settings.json (o .gemini/settings.json en tu proyecto):
{
"mcpServers": {
"bank": {
"command": "npx",
"args": ["@bank-mcp/server"]
}
}
}Zed
Añadir a tu settings.json de Zed:
{
"context_servers": {
"bank": {
"command": {
"path": "npx",
"args": ["@bank-mcp/server"]
}
}
}
}¿No ves tu herramienta? bank-mcp utiliza el transporte estándar MCP stdio. Cualquier cliente que admita servidores MCP stdio puede conectarse usando
npx @bank-mcp/servercomo comando.
Herramientas disponibles
Herramienta | Descripción | Parámetros clave |
| Lista todas las cuentas bancarias de las conexiones |
|
| Obtiene transacciones con filtrado |
|
| Búsqueda de texto completo en descripciones y comercios |
|
| Saldos actuales y disponibles |
|
| Gastos agrupados por comercio o categoría |
|
Capturas de pantalla
Todos los ejemplos a continuación usan Claude Code con el proveedor simulado (npx @bank-mcp/server --mock).
Listar cuentas — "Lista mis cuentas bancarias"

Consultar saldos — "¿Cuál es mi saldo actual?"

Historial de transacciones — "Muestra mis transacciones de los últimos 15 días"

Buscar transacciones — "Encuentra todas las compras en Starbucks en las últimas 2 semanas"

Gastos por categoría — "Muestra mis gastos por categoría este mes"

Comercios principales — "¿En qué comercios gasto más?"

Seguimiento de suscripciones — "Muestra mis suscripciones recurrentes"

Comparación de supermercados — "Compara mis gastos en Trader Joe's vs Whole Foods"

Imagen financiera completa — "Dame mi imagen financiera completa de febrero"

Arquitectura
Estructura de archivos
~/.bank-mcp/
config.json # Connections & credentials (permissions: 600)
keys/ # RSA keys and certificates
src/
providers/
base.ts # Abstract BankProvider class
registry.ts # Provider registration
enable-banking/ # PSD2 via Enable Banking API
teller/ # US banks via mTLS
plaid/ # US/CA/EU via Plaid API
tink/ # EU Open Banking via Tink API
mock/ # Deterministic fake data
tools/ # MCP tool implementations
utils/
cache.ts # In-memory TTL cache
http.ts # Fetch with timeout + retryInterfaz del proveedor
Cada proveedor extiende la misma clase abstracta, lo que facilita la adición de nuevas integraciones:
abstract class BankProvider {
abstract listAccounts(config): Promise<BankAccount[]>;
abstract listTransactions(config, accountId, filter?): Promise<Transaction[]>;
abstract getBalance(config, accountId): Promise<Balance[]>;
abstract getConfigSchema(): ConfigField[];
}Guías de configuración de proveedores
Enable Banking (PSD2)
Qué necesitas:
[ ] Una cuenta de Enable Banking con una aplicación registrada
[ ] Tu clave privada RSA (archivo
.pem, descargado cuando creaste la aplicación)
npx @bank-mcp/server init
# Select: Enable Banking → enter App ID + key path
# Pick your country → select your bank
# Log in at your bank → paste the redirect URL
# → Session created, accounts verified!Consejo: El asistente maneja todo el flujo OAuth: configuración de URI de redirección, selección de banco y creación de sesión. Las sesiones caducan después de 90 días (regulación PSD2); vuelve a ejecutar
initpara actualizar.
Teller (Bancos de EE. UU.)
Qué necesitas:
[ ] Una cuenta de desarrollador de Teller
[ ] Tu ID de aplicación (desde el panel de control de Teller)
npx @bank-mcp/server init
# Select: Teller → enter Application ID
# Pick environment (sandbox for testing)
# → Teller Connect opens in your browser
# → Link your bank, token captured automatically!Consejo: Empieza con sandbox: no se necesitan certificados, datos de prueba instantáneos. Para desarrollo/producción, el asistente solicita las rutas de los certificados mTLS. El nivel gratuito admite hasta 100 conexiones en vivo.
Plaid (EE. UU./CA/EU)
Qué necesitas:
[ ] Una cuenta de desarrollador de Plaid (registro gratuito)
[ ] Tu ID de cliente y secreto (desde el panel de control de Plaid)
npx @bank-mcp/server init
# Select: Plaid → enter client ID + secret
# Pick environment (sandbox for testing)
# → Sandbox: token created automatically!
# → Dev/Prod: paste an existing access tokenConsejo: Empieza con sandbox: el asistente crea automáticamente un token de prueba, no se necesita navegador. Plaid proporciona la categorización de transacciones más rica (104 subcategorías con puntuaciones de confianza), ideal para el análisis de gastos impulsado por LLM.
Tink (Open Banking de la UE)
Qué necesitas:
[ ] Una cuenta de desarrollador de Tink (gratuita para pruebas)
[ ] Tu ID de cliente y secreto de cliente (desde la Consola de Tink)
npx @bank-mcp/server init
# Select: Tink → enter Client ID + Secret
# Pick your market (country)
# → Tink Link opens in your browser
# → Connect your bank, paste redirect URLConsejo: Tink cubre más de 3.400 bancos en toda Europa. Para sandbox, usa Demo Bank con credenciales de prueba (que se muestran en el asistente). Las transacciones incluyen categorías PFM con enriquecimiento de comercios.
Caché
Todos los datos se almacenan en caché en memoria (sin persistencia en disco; la caché muere con el proceso):
Datos | TTL | Por qué |
Lista de cuentas | 1 hora | Las cuentas rara vez cambian; minimiza las llamadas a la API |
Transacciones | 15 minutos | Equilibra nuevas transacciones vs frescura |
Saldos | 5 minutos | Lo más sensible al tiempo; los usuarios esperan datos actuales |
La caché es por conexión y por cuenta. Reiniciar el servidor borra todas las cachés.
Conexiones múltiples
Configura tantas conexiones bancarias como necesites, incluso entre diferentes proveedores:
{
"connections": [
{ "id": "ing-main", "provider": "enable-banking", "..." : "..." },
{ "id": "chase-checking", "provider": "plaid", "..." : "..." },
{ "id": "revolut", "provider": "tink", "..." : "..." }
]
}Todas las herramientas aceptan un parámetro opcional connectionId para dirigirse a una conexión específica. Cuando se omite, se consulta cada conexión y los resultados se fusionan, por lo que "muestra todos mis saldos" funciona automáticamente en todos los bancos.
Seguridad
Principios de diseño
bank-mcp maneja credenciales financieras sensibles. Su postura de seguridad se basa en minimizar la superficie de ataque:
Diseñado como solo lectura — la interfaz
BankProvidersolo expone métodos de lectura (listAccounts,listTransactions,getBalance). No hay métodos de escritura: no hay transferencias, no hay modificaciones de cuenta, no hay inicio de pagos. Esto se aplica a nivel de tipo, no por convención.Sin oyente de red — bank-mcp se ejecuta como un proceso stdio (stdin/stdout), no como un servidor HTTP. No hay puerto abierto, no hay superficie de ataque desde la red.
Dependencias mínimas — solo 4 dependencias en tiempo de ejecución (
@modelcontextprotocol/sdk,@clack/prompts,jsonwebtoken,zod). Menos dependencias significa menos riesgos en la cadena de suministro.Código abierto — cada línea es auditable. Sin código ofuscado, sin blobs compilados, sin telemetría.
Almacenamiento de credenciales
El archivo de configuración en
~/.bank-mcp/config.jsonse crea con permisos600(solo lectura/escritura del propietario)Las claves RSA y los certificados se almacenan en
~/.bank-mcp/keys/con los mismos permisos restrictivosLas credenciales nunca se registran
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elcukro/bank-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server