ISO 20022 securities-settlement / penalty message linting (ART-82) -> Merkle integrity over the message batch (cry-04) -> CSD/counterparty-framed cover memo (ptg-01). Scoped to the sese/semt securities family, distinct from the payments CBPR+ migration.
lint_securities_settlement_message{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "lint_securities_settlement_message",
"arguments": {}
},
"id": 1
}
verify_merkle_batch{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "verify_merkle_batch",
"arguments": {}
},
"id": 1
}
compose_ap2_prompt{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "compose_ap2_prompt",
"arguments": {}
},
"id": 1
}
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.
Question: A counterparty sent a sese.023 with an empty body. Does our linter catch the missing mandatory fields before we act on it?
Run the AINumbers MCP tool `run_chain` with {"chain":"settlement-discipline-message-conformance"} and read `art-82-securities-settlement-message-linter.fail_count`.
Re-run with `inputs` for `art-82-securities-settlement-message-linter`, reusing the values that result echoed, with `messages` changed so one received sese.023 carrying an empty body. Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/settlement-discipline-message-conformance.html