Serveur MCP

ISO 20022 Generator

com.iso20022generator/mcp
Outils développeur Paiements et fintech Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Generates and validates SEPA ISO 20022 payment XML and SWIFT MT103 messages, and lists supported versions.

generate_mt103
Generate a SWIFT MT103 (Single Customer Credit Transfer) text message. Included in the business subscription only (monthly quota). Charges use the SWIFT :71A: codes SHA/BEN/OUR verbatim.
Schéma d’entrée
{'type': 'object', 'required': ['sender_ref', 'value_date', 'currency', 'amount', 'ordering_name', 'ordering_account', 'beneficiary_name', 'beneficiary_account', 'charges'], 'properties': {'amount': {'type': 'number', 'exclusiveMinimum': 0}, 'charges': {'enum': ['SHA', 'BEN', 'OUR'], 'type': 'string', 'description': 'Field :71A: SWIFT charge codes — passed through verbatim, never converted to ISO ChargeBearer codes'}, 'currency': {'type': 'string'}, 'remittance': {'type': 'string', 'maxLength': 140, 'minLength': 1, 'description': 'Field :70: remittance information (max 4x35)'}, 'sender_ref': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Field :20: transaction reference (max 16 chars)'}, 'value_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'ordering_bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters). When provided, field :50A: (account + BIC) is emitted and ordering_name/ordering_address are NOT included in the message'}, 'ordering_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Ordering customer name (max 35 chars). Used only when ordering_bic is absent (field :50K:)'}, 'beneficiary_bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'beneficiary_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Max 35 characters; accents transliterated, SWIFT x-charset enforced'}, 'intermediary_bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'ordering_account': {'type': 'string', 'description': 'IBAN or account number — spaces and a leading "/" tolerated'}, 'ordering_address': {'type': 'string', 'minLength': 1, 'description': 'Up to 3 lines of 35 chars separated by \\n. Used only when ordering_bic is absent (field :50K:)'}, 'beneficiary_account': {'type': 'string', 'description': 'IBAN or account number — spaces and a leading "/" tolerated'}, 'beneficiary_address': {'type': 'string', 'minLength': 1, 'description': 'Up to 3 lines of 35 characters, separated by \\n'}}, 'additionalProperties': False}
generate_sepa_xml
Generate SEPA XML (pain.001 or pain.008) with XSD + business validation. Included in the multi and business subscriptions (monthly quota); demo callers are limited to 2 transactions per file. Party addresses are optional and structured only: street_name, building_number, post_code, town_name, country — town_name and country are required as soon as any address field is given (SEPA banks refuse unstructured addresses from November 2026). A party accepts no other key: address_lines, a nested address object, postal_code, city and the like are refused rather than ignored. In the 2009 versions (pain.001 001.03, pain.008 001.02) a structured address passes the ISO XSD but not the German DK profile GBIC_3, which admits only Ctry and AdrLine: for a German bank, omit the address there or use the format's 2019 version (see list_supported_versions).
Schéma d’entrée
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['format', 'version', 'initiating_party', 'debtor', 'requested_execution_date', 'transactions'], 'properties': {'debtor': {'type': 'object', 'required': ['name', 'iban'], 'properties': {'bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'iban': {'type': 'string', 'minLength': 1, 'description': 'IBAN — spaces tolerated, checksum enforced'}, 'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'ISO 3166 two-letter country code — REQUIRED as soon as any address field is given'}, 'post_code': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Post code (max 16 characters) — optional part of the address'}, 'town_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Town name (max 35 characters) — REQUIRED as soon as any address field is given'}, 'street_name': {'type': 'string', 'maxLength': 70, 'minLength': 1, 'description': 'Street name (max 70 characters) — optional part of the address'}, 'building_number': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Building number (max 16 characters) — optional part of the address'}}, 'additionalProperties': False}, 'format': {'type': 'string', 'const': 'pain.001'}, 'version': {'enum': ['001.03', '001.09'], 'type': 'string'}, 'currency': {'enum': ['EUR'], 'type': 'string'}, 'transactions': {'type': 'array', 'items': {'type': 'object', 'required': ['creditor', 'amount'], 'properties': {'amount': {'type': 'number', 'exclusiveMinimum': 0}, 'creditor': {'type': 'object', 'required': ['name', 'iban'], 'properties': {'bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'iban': {'type': 'string', 'minLength': 1, 'description': 'IBAN — spaces tolerated, checksum enforced'}, 'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'ISO 3166 two-letter country code — REQUIRED as soon as any address field is given'}, 'post_code': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Post code (max 16 characters) — optional part of the address'}, 'town_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Town name (max 35 characters) — REQUIRED as soon as any address field is given'}, 'street_name': {'type': 'string', 'maxLength': 70, 'minLength': 1, 'description': 'Street name (max 70 characters) — optional part of the address'}, 'building_number': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Building number (max 16 characters) — optional part of the address'}}, 'additionalProperties': False}, 'end_to_end_id': {'type': 'string', 'maxLength': 35, 'minLength': 1}, 'category_purpose_code': {'type': 'string'}, 'remittance_information': {'type': 'string', 'maxLength': 140, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}, 'batch_booking': {'type': 'boolean'}, 'initiating_party': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'org_id': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 35}, 'scheme_name': {'type': 'string', 'maxLength': 35}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'requested_execution_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['format', 'version', 'initiating_party', 'creditor', 'creditor_scheme_id', 'requested_collection_date', 'transactions'], 'properties': {'format': {'type': 'string', 'const': 'pain.008'}, 'version': {'enum': ['001.02', '001.08'], 'type': 'string'}, 'creditor': {'type': 'object', 'required': ['name', 'iban'], 'properties': {'bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'iban': {'type': 'string', 'minLength': 1, 'description': 'IBAN — spaces tolerated, checksum enforced'}, 'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'ISO 3166 two-letter country code — REQUIRED as soon as any address field is given'}, 'post_code': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Post code (max 16 characters) — optional part of the address'}, 'town_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Town name (max 35 characters) — REQUIRED as soon as any address field is given'}, 'street_name': {'type': 'string', 'maxLength': 70, 'minLength': 1, 'description': 'Street name (max 70 characters) — optional part of the address'}, 'building_number': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Building number (max 16 characters) — optional part of the address'}}, 'additionalProperties': False}, 'currency': {'enum': ['EUR'], 'type': 'string'}, 'transactions': {'type': 'array', 'items': {'type': 'object', 'required': ['debtor', 'amount', 'sequence_type', 'mandate'], 'properties': {'amount': {'type': 'number', 'exclusiveMinimum': 0}, 'debtor': {'type': 'object', 'required': ['name', 'iban'], 'properties': {'bic': {'type': 'string', 'minLength': 1, 'description': 'BIC/SWIFT code (8 or 11 characters, spaces tolerated)'}, 'iban': {'type': 'string', 'minLength': 1, 'description': 'IBAN — spaces tolerated, checksum enforced'}, 'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'description': 'ISO 3166 two-letter country code — REQUIRED as soon as any address field is given'}, 'post_code': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Post code (max 16 characters) — optional part of the address'}, 'town_name': {'type': 'string', 'maxLength': 35, 'minLength': 1, 'description': 'Town name (max 35 characters) — REQUIRED as soon as any address field is given'}, 'street_name': {'type': 'string', 'maxLength': 70, 'minLength': 1, 'description': 'Street name (max 70 characters) — optional part of the address'}, 'building_number': {'type': 'string', 'maxLength': 16, 'minLength': 1, 'description': 'Building number (max 16 characters) — optional part of the address'}}, 'additionalProperties': False}, 'mandate': {'type': 'object', 'required': ['id', 'signature_date'], 'properties': {'id': {'type': 'string', 'maxLength': 35, 'minLength': 1}, 'signature_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}, 'end_to_end_id': {'type': 'string', 'maxLength': 35, 'minLength': 1}, 'sequence_type': {'enum': ['FRST', 'RCUR', 'OOFF', 'FNAL'], 'type': 'string'}, 'remittance_information': {'type': 'string', 'maxLength': 140, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}, 'batch_booking': {'type': 'boolean'}, 'initiating_party': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 70, 'minLength': 1}, 'org_id': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 35}, 'scheme_name': {'type': 'string', 'maxLength': 35}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'creditor_scheme_id': {'type': 'string', 'description': 'SEPA creditor identifier (ICS / Identifiant Créancier SEPA) — mandatory for direct debits'}, 'requested_collection_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}]}
list_supported_versions
List supported ISO 20022 formats and versions.
Schéma d’entrée
{'type': 'object', 'properties': {}}
validate_sepa_xml
Validate a SEPA XML payload against XSD and business rules.
Schéma d’entrée
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['xml_base64', 'format', 'version'], 'properties': {'format': {'type': 'string', 'const': 'pain.001'}, 'version': {'enum': ['001.03', '001.09'], 'type': 'string'}, 'xml_base64': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['xml_base64', 'format', 'version'], 'properties': {'format': {'type': 'string', 'const': 'pain.008'}, 'version': {'enum': ['001.02', '001.08'], 'type': 'string'}, 'xml_base64': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}
Ajouté
list_supported_versions
29 September 2026 02:46
Ajouté
generate_mt103
29 September 2026 02:46
Ajouté
validate_sepa_xml
29 September 2026 02:46
Ajouté
generate_sepa_xml
29 September 2026 02:46

PayRam Helper MCP Server

io.github.PayRam/payram-helper-mcp

Helps integrate and operate self-hosted PayRam crypto payment and payout systems with readiness checks, payment links, status flo…

Slid Phi Labs

io.github.ceedot-rock/slid-phi-labs

Provides searchable catalogs and documentation for agent services, issues agent API keys, exposes x402-purchasable SKUs, and offe…

AgentPay — Pay-per-call AI Microservices

io.github.ronaldanton/agentpay

Exposes pay-per-call microservices for research, translation, code review, security checks, web access, financial data, and other…

SALT19 Agent Utility Grid

io.github.GabrielAllit1/salt19-agent-utility-grid

Provides paid agent decision gates, code and dependency risk checks, repository intelligence, blockchain facts, payment-policy ch…

SparkPay

dev.sparkpay/sparkpay

Manages Stripe-based billing for indie applications, including plans, pricing, coupons, subscriptions, customers, revenue reporti…

ROKI Connect

la.roki/connect

Provides documentation, schemas, validation, examples, sandbox execution, and troubleshooting tools for integrating ROKI Connect …

trading-mcp

com.ai-rook.agents/trading-mcp

Catalogs and quotes paid trading, AI, blockchain, developer, and escrow endpoints, and provides previews, escrow inspection, atte…

htmlweb.ru — справочники и проверки для AI

ru.htmlweb/mcp

Provides access to HTMLWeb's Russian reference and checking APIs through a generic catalog and call interface, along with agent r…