Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Enable Banking

by foreverworksversion 0.1.1i★ –iRuns on your computer
Registry namecom.foreverworks/enable-banking

Install

Overview

Description from the maker (original English)

Read, search and export statements and balances from banks across Europe, without moving money.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Accounting, finance & tax
  • You need to fill in: ENABLE_BANKING_CONFIG

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ENABLE_BANKING_CONFIG, ENABLE_BANKING_KEY

You need

  • npmNode.js installed (for the npx command)

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": {
    "enable-banking": {
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-enable-banking"
      ],
      "env": {
        "ENABLE_BANKING_CONFIG": "your-value",
        "ENABLE_BANKING_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add enable-banking --env ENABLE_BANKING_CONFIG=your-value --env ENABLE_BANKING_KEY=your-value -- npx -y @foreverworks/mcp-enable-banking

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.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"
      }
    }
  }
}

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.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "enable-banking": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@foreverworks/mcp-enable-banking"
      ],
      "env": {
        "ENABLE_BANKING_CONFIG": "your-value",
        "ENABLE_BANKING_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.

Values you fill in

  • ENABLE_BANKING_CONFIG required env
    Path of app.json: your Enable Banking application's id, its redirect URL and the name of its private key file, as the README describes it.
  • ENABLE_BANKING_KEY env
    Path of the application's private key (PEM), when app.json does not name it.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

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 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain foreverworks.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Accounting, finance & taxi

  • More stars than 0% of the other 1732 servers in this category
  • Published to the registry more recently than 84% of the other 1732 servers in this category
  • Basic checks equal to or better than 100% of the other 1732 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Enable Banking safe?

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.

What keys or codes does it need?

You need to fill in: ENABLE_BANKING_CONFIG

Does it run on my computer or in the cloud?

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).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 7 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator

Alternatives

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

Finance Toolkit

by JerBouma

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

Computer or cloud★ 5,496MITUpdated today
Install

SolidInvoice

by SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

Runs in the cloud★ 981MITUpdated 8 days ago
Install

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

Runs on your computer★ 97MITUpdated yesterday
Install

README from the maker

Open the README

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.

Enable Banking MCP server

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.

What you can ask

  • "Which bank consents do we have, and when does each one run out?"
  • "What did we pay Example Supplier SRL this year?"
  • "Show incoming payments over 1,000 RON in September, across all our accounts."
  • "What is the available balance on our EUR account?"
  • "Export last quarter's transactions as CSV for our accountant."
  • "Our consent with Example Bank ends next week. Renew it."

Install

%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.

From a clone
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.

Configuration

VariableRequiredMeaning
ENABLE_BANKING_CONFIGyesPath of app.json (below), which the server only reads.
ENABLE_BANKING_KEYnoPath 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_DIRnoWhere the consents (sessions.json), their backup and their lock live; the default is in docs/configuration.md.
ENABLE_BANKING_EXPORTS_DIRnoWhere 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.

Getting the application and its key
  1. In Enable Banking's Control Panel, open API applications from the top menu. In "Add a new application", keep the Sandbox environment: its test banks let you try every tool without a real account.
  2. Name the application (the account holder sees the name) and enter a redirect URL. Any page you control works: complete_auth only needs the address the browser lands on.
  3. Keep the default private key option and press Register. Your browser generates the key and saves it as .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.

First run

  1. Ask your assistant to run Enable Banking's 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.
  2. Find your bank with list_aspsps for its country. start_auth takes its name; psuTypes lists its account types (business, personal), and maxConsentDays its longest consent.
  3. Ask for 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.
  4. Open the link, sign in to the bank, and tick every account it offers. The request names no accounts, which asks for all of them.
  5. The bank sends you back to the redirect URL with ?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.

Tools

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.

ToolAccessWhat it does
healthreadWhether Enable Banking accepts the key, as which application and in which environment, where the files are, and how many consents are stored.
list_aspspsreadThe 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_sessionsreadEvery stored consent by label, with its bank, its accounts and when it expires, as a date and as days left.
start_authmoneyStarts a consent with a bank, for every account it offers, for 180 days. Returns a link the account holder must open.
complete_authwriteFinishes a consent from the bank's redirect, stores it under a label, and reports its accounts and its end date.
revoke_sessionwriteEnds a stored consent at the bank and removes it here, keeping the previous file as a backup.
list_accountsreadThe accounts a consent reaches today, asked of the bank, each with the uid the other tools take.
get_transactionsreadA 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_transactionsreadThe 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_balancesreadEvery 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.

Money

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.

Troubleshooting

`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

Only the beginning is shown; read the rest in the repo

Ask PopNx