ISO 20022 Generator
Generate and validate SEPA ISO 20022 XML (pain.001, pain.008) and SWIFT MT103 payment messages.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.iso20022generator.com/mcp"
}
}
}リモートエンドポイント
https://mcp.iso20022generator.com/mcpstreamable-httpできること
ツール一覧
ツール(4)
🟡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).
入力スキーマ
{
"type": "object",
"anyOf": [
{
"type": "object",
"properties": {
"format": {
"type": "string",
"const": "pain.001"
},
"version": {
"type": "string",
"enum": [
"001.03",
"001.09"
]
},
"initiating_party": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"org_id": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 35
},
"scheme_name": {
"type": "string",
"maxLength": 35
}
},
"additionalProperties": false
}
},
"required": [
"name"
],
"additionalProperties": false
},
"debtor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"iban": {
"type": "string",
"minLength": 1,
"description": "IBAN — spaces tolerated, checksum enforced"
},
"bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"street_name": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Street name (max 70 characters) — optional part of the address"
},
"building_number": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Building number (max 16 characters) — optional part of the address"
},
"post_code": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Post code (max 16 characters) — optional part of the address"
},
"town_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Town name (max 35 characters) — REQUIRED as soon as any address field is given"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 two-letter country code — REQUIRED as soon as any address field is given"
}
},
"required": [
"name",
"iban"
],
"additionalProperties": false
},
"requested_execution_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"batch_booking": {
"type": "boolean"
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"creditor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"iban": {
"type": "string",
"minLength": 1,
"description": "IBAN — spaces tolerated, checksum enforced"
},
"bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"street_name": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Street name (max 70 characters) — optional part of the address"
},
"building_number": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Building number (max 16 characters) — optional part of the address"
},
"post_code": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Post code (max 16 characters) — optional part of the address"
},
"town_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Town name (max 35 characters) — REQUIRED as soon as any address field is given"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 two-letter country code — REQUIRED as soon as any address field is given"
}
},
"required": [
"name",
"iban"
],
"additionalProperties": false
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"end_to_end_id": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"remittance_information": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"category_purpose_code": {
"type": "string"
}
},
"required": [
"creditor",
"amount"
],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"format",
"version",
"initiating_party",
"debtor",
"requested_execution_date",
"transactions"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"format": {
"type": "string",
"const": "pain.008"
},
"version": {
"type": "string",
"enum": [
"001.02",
"001.08"
]
},
"initiating_party": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"org_id": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 35
},
"scheme_name": {
"type": "string",
"maxLength": 35
}
},
"additionalProperties": false
}
},
"required": [
"name"
],
"additionalProperties": false
},
"creditor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"iban": {
"type": "string",
"minLength": 1,
"description": "IBAN — spaces tolerated, checksum enforced"
},
"bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"street_name": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Street name (max 70 characters) — optional part of the address"
},
"building_number": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Building number (max 16 characters) — optional part of the address"
},
"post_code": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Post code (max 16 characters) — optional part of the address"
},
"town_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Town name (max 35 characters) — REQUIRED as soon as any address field is given"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 two-letter country code — REQUIRED as soon as any address field is given"
}
},
"required": [
"name",
"iban"
],
"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}$"
},
"batch_booking": {
"type": "boolean"
},
"currency": {
"type": "string",
"enum": [
"EUR"
]
},
"transactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"debtor": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 70
},
"iban": {
"type": "string",
"minLength": 1,
"description": "IBAN — spaces tolerated, checksum enforced"
},
"bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"street_name": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Street name (max 70 characters) — optional part of the address"
},
"building_number": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Building number (max 16 characters) — optional part of the address"
},
"post_code": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Post code (max 16 characters) — optional part of the address"
},
"town_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Town name (max 35 characters) — REQUIRED as soon as any address field is given"
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166 two-letter country code — REQUIRED as soon as any address field is given"
}
},
"required": [
"name",
"iban"
],
"additionalProperties": false
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"end_to_end_id": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"remittance_information": {
"type": "string",
"minLength": 1,
"maxLength": 140
},
"sequence_type": {
"type": "string",
"enum": [
"FRST",
"RCUR",
"OOFF",
"FNAL"
]
},
"mandate": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 35
},
"signature_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"id",
"signature_date"
],
"additionalProperties": false
}
},
"required": [
"debtor",
"amount",
"sequence_type",
"mandate"
],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"format",
"version",
"initiating_party",
"creditor",
"creditor_scheme_id",
"requested_collection_date",
"transactions"
],
"additionalProperties": false
}
]
}⚪validate_sepa_xml
Validate a SEPA XML payload against XSD and business rules.
入力スキーマ
{
"type": "object",
"anyOf": [
{
"type": "object",
"properties": {
"xml_base64": {
"type": "string",
"minLength": 1
},
"format": {
"type": "string",
"const": "pain.001"
},
"version": {
"type": "string",
"enum": [
"001.03",
"001.09"
]
}
},
"required": [
"xml_base64",
"format",
"version"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"xml_base64": {
"type": "string",
"minLength": 1
},
"format": {
"type": "string",
"const": "pain.008"
},
"version": {
"type": "string",
"enum": [
"001.02",
"001.08"
]
}
},
"required": [
"xml_base64",
"format",
"version"
],
"additionalProperties": false
}
]
}⚪generate_mt103(sender_ref, value_date, currency, amount, ordering_name, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"sender_ref": {
"type": "string",
"minLength": 1,
"maxLength": 16,
"description": "Field :20: transaction reference (max 16 chars)"
},
"value_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"currency": {
"type": "string"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"ordering_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Ordering customer name (max 35 chars). Used only when ordering_bic is absent (field :50K:)"
},
"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:)"
},
"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"
},
"beneficiary_name": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"description": "Max 35 characters; accents transliterated, SWIFT x-charset enforced"
},
"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"
},
"beneficiary_bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"intermediary_bic": {
"type": "string",
"minLength": 1,
"description": "BIC/SWIFT code (8 or 11 characters, spaces tolerated)"
},
"remittance": {
"type": "string",
"minLength": 1,
"maxLength": 140,
"description": "Field :70: remittance information (max 4x35)"
},
"charges": {
"type": "string",
"enum": [
"SHA",
"BEN",
"OUR"
],
"description": "Field :71A: SWIFT charge codes — passed through verbatim, never converted to ISO ChargeBearer codes"
}
},
"required": [
"sender_ref",
"value_date",
"currency",
"amount",
"ordering_name",
"ordering_account",
"beneficiary_name",
"beneficiary_account",
"charges"
],
"additionalProperties": false
}🟢list_supported_versions
List supported ISO 20022 formats and versions.
入力スキーマ
{
"type": "object",
"properties": {}
}コミュニティ
エビデンス