Skip to main content
Glama
techybiky

swift-iso20022-mcp

by techybiky

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: validation of MT messages, MX messages, IBANs, and BICs, plus three specific conversion paths. There is no overlap between tools—even the two validation tools clearly separate MT and MX formats, and each conversion tool names its exact source and destination.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: validate_* for validations and convert_*_to_* for conversions. The naming is entirely snake_case and predictable, making it easy to infer a tool's purpose from its name.

    Tool Count5/5

    Seven tools is an appropriate size for a specialized SWIFT MT/MX message-processing server. Each tool covers a distinct validation or conversion need without redundancy, and the count feels neither thin nor overly heavy.

    Completeness3/5

    The validation coverage is complete for both MT and MX messages, and conversion paths exist for MT103->pacs.008 and MT202->pacs.009. However, the reverse conversion for MT202 (pacs.009->MT202) is missing, while the MT103 reverse path is included—creating an asymmetry that could dead-end agents.

  • Average 4.3/5 across 7 of 7 tools scored. Lowest: 3.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 4 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden. It states the tool is a validation/read operation ('Checks whether') which is a non-destructive check. However, it doesn't disclose what the return value looks like (boolean? result object?), error behaviors for malformed input, or any edge-case behavior. It's adequate but not rich.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    One efficient sentence communicates the full purpose: what is checked (structural validity) and the specific algorithm (ISO 7064 mod-97 checksum). Zero wasted words, no redundancy with the schema. The example in the schema complements this nicely.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has minimal complexity (1 param) and 100% schema coverage, so the description is reasonably complete. However, with no annotations and no output schema, the description doesn't explain return semantics — whether it returns a boolean, a status object with error messages, or whether it throws on invalid input. For a validation tool, return-format expectations matter significantly to an agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100% — the schema already documents the single iban parameter with a concrete example ('GB29NWBK60161331926819'). The description adds that the IBAN must be validated for structural validity and mod-97 checksum, which reinforces the parameter's semantic usage. At 100% schema coverage, baseline 3 is appropriate and the description meets it.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb+resource ('Checks whether a string is a structurally valid IBAN') and clearly specifies what the tool verifies: structural validity AND the ISO 7064 mod-97 checksum. It distinguishes from siblings, which all deal with MT/PACS message conversions/formats, whereas this handles IBAN validation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use it (to validate an IBAN), which is reasonably clear given the domain context. However, it doesn't explicitly state when NOT to use it or name alternatives, and there's no guidance on what the function returns beyond stating it performs a check. No exclusions or alternative tool references are provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that the tool 'returns notes on anything not confidently mapped,' which is valuable transparency about output behavior. It clarifies the semantics of what MT202 maps (institution BICs only, no Dbtr/Cdtr) which helps the agent understand edge cases. It doesn't mention error behavior or input validation requirements, but the core mapping behavior and its limitations (unmappable fields) 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.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two well-structured sentences that cover purpose, field mapping, the MT103 contrast, and the 'notes' return behavior. It's front-loaded with the primary action and resource. Slightly long but each component earns its place; no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 1 param, 100% schema coverage, and no output schema, the description provides strong context: what it maps, which fields, how it differs from MT103, and what it returns with unmappable data. For a single-input, mapping-type tool, this is reasonably complete. It could mention the output format (JSON structure of returned notes) but the essential context is present.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% (1 param fully described: 'The raw MT202 message body'), so the schema does the heavy lifting. The description's mention of 'Parses a SWIFT MT202' implies the input is a raw message body matching the schema's description. The description adds little beyond the schema for the single parameter, so baseline 3 is appropriate.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('parses', 'maps') and specific resources (MT202 message → pacs.009 fields), and explicitly lists the target fields (MsgId, EndToEndId, IntrBkSttlmDt, etc.). It also distinguishes itself from sibling tools by contrasting MT202 vs MT103 and noting the absence of customer-level Dbtr/Cdtr in MT202. This is a specific, well-differentiated purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly explains when this tool is appropriate (bank-to-bank transfers where only institution BICs exist) and explicitly contrasts with MT103, implying the alternative convert_mt103_to_pacs008 tool is for customer-level data. It doesn't formally state 'use X instead when Y', but the behavioral contrast between MT103 and MT202 gives clear context. A dedicated when-not-to-use statement would push to 5.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full transparency burden. It discloses that the output is a 'simplified field map plus notes on anything that couldn't be confidently mapped', setting honest expectations about output fidelity and partial mapping. It also discloses the scope limitation (not a full XML generator). This is solid behavioral disclosure, though it doesn't cover edge cases like malformed input handling or base64 requirements.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single well-constructed sentence that front-loads the core action, enumerates mapped fields, discloses limitations, and notes intended use—all without redundancy. Slightly dense but efficient; no wasted words. Could arguably be split for readability, but it earns a 4 for packing value without bloat.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given it has only 1 parameter with 100% schema coverage, no output schema, and no annotations, the description provides a good overview: input type, mapped fields, output shape ('simplified field map plus notes'), and scope boundaries. It's reasonably complete for a low-complexity tool. Minor gaps include no mention of error behavior on malformed input or character encoding considerations, but overall adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with only one 'raw_message' parameter described well ('The raw MT103 message body'). Although the description repeats that it parses an MT103, it adds context by implicitly framing the parameter as the raw message needing parsing. With a single self-explanatory parameter at full coverage, there's little additional semantic burden on the description to carry. A 4 is appropriate since the description contextually supports what the parameter represents.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Parses'), resource ('SWIFT MT103 message'), and result ('maps its fields to the equivalent ISO 20022 pacs.008 fields'). It enumerates the specific fields mapped (MsgId, IntrBkSttlmDt, IntrBkSttlmAmt, Ccy, ChrgBr, Dbtr/Cdtr name and account), distinguishing it from sibling tools like convert_mt202_to_pacs009 and convert_pacs008_to_mt103 (reverse direction).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly states what the tool does NOT do ('not a full XML generator') and its intended use case ('intended for agents that need a quick MT-to-MX field bridge'), which helps an agent decide when this is appropriate vs alternatives. However, it doesn't explicitly name sibling alternatives or state when-not-to-use conditions (e.g., when full XML output is needed).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the burden of disclosure. The description enumerates rule categories (mandatory fields, format rules, IBAN checksums) which surfaces behavioral scope. However, it does not disclose what happens on validation failure (return format, error granularity), whether it only checks or also modifies anything, or whether there are rate/input-size limits. Given zero annotations, this leaves notable gaps but the rule catalog is genuinely useful.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, zero wasted words. Front-loads the purpose and scope immediately, then gives concrete usage context. The sentence about rules is dense but every clause contributes information. No redundancy with larger framing.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has moderate complexity (two message types, multiple validation rule categories, 2 simple parameters, no output schema). The description covers purpose, scope, what's validated, and when to use it. It doesn't describe the return/result format, but without an output schema the agent may need to know what 'validated' returns. Still, given the 2-param surface and clear rule enumeration, it's adequately complete for selection purposes.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with helpful descriptions for both parameters (message_type with enum, raw_message with example format ':20:REF123\n:23B:CRED\n:32A:...'). The description adds that message_type supports only MT103/MT202 (consistent with schema enum) and clarifies raw_message is a 'body' with field tags, reinforcing the schema. With full schema coverage, this is solid; the description complements rather than repeats.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states specific verbs ('Validates') and resources (SWIFT MT103/MT202 message bodies), enumerating exactly what is validated: mandatory-field rules, field-format rules for dates/currency/BIC/charges code, and IBAN checksums. It distinguishes from sibling validation tool 'validate_iban' by being the message-level validator rather than the single-IBAN validator.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides explicit usage guidance: 'Use this before submitting or forwarding an MT message, or when an agent needs to check a message it generated or received is well-formed.' This clearly establishes when to invoke the tool. While it doesn't name an explicit alternative for when NOT to use it, the sibling list and the specific scope (MT103/MT202 only) implicitly communicate boundaries, and the example check scenario is concrete and actionable.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the full burden. It discloses the specific validation checks, the limitation of not being an XSD validator, and the CBPR+ 2026 rule. However, it does not describe the return format (e.g., list of issues vs pass/fail) or any other operational behavior, leaving a minor transparency gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with the core purpose, then a concise list of checks, and a valuable caveat. No filler or redundancy; every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description thoroughly covers the tool's scope, exceptions, and practical usage context, which is strong for a 2-parameter validator. However, since there is no output schema, it would be more complete if it hinted at the return type (e.g., list of errors, boolean). This minor omission prevents a perfect score.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%—both message_type and xml have descriptive schema entries. The description adds no new parameter-level details beyond restating the message types (pacs.008, pacs.009) already present in the enum. It meets the baseline for full schema coverage but does not elevate it.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool validates ISO 20022 MX messages (pacs.008 or pacs.009) and lists specific structural issues checked, distinguishing it from sibling MT validation tools. It uses a specific verb ('validates') and resource ('ISO 20022 MX message'), and the scope is unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says 'Not a full XSD validator — use for a fast pre-check before schema validation', providing both a when-to-use and a when-not-to-use. The focus on MX vs MT and the listed checks give clear context for when this tool is appropriate relative to siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the full burden of behavioral disclosure — and it delivers. It explicitly states the tool is 'deliberately conservative,' only maps fields it can extract 'with confidence,' and 'flags the rest in the notes array rather than guessing.' This is excellent disclosure of a safety-critical behavioral trait (no hallucinated mappings) that strongly aids agent decision-making.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a compact three-sentence block that efficiently covers purpose, use case, and behavioral traits. There is minimal waste. A small deduction because field tags enumeration and the behavior notes could arguably be trimmed, but overall this is tight and front-loaded with the core purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter conversion tool with no output schema, the description is reasonably complete. It covers what input is accepted, the direction of conversion, the use case, and the conservative mapping behavior. It doesn't explicitly describe the return shape (only mentions 'notes array' indirectly), but given no output schema and one param, this is adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% (the single 'xml' parameter is fully documented as 'The raw pacs.008 message as XML text'), which sets the baseline at 3. The description adds meaningful context by clarifying the XML must be an ISO 20022 pacs.008 format message and that parsing is conservative, which helps the agent understand what input is expected. Slight bonus for this enrichment.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb (parses/maps), the resource (ISO 20022 pacs.008 XML), and the target output (SWIFT MT103 field tags). It enumerates the specific field tags being produced, which directly distinguishes it from sibling tools like convert_mt103_to_pacs008 (reverse direction) and convert_mt202_to_pacs009 (different message type).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides clear context for when to use: 'during the SWIFT MT/MX coexistence period when a downstream system still expects MT format.' This establishes the use case but doesn't explicitly name alternatives or state when NOT to use it. The sibling names imply the reverse mapping alternative, but the description doesn't explicitly reference it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description explicitly states it checks 'structural' validity, which conveys that it does not verify existence or authenticity. It also provides the exact character layout, adding behavioral detail beyond just 'validates BIC'. However, it does not mention return value format or case sensitivity, which are minor gaps given no annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence that immediately says what the tool does, followed by the structural rule. Every word earns its place, with no filler or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a one-parameter validator with no output schema, the description provides sufficient context: the purpose, the accepted format, and implicit return behavior. It is fully complete for the tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema already documents the 'bic' parameter with examples, and the description adds the full structural breakdown (4-letter bank, 2-letter country, etc.), giving semantic richness beyond the schema. With 100% schema coverage, this added detail lifts it above the baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb 'Checks whether' plus the resource 'BIC/SWIFT code' and clearly defines the valid structure (8 or 11 characters with bank/country/location/branch codes). This distinguishes it from sibling validators like validate_iban and validate_mt_message.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description clearly indicates the tool's scope (BIC validation) through the title and format explanation, giving clear context for when to use it. It does not explicitly name alternatives or exclusion criteria, but the self-contained nature of the tool makes the intended use obvious.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

swift_mcp MCP server

Copy to your README.md:

Score Badge

swift_mcp MCP server

Copy to your README.md:

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/techybiky/swift_mcp'

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