{"name":"io.github.sebastienrousseau/pain001-mcp","slug":"sebastienrousseau-pain001-mcp","title":null,"description":"MCP server for ISO 20022 pain.001/pain.008 payment-file generation and validation.","url":"https://mcp.market/server/sebastienrousseau-pain001-mcp","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":18,"stars":1,"forks":0,"downloads_week":null,"last_push_at":"2026-09-19T17:13:37.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/sebastienrousseau/pain001-mcp","website":null,"version":"0.0.70","remotes":[],"packages":[{"registryType":"pypi","identifier":"pain001-mcp","version":"0.0.70","transport":{"type":"stdio"}}],"tools":[{"name":"convert_mt101","description":"Convert a legacy SWIFT MT101 message into pain.001-ready records.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_message","description":"Generate a validated ISO 20022 pain XML message from in-memory records.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_message_async","description":"Generate validated pain XML off the event loop, for large batches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_message_from_file","description":"Generate validated pain XML from a CSV file on the local disk.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_corpus_coverage","description":"Return the schema coverage verdict of one message type's coverage set.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_corpus_file","description":"Return the XML of one validated example file from the market corpus.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_corpus_provenance","description":"Return the provenance sidecar of one example file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_input_schema","description":"Return the full JSON Schema for a message type's flat input record.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_required_fields","description":"List only the required input field names for a pain message type.","write_action":false,"price_micros":0,"input_schema":null},{"name":"inspect_template","description":"Return the CSV column headers the message type's bundled template uses.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_corpus_files","description":"List the example files pain001 ships: market scenarios and coverage sets.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_message_types","description":"List every supported ISO 20022 pain message type and its human name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_supported_formats","description":"List the on-disk data formats the pain001 loader can read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"migrate_records","description":"Migrate flat payment records between two pain.001 schema versions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"parse_camt053","description":"Parse a camt.053 bank-statement XML file on disk into structured data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"parse_pain002","description":"Parse a pain.002 payment-status report file on disk into structured data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"sanitize_to_iso20022_charset","description":"Sanitise one free-text field to a SWIFT / ISO 20022 character set.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_identifier","description":"Validate a single financial identifier (IBAN or BIC).","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_payment_scheme","description":"Validate records against a payment-scheme rulebook (e.g. SEPA).","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_records","description":"Validate flat records against a message type's input JSON Schema.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_xml_against_schema","description":"Validate a raw pain.001 / pain.008 XML string against its official XSD.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T20:06:33.103Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:06:33.054Z","components":{"code":{"score":25,"max":25,"notes":["4 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"pain001-mcp","version":"0.0.70","found":true,"license":"Apache-2.0 OR MIT","dependencyCount":3,"publishedAt":"2026-09-12T21:51:24.279770Z","repositoryUrl":"https://github.com/sebastienrousseau/pain001-mcp"}],"repo":{"found":true,"owner":"sebastienrousseau","repo":"pain001-mcp","archived":false,"pushedAt":"2026-09-19T17:13:37Z","stars":1,"forks":0,"openIssues":5,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/1394998?v=4","ownerCreatedAt":"2012-01-31T16:10:59Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/1394998?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":1,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-09-19T17:13:37.000Z","score":18}}}},"grade_history":[],"reviews":[]}