Skip to main content
Glama
iso20022-mcp

iso20022-mcp

generate_test_message

Generate synthetic ISO 20022 pacs.008 or pacs.002 test messages with configurable defects or reason codes to test payment validation and rejection handling.

Instructions

Generate a synthetic test message. kind: 'pacs.008' or 'pacs.002'. defect (pacs.008): none, bad_iban, bad_bic, missing_creditor_name, bad_decimals, count_mismatch, injection_in_remittance, missing_creditor_address. reason_code is used for pacs.002.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "generate_test_message"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNopacs.008
defectNonone
reason_codeNoAC04

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It discloses that the output is a synthetic test message produced from a kind/defect combination, which is useful context for a generator. It does not state whether the generated message is persisted, returned only, or how failures in the defect injection are surfaced, though the presence of an output schema covers return-value structure.

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 short, front-loaded with the core action, and the bulleted defect list is dense rather than padded. The formatting is slightly compressed, which makes the kind and reason_code notes harder to parse than necessary, but no sentence is wasted.

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 takes only three optional parameters, and an output schema exists, so the description does not need to explain return values. It covers the core enum semantics but leaves the reason_code vocabulary and the pacs.002 defect set undefined. With no annotations, it should say more about side effects, such as whether a message is written anywhere, before an agent can call the tool with full confidence.

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 0%, so the description must compensate, and it partially does: it gives the two legal kind values, enumerates eight defect options for pacs.008, and explains that reason_code applies to pacs.002. Gaps remain: the defect parameter's valid values for pacs.002 are unstated, the reason_code vocabulary (beyond the schema default 'AC04') is undefined, and nothing says how kind and defect interact when mismatched.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Generate a synthetic test message.' It then enumerates the accepted kind values ('pacs.008' or 'pacs.002'), which confirms the tool's domain. It does not contrast itself with siblings such as parse_message or validate_message, so the distinction is implied rather than stated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance: nothing says under what circumstances an agent should generate a synthetic message rather than parse or validate a real one. The defect and reason_code notes indicate how to configure a request but not when the tool is the right choice, and no exclusions or alternatives are named.

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