ibangen-mcp
This MCP server provides IBAN and US bank-account test-data tools for validation, generation, and registry lookups, with some tools free and others requiring an API key/plan.
Validate up to 10 IBANs per call for country format, length, and MOD-97 checksum; paid keys add bank, BIC, and SEPA Instant / VoP reachability.
Generate synthetic, checksum-valid test IBANs, optionally with a reproducible seed; bank targeting requires a paid key.
Look up banks by BIC or domestic identifier with source-backed registry records, requiring a bank-intelligence plan.
Generate 1–10 synthetic US routing/account test rows with a free API key and optional seed.
Validate 1–10 US routing numbers through the metered registry API, requiring explicit approval of up to one credit per distinct number.
Look up a 9-digit US routing number with entitlement gates and explicit approval of one API credit.
All generated data is test-only; valid IBANs or routing references do not prove account existence or payment eligibility, and metered calls should not be automatically retried.
Adds SEPA Instant and Verification of Payee reachability checks to IBAN validation on paid plans.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ibangen-mcpis DE89370400440532013000 a valid IBAN?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ibangen-mcp
Official MCP server for IBANgen, the IBAN generator and validator for payment testing.
MCP server that gives AI agents IBANgen tools for IBAN and US bank account test data.
Tool | Key needed | What it does |
| No (10 IBANs per call, small daily allowance per IP) | Country format, length and MOD-97 checksum. Paid keys add bank, BIC and SEPA Instant / VoP reachability. |
| No for country-level IBANs (10 a day per IP); a key for more and for bank targeting | Synthetic, checksum-valid test IBANs; optional |
| Yes (bank-intelligence plan) | BIC or domestic identifier to registry records with sources. |
| Yes (free key is sufficient) | 1–10 US routing/account test rows; optional reproducible seed; no paid reveal or targeting. |
| Yes (qualifying registry plan) | 1–10 routing numbers through the existing metered registry API; requires explicit approval of up to one API credit per distinct number. |
| Yes (existing API entitlement gates) | Source-backed routing lookup; requires explicit approval of one API credit. |
For assistants without MCP, the same product map is published as plain text at https://ibangen.com/llms.txt and https://ibangen.com/llms-full.txt.
Generated IBANs are test data only. A valid IBAN does not prove that an account exists. US account numbers are synthetic; routing references do not establish live ACH, Fedwire or account eligibility. The metered US tools do not replace the free web preview and do not bypass bank metadata gates. They never automatically retry a transport failure, because a credit may already have been consumed.
Remote server (nothing to install)
Add https://ibangen.com/api/mcp as a custom connector in ChatGPT, Claude, Cursor or VS Code
(Streamable HTTP, no key needed to start; send Authorization: Bearer <API key> for paid-plan limits).
It offers validate_ibans, generate_test_ibans, bank_test_ibans (free sample IBANs, BIC and bank
code of one bank), iban_format and calculate_iban.
claude mcp add --transport http ibangen https://ibangen.com/api/mcpRelated MCP server: veridigit
Install the local server
pip install ibangen-mcpClaude Desktop / Claude Code
{
"mcpServers": {
"ibangen": {
"command": "ibangen-mcp",
"env": { "IBANGEN_API_KEY": "optional_for_validation_and_10_ibans_a_day" }
}
}
}Cursor uses the same block in .cursor/mcp.json. Get a free key (100 API calls a month) at https://ibangen.com/account?focus=api.
The same API is also sold on RapidAPI (IBAN plus US bank account and routing test data).
IBANGEN_API_BASE_URL overrides the default https://ibangen.com/api/v1.
Available Tools
6 toolsgenerate_test_ibansAInspect
Generate synthetic, checksum-valid test IBANs for QA and development.
country is a country name such as "Germany" or "UK". seed makes the output
repeatable. Without IBANGEN_API_KEY up to 10 country-level IBANs a day per IP
(bank fields hidden); a free key gives 100 API calls a month. bank targets one
bank and needs a paid key. Output is test data only and must never be used for payments.
| Name | Required | Description | Default |
|---|---|---|---|
| bank | No | ||
| seed | No | ||
| country | Yes | ||
| quantity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses tiered rate limits (10/day per IP unauthenticated vs 100 calls/month with a key), that bank fields are hidden without a key, and that output is synthetic only. These are non-obvious operator constraints an agent cannot infer elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence, then parameter notes, then limits and a safety warning — logical ordering with little waste. The line-broken layout is slightly fragmented but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format needn't be explained, and auth/quota behavior is covered. The only missing piece is the semantics of the `quantity` parameter, minor but relevant to calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate; it explains `country` (accepts names like "Germany"/"UK"), `seed` (repeatable output) and `bank` (needs a paid key). `quantity` is left unexplained, which is the one real gap in a 4-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate synthetic, checksum-valid test IBANs') plus the intended domain (QA and development). This clearly separates it from validate_ibans and generate_us_test_accounts without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to use it (QA/dev test data, never for payments) and when a paid key is required for `bank`. It doesn't explicitly name the sibling alternatives (e.g. validate_ibans) or state when not to use it, keeping it just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_us_test_accountsAInspect
Generate 1–10 free US routing/account test rows using an API key.
Accounts are synthetic; routing references do not establish live payment eligibility. No bank reveal, paid targeting or profile generation is requested. A seed makes results reproducible. Never use these values for payments.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| quantity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it states results are synthetic, do not establish live payment eligibility, do not involve bank reveal/paid targeting/profile generation, and that a seed makes results reproducible. It stops short of describing persistence, rate limits, or exact auth/error behavior, so it is strong but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core purpose and stays compact, with each sentence adding safety or parameter context. There is slight redundancy between the synthetic/live-eligibility caveat and the final payment warning, but it remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter generator with no output schema and no annotations, the description covers purpose, both parameters, test-data scope, and key safety limitations. It could say more about the returned row structure, but it is largely complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: 'quantity' is bounded to 1–10 and 'seed' is explained as making results reproducible. It does not document defaults or accepted seed type, but both parameters receive meaningful semantic context beyond their bare names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Generate) and a precise resource (US routing/account test rows), with scope limits (1–10, free, synthetic). This clearly distinguishes the tool from sibling validation/lookup tools and from generate_test_ibans by naming US routing/account rows rather than IBANs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The test-only context and the explicit warning 'Never use these values for payments' give clear when-to-use and when-not-to-use guidance. It does not explicitly name alternatives such as lookup_us_routing_number or validate_us_routing_numbers, so it falls short of full alternative routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_bankBInspect
Resolve a BIC or domestic bank identifier to registry records with sources.
Requires IBANGEN_API_KEY on a plan that includes bank intelligence.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| identifier_type | No | bic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses an auth/plan requirement and that results carry sources, but says nothing about rate limits, error behavior when the identifier is unknown, or whether the lookup is read-only (implied but unstated). Partial coverage for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded and the prerequisite second. Slightly under-specified rather than verbose, and the stray blank line adds no cost but no value either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read lookup with no output schema and no annotations, the description covers the purpose and the API-key prerequisite adequately, but leaves the parameter contract and error/lookup-miss semantics unaddressed. Adequate at best, with visible gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters, so the schema offers no help. The description partially compensates by revealing that the input can be a BIC or a domestic bank identifier, which hints at what the opaque 'value' and default 'bic' identifier_type accept, but it never names the parameter or enumerates the allowed identifier types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Resolve a BIC or domestic bank identifier to registry records with sources.' That is materially more informative than the bare name and clearly differs in domain from the sibling tools (validate_ibans, generate_test_ibans), though it never names or contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precondition (IBANGEN_API_KEY on a plan with bank intelligence) but gives no guidance on when to reach for this tool versus validate_ibans or generate_test_ibans. A precondition is not usage guidance; the agent is left to infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_us_routing_numberAInspect
Look up a 9-digit US routing number with the existing API entitlement gates.
Ask the user to approve one API credit before confirm_api_credit=True. Preserve leading zeros. Registry evidence does not prove account existence or current ACH/Fedwire eligibility. Do not automatically retry a failed metered call.
| Name | Required | Description | Default |
|---|---|---|---|
| routing_number | Yes | ||
| confirm_api_credit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and largely meets it: it discloses that the call is metered against API credits, that a failed call must not be auto-retried, and that results are registry evidence which does not prove account existence or current ACH/Fedwire eligibility. It omits error shapes and what a False confirm_api_credit actually does, but the critical cost and reliability traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core action and followed by cost, formatting, and reliability constraints; there is essentially no filler. The telegraphic phrasing of the caveat sentence is slightly clipped but still parses cleanly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Operational constraints are well covered, but with no output schema and no annotations the description never says what a successful lookup returns (bank name, address, Fedwire status?), which matters for a tool whose siblings include lookup_bank. An agent knows the cost and the caveats but not the shape of the payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must supply parameter meaning, and it does: routing_number is constrained to 9 digits with a leading-zero preservation warning, and confirm_api_credit is framed as a credit-approval gate the user must authorize first. Neither parameter's behavior is restated from the schema because the schema documents nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (look up a 9-digit US routing number), from which an agent can infer it returns registry data for a routing number. It does not differentiate itself from the close siblings validate_us_routing_numbers or lookup_bank, so an agent must guess which of the three to call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete pre-call workflow (obtain user approval for one API credit before setting confirm_api_credit=True) and a post-failure rule (do not automatically retry a metered call). It stops short of naming when to prefer validate_us_routing_numbers or lookup_bank instead, so routing between near-identical siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ibansAInspect
Validate IBANs: country format, length and MOD-97 checksum.
Works without an API key for up to 10 IBANs per call (small daily allowance per IP). With IBANGEN_API_KEY set, paid plans also return the bank, BIC and SEPA Instant / Verification of Payee reachability. A valid result does not prove that an account exists.
| Name | Required | Description | Default |
|---|---|---|---|
| ibans | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses auth requirements (key optional), rate limits (10 per call, daily per-IP allowance), the difference in returned data between free and paid tiers, and the critical caveat that a valid result does not prove an account exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core purpose, then limits, then tier differences, then the honest caveat. Every sentence adds distinct information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return structure need not be restated; the description still usefully previews what paid plans return. Tiering, limits, and the account-existence caveat cover everything an agent needs to invoke and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (ibans array) with 0% schema coverage, so the schema adds nothing. The description implies batching of multiple IBAN strings and adds a meaningful constraint (max 10 per call), but does not describe the expected string format per element.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Validate) and resource (IBANs) and enumerates exactly what is checked: country format, length, MOD-97 checksum. This cleanly separates it from the sibling generate_test_ibans (creates rather than checks) without needing to name it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating conditions: works without an API key up to 10 IBANs per call, and setting IBANGEN_API_KEY unlocks bank/BIC/reachability data. It does not explicitly say when to prefer this over lookup_bank, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_us_routing_numbersAInspect
Check 1–10 US routing numbers against the existing metered registry API.
Requires a qualifying API key/plan. Ask the user to approve spending up to one API credit per distinct number before setting confirm_api_credits=True. Returns source observations, not account existence or proof of ACH eligibility. This is not the free web preview. Do not automatically retry a failed call.
| Name | Required | Description | Default |
|---|---|---|---|
| routing_numbers | Yes | ||
| confirm_api_credits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does it well: metered cost of up to one credit per distinct number, a required user-approval gate, distinct-vs-total number counting, and the critical caveat that results are source observations rather than proof of account existence or ACH eligibility. It also flags a retry hazard on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then cost, then caveats in descending order of importance. Multiple short lines, each carrying a distinct constraint; the only borderline line is the 'not the free web preview' note, which earns its place as disambiguation but would be stronger if it named the sibling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description must cover safety, cost, and result interpretation — it covers all three, including what the response is and is not evidence for. An agent has enough to decide whether to call, what to confirm first, and how to report results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and largely does: it defines the 1–10 cardinality of routing_numbers, the per-distinct-number credit cost, and the exact gating semantics of confirm_api_credits=True. It does not specify the string format (9 digits) or behavior when the flag is false.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with batch bounds: 'Check 1–10 US routing numbers against the existing metered registry API.' It implicitly separates itself from the free-preview sibling ('This is not the free web preview') but never names the sibling it is not, so an agent must infer the routing to lookup_us_routing_number.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real conditions: requires a qualifying API key/plan, get user approval for credit spend before setting confirm_api_credits=True, and do not auto-retry a failed call. It stops short of explicitly naming the free alternative or stating when a plain lookup is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.2- Added
generate_us_test_accounts - Added
lookup_us_routing_number - Added
validate_us_routing_numbers
3 tool updates
v0.1.1- First observed
generate_test_ibans - First observed
lookup_bank - First observed
validate_ibans
TDQS
Scored across 6 tools
Most tools target distinct resources, but lookup_us_routing_number and validate_us_routing_numbers overlap heavily—both check US routing numbers against the same registry, differing mainly in singular vs. batch input and naming. lookup_bank and lookup_us_routing_number are also both registry lookups that an agent could plausibly confuse when choosing a tool.
All tools follow a verb_noun pattern (validate_*, lookup_*, generate_*), which is predictable. However, qualifier ordering is inconsistent (generate_test_ibans vs. generate_us_test_accounts) and singular/plural forms vary across the related US routing tools.
Six tools is well-scoped for IBAN validation, test data generation, US routing lookups, and bank intelligence. Each tool has a distinct role and the set is neither thin nor bloated.
The surface covers validation, generation, and lookup for the core IBAN and US routing domains, including test data workflows. Minor gaps exist, such as no dedicated BIC validation or country/list support tool, but agents can work around these via existing endpoints.
Maintenance
Related MCP Connectors
IBAN validation, extraction, format specs and BIC/SWIFT lookup tools for AI assistants.
Cross-border payment & banking intelligence for AI agents: SWIFT/BIC, IBAN, sanctions, FX, tracking.
Utility data for AI agents: IBAN, EU holidays, VAT rates, time zones, ECB FX. Pay per call.
Validate IBANs in 111 countries; bank directory checks for DE, AT, BE, FR, LU, NL, PT and ES.
Related MCP Servers
- AlicenseAqualityBmaintenanceIBAN validation across 89 countries, BIC/SWIFT and Swiss clearing lookup, batch validation, payment-reference, postal-address and Swiss QR-bill checks for AI agents. Connect via MCP or the REST API. Includes free quotas, paid credits and a Pro subscription. SEPA and country-risk indicators support payment-data checks; they do not confirm account ownership or replace beneficiary AML/KYC screening.13250 npm3MIT
- AlicenseAqualityDmaintenanceVerified 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.444 npmApache 2.0
- AlicenseAqualityAmaintenanceIBAN validation, extraction, format specs, and BIC/SWIFT lookup tools for AI assistants, backed by ibanchecker.cash. Covers 90 countries; no IBAN data is stored.575 npmMIT
- FlicenseNot gradedqualityBmaintenanceValidates International Bank Account Numbers (IBANs) through a Cloudflare-hosted MCP server, enabling agents to check IBAN validity via natural language.-