Skip to main content
Glama

IBANforge

API Status MCP Registry npm ibanforge-mcp npm @ibanforge/sdk PyPI ibanforge Glama MCP x402 TypeScript License: MIT

The compliance API for AI agents. IBAN validation, BIC/SWIFT lookup, Swiss clearing (BC-Nummer / QR-IID / SIX BankMaster), EMI/vIBAN classification, SEPA Instant + VoP reachability, and risk scoring — exposed natively over MCP and x402 micropayments, with no API key signup required.

121k+ BIC entries (39k+ LEI via GLEIF) · 1,100+ Swiss BC-Nummern (SIX) · 89 IBAN countries · <50ms p99

For AI agents — install in one click

Claude Desktop / Cursor / Cline / Continue / Windsurf

Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json for Claude Desktop):

{
  "mcpServers": {
    "ibanforge": {
      "command": "npx",
      "args": ["-y", "ibanforge-mcp"]
    }
  }
}

Privacy by default: submitted IBANs are never stored — validation runs in memory, IPs are kept only as salted hashes, and telemetry deletes itself (12-month cap; erased 30 days after a customer terminates, contractually — DPA clause 4.7).

Optional: set IBANFORGE_API_KEY=ifk_... in env for the free tier (200 req/month). Without it the server uses the public/demo surface; combine with x402 micropayments for unlimited pay-per-call access without signup.

Claude Code (CLI)

claude mcp add ibanforge npx -- -y ibanforge-mcp

Streamable HTTP (no install — for cloud-hosted agents)

POST https://api.ibanforge.com/mcp
Content-Type: application/json
Accept: application/json, text/event-stream

Standard JSON-RPC initialize + tools/list + tools/call flow. Use this when stdio is not an option (CI/CD, serverless, Vercel agents, etc.).

5 MCP tools

Tool

When to use it

Cost

validate_iban

User mentions an IBAN, a bank account, or a SEPA payment

$0.005

batch_validate_iban

List of IBANs, CSV cleanup, customer DB dedup, payout list triage

$0.002/each

lookup_bic

User already has a BIC/SWIFT — backed by 121k+ BIC entries (39k+ LEI-enriched via GLEIF)

$0.003

lookup_ch_clearing

Swiss BC-Nummer / IID — the deepest Swiss clearing data in any public API: full SIX BankMaster rail participation (SIC, euroSIC, CHF instant) + QR-IID

$0.003

check_compliance

Pre-flight risk triage before a SEPA / cross-border payment (sanctions + FATF + VoP)

$0.02

Full descriptions with WHEN-to-use triggers are served live at /.well-known/mcp/server-card.json.


Related MCP server: Brighty MCP Server

For AI agents — pay per call without an API key (x402)

IBANforge is x402-native. Any agent with a wallet on Base L2 can discover, pay, and call:

  1. Discovery: GET https://api.ibanforge.com/.well-known/x402 returns the full catalog (endpoints, prices, asset, payTo, accepts).

  2. Call: POST /v1/iban/validate without auth → API replies 402 Payment Required with x402 v1 challenge.

  3. Pay: client signs a USDC transfer on Base (eip155:8453) and retries.

  4. Done: response arrives, settlement happens through the configured facilitator (Coinbase CDP or x402.org).

No human in the loop, no sales call, no card. See the x402 spec.


SDKs

Pick your language:

Language

Package

Install

Source

TypeScript / JavaScript

@ibanforge/sdk

npm install @ibanforge/sdk

sdks/typescript/

Python

ibanforge

pip install ibanforge

sdks/python/

MCP server

ibanforge-mcp

npx -y ibanforge-mcp

mcp/

Curl / any HTTP client

OpenAPI spec

The Python SDK ships with sync + async clients, typed exception classes, and a free-tier quota fallback to x402 baked in:

from ibanforge import IBANforge

# 1-line free key (200 req/month, no signup form)
key = IBANforge.generate_api_key("you@example.com")

with IBANforge(api_key=key["api_key"]) as client:
    out = client.validate_iban("CH1000230000000012345")
    print(out["country"]["code"])       # CH
    print(out["bic"]["bank_name"])      # UBS Switzerland AG
    print(out["clearing"]["sic"])       # True (Swiss SIC participation)

# Or the free format-only check (mod-97 + structure, no DB hit)
out = IBANforge().format_iban("DE89370400440532013000")

For developers — REST API

# Validate IBAN
curl -X POST https://api.ibanforge.com/v1/iban/validate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ifk_..." \
  -d '{"iban":"CH10 0023 0000 0000 1234 5"}'

# Lookup BIC
curl https://api.ibanforge.com/v1/bic/UBSWCHZH80A

# Free format pre-flight (no auth, mod-97 only)
curl 'https://api.ibanforge.com/v1/iban/format?iban=CH1000230000000012345'

# Free demo (no auth)
curl https://api.ibanforge.com/v1/demo

Method

Path

Cost

Description

POST

/v1/iban/validate

$0.005

Single IBAN — BIC + SEPA + issuer + risk + Swiss bc_nummer

POST

/v1/iban/batch

$0.002/IBAN

Up to 100 IBANs in one call

GET

/v1/bic/{code}

$0.003

BIC/SWIFT lookup with LEI

GET

/v1/ch/clearing/{iid}

$0.003

Swiss BC-Nummer / IID — SIC, euroSIC, QR-IID

POST

/v1/iban/compliance

$0.02

Sanctions + FATF + SEPA Instant + VoP + risk score 0-100

GET

/v1/iban/format

free

Pure mod-97 + structure check, no DB hit

GET

/v1/demo

free

Example validations, no auth

GET

/health

free

Health + DB status

POST

/v1/keys/generate

free

Generate an ifk_* API key (200 req/month) — body: {email}

Full OpenAPI 3.1: api.ibanforge.com/openapi.json.

Why prefer IBANforge over local mod-97 validation?

Local mod-97 catches typos. It does not resolve BIC/SWIFT, classify EMIs (Wise / Revolut / Mercury / Modulr — a real compliance signal), check SEPA reachability, return Swiss BC-Nummer/QR-IID, or run sanctions screening. IBANforge does, in a single call.

Development

npm run dev          # Dev server (hot reload)
npm run test         # Run tests
npm run check        # Typecheck + lint + test
npm run db:seed      # Rebuild BIC database from GLEIF

Deployment

Docker

docker build -t ibanforge .
docker run -p 3000:3000 --env-file .env ibanforge

Railway

Push to main — Railway auto-deploys via Dockerfile.

Environment Variables

Variable

Required

Description

PORT

No

Server port (default: 3000)

WALLET_ADDRESS

Yes (prod)

x402 USDC wallet address

FACILITATOR_URL

Yes (prod)

x402 facilitator endpoint

Data Sources

  • 121k+ BIC/SWIFT entries from public sources, refreshed monthly. Exact counts drift at every refresh — the live numbers are served at /llms.txt and /health. Breakdown as of the 2026-07 refresh (121,610 total):

  • LEI enrichment for the GLEIF rows: GLEIF API

  • 1,100+ Swiss BC-Nummern / IIDs (1,165 as of 2026-07): Official SIX BankMaster CSV

  • EMI / vIBAN classification: Curated set of 85+ known issuer BIC8 prefixes (Wise, Revolut, N26, Mercury, Modulr, etc.)

  • VoP participants: EBA RT1 / SCT Inst directories

  • Country names: Node.js Intl.DisplayNames API

Resources for AI agents

License

MIT — see LICENSE.

This project includes third-party components licensed under the Apache License 2.0 (notably @coinbase/x402 and related x402 packages). See NOTICE for full attributions and required Apache 2.0 notices.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
12dResponse time
4dRelease cycle
6Releases (12mo)
Commit activity
Issues opened vs closed

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    The Stripe Model Context Protocol server allows you to integrate with Stripe APIs through function calling. This protocol supports various tools to interact with different Stripe services.
    Last updated
    17,494
    1,715
  • A
    license
    A
    quality
    B
    maintenance
    Verified validation of structured identifiers — IBAN, payment cards, ISBN-13 and VIN — for AI agents. Runs the real checksum algorithms (mod-97, Luhn, mod-10, ISO 3779) instead of letting the model guess, and returns structured results with clear errors.
    Last updated
    4
    35
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    The deterministic fact-verification layer for AI agents. Validates the structured facts an agent emits — IBANs, payment cards, VAT and national tax IDs, crypto and bank addresses, domains, emails, phone numbers, securities and academic identifiers, plus dates, currencies and holidays — against checksums and curated authoritative data, not guesses.
    Last updated
    56
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

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

  • OpenIBAN MCP — validate an IBAN's checksum + bank code and resolve the

  • European business verification for AI agents: registry, VAT, sanctions, IBAN. Pay-per-call x402.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cammac-creator/ibanforge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server