1. Conduid
  2. Security
  3. io.github.cammac-creator/ibanforge
MCP server · Security

io.github.cammac-creator/ibanforge

IBAN validation, BIC/SWIFT lookup, SEPA compliance and risk scoring. 121K+ BICs.

Unclaimed security
37Low

Scored 6 months ago · breakdown

About io.github.cammac-creator/ibanforge

io.github.cammac-creator/ibanforge is an MCP server in the Security category: iBAN validation, BIC/SWIFT lookup, SEPA compliance and risk scoring. 121K+ BICs.

Install

Claude Code
claude mcp add io-github-cammac-creator-ibanforge -- npx -y ibanforge
npx
npx -y ibanforge

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (11)

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

Parameters not published.

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

Parameters not published.

check_postal_addressAn ISO 20022 address against one rail's published rules (`sps`, `hvps_plus`, `fedwire`), each finding citing its source

Parameters not published.

check_swiss_qr_billA Swiss QR-bill payload — header, QR-IBAN and reference pairing, structured (S) versus combined (K) addresses ahead of 14.11.2026

Parameters not published.

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

Parameters not published.

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

Parameters not published.

poll_api_keyCollect that key once it is approved, handed over exactly once

Parameters not published.

request_api_keyYou hit the daily limit, or need a durable key — a human approves in a browser, no e-mail

Parameters not published.

send_feedbackReport incorrect data or claim an x402 refund

Parameters not published.

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

Parameters not published.

validate_payment_referenceRF/ISO 11649, Swiss QRR, Belgian OGM/VCS or Finnish viitenumero checksum, plus the QRR ↔ QR-IBAN pairing verdict

Parameters not published.

Ask AI

✦

Ask AI about io.github.cammac-creator/ibanforge

Powered by Claude · Grounded in docs

I know everything about io.github.cammac-creator/ibanforge. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

IBANforge

API Status MCP Registry npm ibanforge-mcp PyPI ibanforge Glama MCP x402 TypeScript

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.

121,197 BIC entries (GLEIF) · 1,190 Swiss BC-Nummern (SIX) · 84 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"]
    }
  }
}

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 121,197 GLEIF entries with LEI enrichment $0.003
lookup_ch_clearing Swiss BC-Nummer / IID — the only API with this data (1,190 SIX BankMaster entries) $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.


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("CH9300762011623852957")
    print(out["country"]["code"])      # CH
    print(out["bic"]["bankName"])      # UBS Switzerland AG
    print(out["sepa"]["instant"])      # True

# 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":"CH93 0076 2011 6238 5295 7"}'

# 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=CH9300762011623852957'

# 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

  • 121,197 BIC/SWIFT entries: GLEIF BIC-LEI mapping, refreshed weekly
  • LEI enrichment: GLEIF API
  • 1,190 Swiss BC-Nummern / IIDs: 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.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.cammac-creator/ibanforge

How do I install io.github.cammac-creator/ibanforge?

Run claude mcp add io-github-cammac-creator-ibanforge -- npx -y ibanforge, then add the server to your MCP client's configuration.

Is io.github.cammac-creator/ibanforge safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.cammac-creator/ibanforge still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.