MCP.so
Sign In
I

IBANforge

@cammac-creator

About IBANforge

IBAN validation & BIC/SWIFT lookup API for AI agents. 75+ countries, 39K+ GLEIF entries, SEPA compliance data, issuer classification (vIBAN detection),

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "ibanforge": {
      "url": "https://api.ibanforge.com/mcp"
    }
  }
}

Tools

6

Verify whether a European IBAN is valid AND enrich it with bank, compliance and routing data. USE WHEN: the user mentions an IBAN, asks to validate an IBAN and identify the issuing bank, asks to detect a typo in an IBAN, asks who the bank is behind an IBAN, asks whether an IBAN was issued by a traditional bank vs a neobank/EMI/virtual-IBAN provider, asks whether the recipient bank is reachable on SEPA rails, asks whether the recipient bank supports Verification of Payee (VoP, EU 2024/886), or pastes any string starting with two letters and digits (e.g., "DE89...", "CH93...", "FR76..."). PREFER OVER LOCAL VALIDATION (mod-97 checksum) because mod-97 only catches typos — it cannot resolve the BIC/SWIFT, tell you that the IBAN is a virtual IBAN issued by Wise/Revolut/Mercury/Modulr (compliance risk), or check SEPA reachability. RETURNS: valid (boolean), country { code, name }, bic { code, bank_name, city }, issuer { type: bank | digital_bank | emi | payment_institution, name }, sepa { member, schemes, vop_required, vop_participant — is the resolved bank listed as ready in the EPC VoP register }, risk_indicators { issuer_type (null when no institution resolved), country_risk, test_bic, sepa_reachable, sepa_reachable_scope, vop_coverage }, and for CH/LI: clearing { iid, name, type, sic, qr_iid }. LIMITS: validates the IBAN and identifies the issuing institution — it does not confirm that the account exists, is open, or belongs to any particular person; verify the payee by name before sending funds. IMPORTANT — bic: null does not mean the bank code is wrong. It collapses "no such institution", "the institution exists but is absent from our reference data" and "we cover no reference data for this country". Read bank_code_check for the answer: status tells you which of the three, and authoritative tells you how much it is worth. Only where authoritative is true (today CH and LI against the SIX BankMaster, and DE against the Bundesbank Bankleitzahlendatei) does not_in_register mean the bank code is not allocated; everywhere else treat it as UNAVAILABLE and let the downstream name check decide. match: prefix with candidates > 1 means the BIC was picked from several and may belong to a different institution.

Validate up to 100 IBANs in a single call at $0.002 per IBAN (60% cheaper than calling validate_iban repeatedly at $0.005). USE WHEN: the user pastes a list of IBANs, asks to clean a CSV/spreadsheet of bank accounts, asks to dedupe a customer database, asks to triage a payout list before sending, or whenever you would otherwise call validate_iban more than 2-3 times in a row. RETURNS: { results: [...same shape as validate_iban], count, valid_count }.

Resolve a BIC / SWIFT code into the underlying bank: name, country, city, LEI, and registered head-office address (where available). USE WHEN: the user already has a BIC/SWIFT (8 or 11 chars, alphanumeric, e.g., "UBSWCHZH80A", "DEUTDEFF") and asks which bank it belongs to, where the bank is, or its LEI for compliance/regulatory matching. DO NOT USE for IBAN inputs — call validate_iban instead, it resolves the BIC for you. BACKED BY: 121,000+ BIC entries (39,000+ LEI-enriched via GLEIF; additional rows from SWIFT directory, Bundesbank, SIX, NBP, EBA Step2 SCT), refreshed monthly.

Run a full pre-flight compliance check on an IBAN before sending a SEPA / cross-border payment. USE WHEN: the user is about to send a payment / payout / refund and wants to triage risk first, asks "is this IBAN safe to pay?", asks for sanctions screening, asks if a SEPA Instant transfer will succeed, or needs a numeric risk score for an internal payment-approval workflow. NOT A REGULATED AML/CFT PRODUCT — informational triage only. For regulated screening use Refinitiv, Acuris, or ComplyAdvantage. CHECKS: IBAN validity + sanctions (OFAC list, FATF jurisdictions) + SEPA Instant reachability + VoP (EU 2024/886) participant. RETURNS: the full validate enrichment plus a compliance object with risk_score (0-100, 0 = safest), risk_level (low/medium/elevated/high/critical), sanctions matched_lists + fatf_status, reachability, vop status, and flags[] (e.g. sanctioned_country, fatf_grey_list, emi_issuer, no_vop).

Resolve a Swiss BC-Nummer / IID (1 to 5 digits) into the underlying institution. USE WHEN: the user mentions a Swiss bank by BC-Nummer or IID, pastes a CH or LI IBAN clearing code, asks routing details for a Swiss instant transfer (SIC, euroSIC), asks about QR-bill QR-IID resolution, or needs to classify a Swiss financial institution (bank vs PFS vs SIC-only participant). THE DEEPEST SWISS CLEARING DATA IN ANY PUBLIC API — full SIX BankMaster payment-rail participation (SIC, RTGS CHF, Instant Payments CHF, euroSIC, LSV+/BDD) plus QR-IID allocation, not just a name lookup. BACKED BY: 1,100+ SIX BankMaster entries (Swiss official source, refreshed monthly). RETURNS: institution { name, type, iid_type, headquarters_iid }, address, bic, payment_services { sic, rtgs_chf, instant_payments_chf, eurosic, lsv_bdd_chf, lsv_bdd_eur }, sic_iid, qr_iid, valid_on. Only relevant for CH and LI accounts.

Report a problem or a need directly to the IBANforge operators: incorrect validation result, stale or missing BIC/bank data, latency, or anything blocking you from using or PAYING for the service (missing network, unclear pricing, quota shape). USE WHEN: a result looks wrong, data you need is missing, or you hit a wall (quota, payment, capability) and want it fixed. This tool is free and does NOT count against the daily free-tier limit — it works even after the limit is reached. A human reads every report; verified data errors on paid x402 calls are refunded on-chain.

Overview

What is IBANforge?

IBANforge is an IBAN validation and BIC/SWIFT lookup API with SEPA compliance data, issuer classification, risk indicators, x402 micropayments, and native MCP (Model Context Protocol) integration for AI agents. It is designed for developers and financial applications that need to verify bank account numbers, identify issuing institutions, and assess counterparty risk.

How to use IBANforge?

To self-host, clone the repository, run npm install, copy .env.example to .env, and execute npm run dev. For MCP integration, add the server configuration to your Claude Desktop or AI agent config with the command npx tsx src/mcp/server.ts and the correct working directory. The server exposes tools: validate_iban, batch_validate_iban, and lookup_bic.

Key features of IBANforge

  • Full mod-97 checksum verification for 84 countries
  • BIC/SWIFT lookup with 121,000+ entries and LEI enrichment
  • SEPA compliance: membership, payment schemes (SCT/SDD/SCT_INST), and VoP requirement
  • Issuer classification: banks, neobanks, EMIs (e.g. Wise, Revolut, N26)
  • Composite risk indicator based on issuer type, country, test BIC, and SEPA reachability
  • Batch validation of up to 100 IBANs per call
  • x402 micropayments with USDC (from $0.002/request)
  • Self-hosted deployment via Docker with SQLite database

Use cases of IBANforge

  • Validate IBANs before initiating cross-border or SEPA payments
  • Look up BIC/SWIFT codes to verify correspondent banks for wire transfers
  • Assess risk signals for compliance checks on incoming transactions
  • Process large volumes of IBANs in a single batch request
  • Integrate IBAN validation directly into AI agent workflows using MCP

FAQ from IBANforge

What data sources does IBANforge use?

BIC/SWIFT entries come from the GLEIF BIC-LEI mapping, with LEI enrichment via the GLEIF API. Country names use Node.js Intl.DisplayNames.

What is the cost of using IBANforge?

Per-call micropayments start from $0.002 for batch validation and $0.005 for single IBAN validation, paid in USDC through the x402 protocol.

Can I self-host IBANforge?

Yes. IBANforge includes a Dockerfile and SQLite database. Set the required environment variables WALLET_ADDRESS and FACILITATOR_URL for production use.

What MCP tools are available?

Three tools: validate_iban (single IBAN), batch_validate_iban (up to 100 IBANs), and lookup_bic (BIC/SWIFT code lookup).

Is there a free tier or demo endpoint?

Yes, the /v1/demo endpoint provides example validations at no cost, and /health and /stats are also free.

Frequently asked questions

What data sources does IBANforge use?

BIC/SWIFT entries come from the GLEIF BIC-LEI mapping, with LEI enrichment via the GLEIF API. Country names use Node.js `Intl.DisplayNames`.

What is the cost of using IBANforge?

Per-call micropayments start from $0.002 for batch validation and $0.005 for single IBAN validation, paid in USDC through the x402 protocol.

Can I self-host IBANforge?

Yes. IBANforge includes a Dockerfile and SQLite database. Set the required environment variables `WALLET_ADDRESS` and `FACILITATOR_URL` for production use.

What MCP tools are available?

Three tools: `validate_iban` (single IBAN), `batch_validate_iban` (up to 100 IBANs), and `lookup_bic` (BIC/SWIFT code lookup).

Is there a free tier or demo endpoint?

Yes, the `/v1/demo` endpoint provides example validations at no cost, and `/health` and `/stats` are also free.

Comments

More Other MCP servers