ibanforge
Server Details
IBAN validation, BIC/SWIFT lookup, Swiss BC-Nummer, EMI/vIBAN, SEPA + VoP, compliance scoring.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- cammac-creator/ibanforge
- GitHub Stars
- 0
- Server Listing
- ibanforge
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.6/5 across 5 of 5 tools scored.
Each tool has a clearly distinct purpose: batch and single validation, compliance checking, BIC lookup, and Swiss clearing resolution. No functional overlap exists.
All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., batch_validate_iban, lookup_bic). No mixing of conventions.
With 5 tools, the server is well-scoped for IBAN-related financial operations—covering validation, batch processing, compliance, BIC resolution, and Swiss clearing. Each tool earns its place.
The set covers all core operations for IBAN validation and enrichment: single and batch validation, compliance pre-flight checks, BIC lookups, and specialized Swiss clearing data. No obvious gaps.
Available Tools
5 toolsbatch_validate_ibanBatch Validate IBANsARead-onlyIdempotentInspect
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 }.
| Name | Required | Description | Default |
|---|---|---|---|
| ibans | Yes | Array of IBANs (1-100) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of IBANs processed. |
| results | Yes | One result per input IBAN, in the same order. Same shape as validate_iban. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, destructiveHint. Description adds pricing, batch size limit (up to 100), and return shape (results, count, valid_count). No contradiction. Could mention idempotency explicitly, but annotations cover that.
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 sentences with intentional structure: first sentence states purpose and pricing, 'USE WHEN' block gives scenarios, 'RETURNS' block lists output fields. Every sentence adds value, no fluff.
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 tool with one parameter and an output schema, the description covers purpose, usage guidelines, behavioral details (pricing, limits), and return shape. Nothing essential is missing.
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 100% for the single parameter 'ibans'. Description does not add semantic details beyond the schema (array of strings, 1-100). However, it implies the parameter's use by describing the batch context. Baseline 3 is appropriate.
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 clearly states the tool's purpose: validate up to 100 IBANs in a single call. It distinguishes from the sibling validate_iban by highlighting batch capability and cost savings (60% cheaper, $0.002 vs $0.005).
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 description explicitly lists several use cases (pasted list, CSV cleaning, dedup, payout triage) and provides a rule of thumb: use when you would call validate_iban more than 2-3 times. No ambiguity about when to use vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_complianceCompliance CheckARead-onlyIdempotentInspect
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/EU/UN consolidated, FATF jurisdictions) + SEPA Instant reachability + VoP (EU 2024/886) participant. RETURNS: risk_score (0-100, 0 = safest), flags { sanctions_match, fatf_high_risk, sepa_unreachable, viban, emi }, recommended_action.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | IBAN to check |
Output Schema
| Name | Required | Description |
|---|---|---|
| bic | No | |
| iban | Yes | |
| sepa | No | |
| error | No | |
| valid | Yes | |
| issuer | No | |
| country | No | |
| cost_usdc | Yes | |
| compliance | Yes | |
| error_detail | No | |
| risk_indicators | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds key behavioral details: checks performed, risk score, flags, recommended_action, and clarifies it's not regulated AML/CFT. No contradiction.
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 is front-loaded with main purpose, uses bullet points for checks and returns, and is well-structured. Slightly verbose but still 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?
Given output schema exists, the description still lists key return fields. It covers purpose, usage, checks, and limitations, fully meeting completeness for a pre-flight compliance 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?
Schema coverage is 100% with 'IBAN to check'. The description does not add additional parameter-specific semantics beyond what the schema provides, meeting baseline for high coverage.
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 clearly states it performs a pre-flight compliance check on an IBAN before SEPA/cross-border payments. It distinguishes from sibling tools like validate_iban by focusing on compliance, sanctions, and SEPA Instant reachability.
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 description explicitly lists use cases under 'USE WHEN:' and provides exclusions and alternatives ('NOT A REGULATED AML/CFT PRODUCT', suggests Refinitiv, Acuris, ComplyAdvantage), fully guiding when to use versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_bicLookup BIC/SWIFTARead-onlyIdempotentInspect
Resolve a BIC / SWIFT code into the underlying bank: name, country, city, LEI, address. 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,399 BIC entries (38,761 LEI-enriched via GLEIF; additional rows from SWIFT directory, Bundesbank, SIX, NBP, EBA Step2 SCT), refreshed monthly.
| Name | Required | Description | Default |
|---|---|---|---|
| bic | Yes | BIC/SWIFT code (8 or 11 chars) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bic | Yes | Echo of the input, normalized to uppercase. |
| lei | No | Legal Entity Identifier (ISO 17442) if available. |
| bic8 | No | 8-char form (institution-level). |
| city | No | |
| bic11 | No | 11-char form including branch. |
| error | No | |
| found | No | |
| valid | No | Set when the BIC failed format validation. |
| lei_status | No | |
| branch_code | No | |
| branch_info | No | |
| institution | No | Bank legal name. |
| is_test_bic | No | |
| country_code | No | |
| country_name | No | |
| valid_format | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint, so safety profile is clear. The description adds value by specifying the resolved fields (name, country, city, LEI, address) and providing data source details (121,399 BIC entries, refresh monthly). No contradictions with annotations.
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 is concise and well-structured with clear sections: purpose, usage guidance, and data backing. Every sentence is informative and earns its place.
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 lookup tool with one parameter and read-only behavior, the description is complete. It explains what the tool does, when to use it, what it returns (list of fields), and the data source and freshness. The presence of an output schema further complements this.
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?
The input schema covers the single parameter 'bic' with 100% coverage. The description adds examples and reinforces the format (8 or 11 chars, alphanumeric), which provides modest additional semantics beyond the schema's own description.
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 clearly specifies the verb 'resolve' and the resource 'BIC/SWIFT code into underlying bank details.' It lists the output fields (name, country, city, LEI, address) and distinguishes the tool from siblings by explicitly noting that validate_iban handles IBAN inputs.
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 'USE WHEN' and 'DO NOT USE' sections provide explicit guidance on when to invoke this tool versus alternatives. It states the tool is for users who already have a BIC/SWIFT and need bank identification, and warns against using it for IBAN, directing users to validate_iban instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_ch_clearingSwiss Clearing LookupARead-onlyIdempotentInspect
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). THIS IS THE ONLY API THAT EXPOSES THIS DATA — alternatives (iban.com, OpenIBAN, payeer, sepa.com) do not cover it. BACKED BY: 1,190 SIX BankMaster entries (Swiss official source). RETURNS: institution_name, institution_type, sic_participant, eurosic_participant, instant_payments, qr_iid, language. Only relevant for CH and LI accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| iid | Yes | Swiss IID (1-5 digit number) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bic | No | BIC if mapped. |
| iid | No | Normalized 5-digit BC-Nummer. |
| note | No | |
| error | No | |
| found | No | |
| qr_iid | No | QR-bill enabled IID. |
| address | No | |
| message | No | |
| sic_iid | No | |
| valid_on | No | |
| cost_usdc | No | |
| institution | No | |
| redirected_from | No | |
| payment_services | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds value by specifying the data source (1,190 SIX BankMaster entries), relevance to CH/LI accounts, and the list of returned fields, without contradicting annotations.
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 is well-structured with clear sections (USE WHEN, alternatives, backed by, returns). Every sentence is informative and earns its place, with no redundancy or wordiness.
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 one-parameter tool with annotations and output schema, the description is fully complete. It covers usage context, data provenance, return fields, and geographic relevance, leaving no 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 coverage is 100%, so baseline is 3. The description adds meaning by explaining the parameter as 'BC-Nummer / IID (1 to 5 digits)' and connecting it to practical contexts like QR-IID and clearing codes, exceeding mere schema description.
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 clearly states the tool resolves a Swiss BC-Nummer/IID into an institution, listing specific use cases and distinguishing it as the only API exposing this data. It uses a specific verb and resource, making the purpose unmistakable.
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?
Explicit 'USE WHEN' conditions are provided, covering various scenarios like IBAN clearing codes, routing for Swiss transfers, and QR-bill resolution. It also explicitly names alternatives that do not cover this data, giving clear guidance on when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ibanValidate IBANARead-onlyIdempotentInspect
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 verify a bank account number, asks to detect a typo in an IBAN, asks who the bank is behind an IBAN, asks if a recipient is a real bank vs a neobank/EMI/virtual IBAN, asks if a SEPA payment will go through, 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 }, risk_indicators { issuer_type, country_risk, test_bic, sepa_reachable, vop_coverage }, and for CH/LI: clearing { iid, name, type, sic, qr_iid }.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | IBAN to validate (spaces/hyphens stripped automatically) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bic | No | Resolved BIC/SWIFT when BBAN→BIC mapping exists. |
| bban | No | |
| iban | Yes | Normalized IBAN (uppercase, no spaces). |
| sepa | No | |
| error | No | |
| valid | Yes | |
| issuer | No | |
| country | No | |
| clearing | No | Swiss clearing data when country is CH or LI. |
| cost_usdc | Yes | |
| formatted | No | IBAN with 4-char groups for display. |
| check_digits | No | |
| error_detail | No | |
| processing_ms | No | |
| risk_indicators | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, idempotent, non-destructive behavior. The description adds details about returned data (e.g., valid, country, bic, issuer, sepa, risk_indicators, CH/LI clearing) and confirms automatic stripping of spaces/hyphens (from schema). No contradictions.
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 is well-structured: a summary sentence, followed by clear USE WHEN and PREFER OVER sections, then a RETURNS list. Every sentence is informative and earns its place without being verbose.
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?
Given the complexity of IBAN validation and enrichment, the description covers all essential aspects. With an output schema available, the description still provides detailed return fields, making it highly complete.
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 100% with one parameter 'iban' having a description about stripping spaces/hyphens. The description adds no further semantic value for the parameter beyond what the schema already provides.
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 clearly states the tool's purpose: 'Verify whether a European IBAN is valid AND enrich it with bank, compliance and routing data.' It lists specific use cases and distinguishes from sibling tools by explaining what local validation cannot do.
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 description explicitly provides 'USE WHEN' scenarios and advises 'PREFER OVER LOCAL VALIDATION (mod-97 checksum)' with reasons. This gives clear guidance on when to use the tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.