Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Descripción del creador (original en inglés)
Read, search and export statements and balances from banks across Europe, without moving money.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
ENABLE_BANKING_CONFIG, ENABLE_BANKING_KEYNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"enable-banking": {
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-enable-banking"
],
"env": {
"ENABLE_BANKING_CONFIG": "your-value",
"ENABLE_BANKING_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add enable-banking --env ENABLE_BANKING_CONFIG=your-value --env ENABLE_BANKING_KEY=your-value -- npx -y @foreverworks/mcp-enable-bankingCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"enable-banking": {
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-enable-banking"
],
"env": {
"ENABLE_BANKING_CONFIG": "your-value",
"ENABLE_BANKING_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"enable-banking": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-enable-banking"
],
"env": {
"ENABLE_BANKING_CONFIG": "your-value",
"ENABLE_BANKING_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
ENABLE_BANKING_KEY envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con el dominio foreverworks.com (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: ENABLE_BANKING_CONFIG
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 6 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Read, search and export your bank statements and balances from your AI assistant, through Enable Banking, a licensed PSD2 provider for banks across Europe. It moves no money: besides reading, it only starts, stores and ends consents. start_auth is its one money tool, because it asks your bank for 180 days of read access; your client asks you before each call.
You need an Enable Banking application (its id, a registered redirect URL and its private key), and the account holder, to approve each consent in their bank's app every 180 days. A bank allows about four reads of an account a day without the holder present, shared by every program on that consent, so read a period once and narrow it here.
%2C%20when%20app.json%20does%20not%20name%20it.%22%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40foreverworks%2Fmcp-enable-banking%22%5D%2C%22env%22%3A%7B%22ENABLE_BANKING_CONFIG%22%3A%22%24%7Binput%3Aenable_banking_config%7D%22%2C%22ENABLE_BANKING_KEY%22%3A%22%24%7Binput%3Aenable_banking_key%7D%22%7D%7D)
With Claude Code:
claude mcp add enable-banking -e ENABLE_BANKING_CONFIG="<path to Enable Banking app.json>" -- npx -y @foreverworks/mcp-enable-banking
Claude Desktop (Settings, Developer, Edit Config) and most other clients read the same command as JSON:
{
"mcpServers": { "enable-banking": { "command": "npx", "args": ["-y", "@foreverworks/mcp-enable-banking"], "env": { "ENABLE_BANKING_CONFIG": " " } } } }
Each runs the published package on Node 22.19 or newer. VS Code and the Claude Desktop bundle ask for each setting as they add the server; leave an optional one empty. Cursor reads each from your environment instead (${env:ENABLE_BANKING_CONFIG} and so on), so set them before you start Cursor. The commands above set only what is required; Configuration has the rest.
git clone https://github.com/foreverworks/mcps.git && cd mcps
npm ci && npm run build claude mcp add enable-banking -e ENABLE_BANKING_CONFIG=" " -- node "$PWD/servers/enable-banking/dist/index.js"
In a JSON configuration, the command is node and its one argument the full path of servers/enable-banking/dist/index.js. To share one running copy between several clients over HTTP, see docs/deploying.md.
| Variable | Required | Meaning |
|---|---|---|
ENABLE_BANKING_CONFIG | yes | Path of app.json (below), which the server only reads. |
ENABLE_BANKING_KEY | no | Path of the application's private key (PEM). When unset, app.json's private_key names it, relative to app.json's folder. |
ENABLE_BANKING_STATE_DIR | no | Where the consents (sessions.json), their backup and their lock live; the default is in docs/configuration.md. |
ENABLE_BANKING_EXPORTS_DIR | no | Where export_transactions writes its CSV files. Default: exports/ in the state folder. |
app.json holds the application's details from the control panel:
{
"application_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "application_name": "Example Books", "environment": "sandbox", "redirect_url": "https://example.com/bank-callback", "private_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.pem" }
application_id and redirect_url are required, and private_key too unless ENABLE_BANKING_KEY is set. redirect_url must match a registered one exactly. application_name and environment only label health's answer; the application_id decides sandbox or production. api_base overrides https://api.enablebanking.com for tests or a proxy; other keys are ignored. Under systemd, a credentials directory renames files to their credential names, so set ENABLE_BANKING_KEY there. The variables every server shares are in docs/configuration.md.
complete_auth only needs the address the browser lands on. .pem; move it where only this server can read it, and write app.json beside it.Production is a second application, registered with the Production environment. It starts Inactive; "Activate by linking accounts" makes it active in restricted mode, which reads only your own linked accounts until you sign a contract with Enable Banking.
health check. It names the application, its environment, whether it is active and its redirect URLs, and counts the stored consents. A key that does not belong to the application_id fails here.list_aspsps for its country. start_auth takes its name; psuTypes lists its account types (business, personal), and maxConsentDays its longest consent.start_auth with that name, the country and the psu_type, and approve it. The link it returns is for the account holder: plan five minutes with the phone that holds the bank's app.?code=.... Give that address (or the code) to complete_auth at once: the code works once, for minutes. Its answer lists the accounts and the consent's end date.To renew a consent (list_stored_sessions says how many days it has left), repeat steps 3 to 5 with its bank, country and type. Without a label, the new consent takes the old one's place and label.
From a shell, node dist/index.js --health prints one ENABLEBANKING: line and exits 1 when a person has to act or 2 when Enable Banking was unwell, which suits a daily timer.
read changes nothing at the bank or in the stored consents (an export writes only its file); write changes the stored consents; money asks a bank for access to your accounts.
| Tool | Access | What it does |
|---|---|---|
health | read | Whether Enable Banking accepts the key, as which application and in which environment, where the files are, and how many consents are stored. |
list_aspsps | read | The banks Enable Banking reaches in a country (empty for every market): the name start_auth takes, the account types each offers and its longest consent. Cached an hour. |
list_stored_sessions | read | Every stored consent by label, with its bank, its accounts and when it expires, as a date and as days left. |
start_auth | money | Starts a consent with a bank, for every account it offers, for 180 days. Returns a link the account holder must open. |
complete_auth | write | Finishes a consent from the bank's redirect, stores it under a label, and reports its accounts and its end date. |
revoke_session | write | Ends a stored consent at the bank and removes it here, keeping the previous file as a backup. |
list_accounts | read | The accounts a consent reaches today, asked of the bank, each with the uid the other tools take. |
get_transactions | read | A statement for one account, every account on a consent, or every stored account, with exact signed amounts, narrowed by text, direction and amount without another read at the bank. |
export_transactions | read | The same statement written as a CSV file, for a long period, many accounts or an accountant. Returns the file's path, size and SHA-256. |
get_balances | read | Every balance the bank reports for one account (booked, available and the others it sends), each an exact amount with its PSD2 code and its meaning. |
start_auth moves no money, but it grants 180 days of read access, which only the account holder should decide. It is marked money in tools/list, so your client asks you before each call (Claude Code does, in every permission mode). With MCP_CONFIRM=elicit the server asks you itself, in one line computed from the arguments:
enable-banking: Bank consent (PSD2, read-only: balances and transactions) with Example Bank (DE), personal accounts, every account the bank offers, valid 180 days: until 2030-07-01 if confirmed today
The end date is computed when you are asked and again when the call runs, so a later confirmation moves it by the delay. Access starts when the account holder approves in their bank.
`config`: "ENABLE_BANKING_CONFIG is not set", or a message naming app.json. Set ENABLE_BANKING_CONFIG to a readable app.json, and ENABLE_BANKING_KEY (or private_key) to the key.
`auth`: "cannot use the private key at ...". The key file is missing, unreadable or not an RS256 private key. Point ENABLE_BANKING_KEY or private_key at the .pem the control panel saved; the next call reads it again, with no restart.
`api` with status 401 or 403. Enable Banking refused the signed token: the key does not belong to the application_id (a sandbox key beside a production id, say).
`api` with `reason` `EXPIRED_SESSION`, `REVOKED_SESSION`, `CLOSED_SESSION` or `SESSION_DOES_NOT_EXIST`, or status 422 or 404, on a call that worked the day before. The consent lapsed or was revoked in the bank's app, and retrying will not bring it back. Renew it with steps 3 to 5 of First run.
`api` from `complete_auth` with `reason` `EXPIRED_AUTHORIZATION_CODE`, `WRONG_AUTHORIZATION_CODE` or `outcome_unknown`. The code works once, for minutes, and a dropped excha
Solo se muestra el principio; lee el resto en el repo