ABANCA MCP Server
Servidor Model Context Protocol (MCP) para conectar la API de OpenBanking de ABANCA (PSD2) con LLMs como Claude, ofreciendo acceso seguro a cuentas y movimientos bancarios.
Requisitos
- Node.js 18+
- Credenciales OpenBanking de ABANCA (CLIENT_ID y CLIENT_SECRET).
- Una clave secreta de encriptación de 32 caracteres exactos para un almacenamiento seguro local de los tokens OAuth.
Instalación
- Clona/Instala este repositorio y entra en el directorio.
- Instala las dependencias:
npm install - Compila el código:
npm run build - Renombra
.env.examplea.envy rellena las variables:CLIENT_IDCLIENT_SECRETENCRYPTION_KEY: Ejemplo12345678901234567890123456789012(Debe ser de 32 caracteres exactos)PORT: (Opcional) el puerto local para el inicio de sesión OAuth, default 3000.
Uso en Claude Desktop
Al ejecutarse vía stdio, no hace falta que inicies el servidor manualmente si usas un cliente MCP. Añádelo a la configuración de tu Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"abanca": {
"command": "node",
"args": ["/home/pope/desarrollo/antigravity/apiABANCA/build/index.js"],
"env": {
"CLIENT_ID": "tu_client_id_real",
"CLIENT_SECRET": "tu_client_secret_real",
"ENCRYPTION_KEY": "tu_clave_de_32_caracteres_secreta"
}
}
}
}
Nota: Asegúrate de reiniciar Claude Desktop si realizas cambios en el archivo de configuración.
Seguridad y Flujo de Autenticación
- OAuth Efímero: En el primer uso (cuando el servidor arranque desde Claude y no encuentre tokens locales), creará temporalmente un servidor Express en el puerto
3000y pedirá por consola de error (stderr) que visites una URL en el navegador. Claude captura los logsstderry te mostrará el enlace. - Tras el login exitoso, el servidor guardará los tokens AES-256-GCM y apagará el servidor Express automáticamente para limitar vectores de ataque.
- Minimización de datos: Las peticiones de la API están desgranadas para proveer sólo cuenta y saldos o movimientos simplificados de cara a evitar que el LLM sufra saturación de contexto de variables no utilizables de la API bancaria originaria.