Ibanchecker Mcp

io.github.koraykoyluPublished by GitHub account koraykoyluv1.4.0Updated Nov 2, 2026

IBAN validation, extraction, format specs and BIC/SWIFT lookup tools for AI assistants.

VerifiedStreamable HTTPWeb executableFinanceDeveloper Tools

Overview

AI-generated overview

Validates IBANs, extracts them from text, returns country IBAN formats and looks up banks by BIC/SWIFT, backed by the ibanchecker.cash engine.

What you can do
  • Validate a single IBAN against ISO 13616 country, length, BBAN structure and MOD-97 checks, with bank details when known
  • Validate a batch of up to 100 IBANs in one call and get per-entry results
  • Scan free-form text such as emails, invoices or pasted PDFs to find and validate every IBAN in it
  • Return the IBAN format specification for any of 92 supported countries, including BBAN layout, an example and SEPA membership
  • Look up a bank by 8- or 11-character BIC/SWIFT code and get its name, city and country
When to use it
Useful when an assistant handles payment or bank details: checking a single IBAN before a transfer, screening lists of IBANs, pulling account numbers out of invoices or emails, or resolving BIC codes to bank names.
Requirements
Runs as a hosted remote endpoint or as a local npm package over stdio with Node 18 or newer. Every tool except get_iban_format needs an API key, passed as the IBANCHECKER_API_KEY environment variable in stdio mode or as an Authorization Bearer or x-api-key header in remote mode. A free key covers 100 requests a month; bulk validation and extraction count one request per IBAN.
Before you install
The API key is a secret and must be supplied by the user; tool availability depends on the key's plan, with 401, 403 and 429 errors surfaced as tool errors. IBANs and surrounding text are sent to the hosted ibanchecker.cash service, which states it does not log or store IBAN data. Validation results are not proof that an account exists or can receive funds.

Installation

In SourceWeft

  1. Open Ibanchecker Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.koraykoylu%2Fibanchecker-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ibanchecker": {
      "type": "http",
      "url": "https://mcp.ibanchecker.cash/mcp"
    }
  }
}

README

ibanchecker-mcp

[npm version] [License: MIT] [Model Context Protocol]

MCP (Model Context Protocol) server for ibanchecker.cash. Gives AI assistants like Claude five finance tools backed by the ibanchecker.cash validation engine:

ToolWhat it does
validate_ibanValidate a single IBAN: country, length, national BBAN structure, MOD-97 check digits, and bank details when available
validate_bulk_ibansValidate up to 100 IBANs in one call
extract_ibans_from_textFind and validate every IBAN inside a block of text (emails, invoices, spreadsheets)
get_iban_formatIBAN format specification for any of 92 supported countries
lookup_bicLook up a bank by BIC/SWIFT code

No IBAN data is logged or stored; validation runs in memory on Cloudflare's edge. See the security page for details.

Quick start: hosted remote server

The easiest path is the hosted endpoint. Nothing to install or deploy. Every tool except get_iban_format needs an API key (see API key).

https://mcp.ibanchecker.cash/mcp

Claude Code

bash
claude mcp add --transport http ibanchecker https://mcp.ibanchecker.cash/mcp --header "Authorization: Bearer YOUR_API_KEY"

Claude Desktop (claude_desktop_config.json), via the mcp-remote bridge:

json
{  "mcpServers": {    "ibanchecker": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.ibanchecker.cash/mcp", "--header", "Authorization:${AUTH_HEADER}"],      "env": {        "AUTH_HEADER": "Bearer your-api-key-here"      }    }  }}

Local stdio server

Run the server locally over stdio (requires Node 18+):

json
{  "mcpServers": {    "ibanchecker": {      "command": "npx",      "args": ["-y", "@ibanchecker/mcp"],      "env": {        "IBANCHECKER_API_KEY": "your-api-key-here"      }    }  }}

Example

Calling validate_iban with DE89370400440532013000 returns:

json
{  "valid": true,  "iban": "DE89370400440532013000",  "formatted": "DE89 3704 0044 0532 0130 00",  "country_name": "Germany",  "bank_name": "Commerzbank AG Cologne",  "bic": "COBADEFFXXX",  "bank_code": "37040044",  "account_number": "0532013000",  "sepa": true}

When the API returns an error (for example a 429 rate limit, a 401 missing or bad key, or a 403 tool outside the key's plan), the tool result is flagged with isError: true and a human-readable message, so the assistant can react rather than crash.

API key

Every tool except get_iban_format needs an API key, and what a key can call follows its plan:

ToolFree keyFree key with a verified accountBasic / StarterGrowth / Enterprise
validate_ibanyesyesyesyes
validate_bulk_ibansnoup to 10 IBANs a callup to 100up to 100
lookup_bicnoyesyesyes
extract_ibans_from_textnoup to 5,000 characters a calltrial with a verified accountup to 50,000
get_iban_formatyesyesyesyes

get_iban_format also works without a key, up to 100 requests an hour per IP. A free key covers 100 requests a month and arrives by email in seconds: get one at ibanchecker.cash/api-docs. A free account on the same address, at ibanchecker.cash/dashboard, opens the trials. Bulk validation and extraction count one request per IBAN. See ibanchecker.cash/pricing for higher volumes. Pass the key as:

  • IBANCHECKER_API_KEY env var (stdio mode), or
  • Authorization: Bearer <key> / x-api-key header (remote mode).

Project layout

.├── bin/stdio.mjs      # npm CLI entry (published as `ibanchecker-mcp`)├── shared/tools.mjs   # the 5 tool definitions, shared by both transports└── worker/            # Cloudflare Worker (the hosted remote server)    ├── src/index.ts    └── wrangler.toml

Both the stdio CLI and the Worker register the exact same tools from shared/tools.mjs, so there is a single source of truth.

Self-hosting the Worker

The remote server is a Cloudflare Worker built on the Agents SDK. Deploy your own:

bash
cd workernpm installnpx wrangler deploy

Remove the routes block in worker/wrangler.toml (or point it at your own domain) and optionally set a server-wide key with npx wrangler secret put IBANCHECKER_API_KEY.

License

MIT. See LICENSE.

Source: README.md at commit 110c899

Tools

5

validate_iban

Validate IBAN

Validate a single International Bank Account Number (IBAN) against the official ISO 13616 structure for its country. What it checks: the country code, total length for that country, the national BBAN structure, and the MOD-97 check digits. When the bank/branch code maps to a known institution, the response also includes the bank name, BIC/SWIFT code, and country. Returns JSON with `valid` (boolean), `iban`, `formatted`, `country`, `country_name`, `check_digits`, `bban`, and, when the bank is recognized, `bank_name`, `bic`, `bank_code`, `bank_city`, `sepa` and `national_check_valid`. An invalid IBAN still returns a result, with `valid: false`, an `error` message and an `error_code` (e.g. INVALID_CHECKSUM, INVALID_LENGTH, UNKNOWN_COUNTRY); it does not throw. Use this when you have one account number to verify. For many IBANs prefer `validate_bulk_ibans`; to pull IBANs out of prose use `extract_ibans_from_text` first. No account data is stored; validation runs in memory and is discarded. Requires an API key; a free key from ibanchecker.cash/api-docs covers 100 requests a month.

Parametersibanrequired

validate_bulk_ibans

Validate Multiple IBANs

Validate a batch of up to 100 IBANs in one call, applying the same ISO 13616 checks as `validate_iban` (country, length, BBAN structure, MOD-97). Returns JSON with `count`, `valid_count`, `invalid_count` and `results`, one entry per IBAN in input order, each shaped like a `validate_iban` result. Use this instead of calling `validate_iban` in a loop when checking a list (e.g. a payment file or a column of supplier accounts). Split inputs larger than 100 into multiple calls. Account numbers are validated in memory and never stored. Requires an API key on the Basic plan or above; a free key whose address has a verified ibanchecker.cash account can try it with up to 10 IBANs per call. Each IBAN counts as one request.

Parametersibansrequired

extract_ibans_from_text

Extract IBANs From Text

Scan a free-form block of text and pull out every candidate IBAN, then validate each one. Useful for unstructured sources such as emails, invoices, PDFs pasted as text, or chat messages where IBANs appear inline and may be split by spaces or surrounded by other words. Returns JSON with `count`, `valid_count`, `invalid_count` and `results`, one `validate_iban`-shaped entry per IBAN found; text containing no IBAN returns an empty list rather than an error. Use this as the first step when the account number is buried in prose; pass the extracted IBANs to `validate_bulk_ibans` only if you need to re-check them separately. Input text is processed in memory and not stored. Requires an API key on the Growth plan or above; a free key whose address has a verified ibanchecker.cash account can try it with up to 5,000 characters per call. Each IBAN found counts as one request.

Parameterstextrequired

get_iban_format

Get Country IBAN Format

Return the IBAN format specification for a country, covering 92 supported IBAN-using countries. Returns JSON describing the country's total IBAN length, the BBAN layout (bank code, branch code, and account number positions and lengths), an example IBAN, and the SEPA-membership flag. Use this to understand or display how a country's IBAN is structured, to build input masks, or to explain a validation failure, not to validate a specific number (use `validate_iban` for that). An unsupported or unknown country code returns an error result describing the problem. Works without an API key, up to 100 requests an hour per IP.

Parameterscountry_coderequired

lookup_bic

Look Up Bank by BIC/SWIFT

Look up a financial institution by its BIC (Business Identifier Code, also called SWIFT code) and return the matching bank's details. Accepts an 8-character (head office) or 11-character (branch) BIC. Returns JSON with `bic`, `bic8`, `bank_name`, `city`, `country_code`, `country_name`, `sepa`, the institution `type` and its `status`. Use this to resolve a BIC to a human-readable bank, to confirm a SWIFT code is real, or to enrich a validated IBAN with institution details. An unknown or malformed BIC returns an error result rather than a guess; codes are never fabricated. Requires an API key on the Basic plan or above, or a free key whose address has a verified ibanchecker.cash account.

Parametersbicrequired

Version history

3
  1. v1.4.0LatestSep 27, 2026
  2. v1.3.0Sep 27, 2026
  3. v1.2.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts