jPOS MCP Server
MCP server for jPOS and ISO 8583. Deterministic payment protocol tools for AI agents.
Versions
0.1.1latestTools 7
validate_descriptor Validate a jPOS Q2 deploy descriptor XML file. Checks: well-formed XML, required attributes, channel/QMUX/TM-specific rules, common property name typos.
health Return server health status: version, tool count, and ChromaDB chunk count.
search_jpos Search jPOS documentation using hybrid semantic + keyword search. Returns up to 5 matches with source, section, page, and similarity score. Scores are calibrated for the all-mpnet-base-v2 embedding model combined with a keyword overlap rerank: - strong >= 0.55 (direct answer expected in chunk) - good >= 0.40 (relevant context, may need synthesis) - partial >= 0.25 (tangentially related) Chunks below 0.25 are filtered out as noise. Pipeline: 1. Expand short/jargon queries with domain context 2. Embed the expanded query and fetch top 15 candidates by cosine 3. Rerank candidates with keyword overlap from the *original* query (70% cosine + 30% keyword overlap) 4. Return top 5 Why return raw chunks instead of summarizing: the calling LLM can reason about conflicting chunks, notice version differences, and assess confidence from similarity scores. Pre-summarizing loses this nuance.
generate_packager Generate a complete jPOS GenericPackager XML configuration. Parses field numbers from description, looks up correct jPOS classes, and assembles valid XML ready to save as a .xml file. Always includes fields 0 (MTI) and 1 (Bitmap). Why this doesn't use an LLM: LLM-generated XML can contain hallucinated class names. This uses iso_fields.json as ground truth — always correct.
build_message Validate an ISO 8583 message field dictionary. Checks MTI validity, missing mandatory fields, value length violations, and potential real PANs (detected via Luhn algorithm — rejected for safety). Only test PANs (4111111111111111 etc.) are accepted.
lookup_field Return the complete ISO 8583 specification for a data element number. Returns: name, format (FIXED/LLVAR/LLLVAR), type, max_length, jpos_class_bcd, jpos_class_ascii, mandatory_for_mtis, pci_sensitive, notes. Use this before writing any GenericPackager XML.
decode_mti Decode a 4-digit MTI into version, message class, function, and origin. For request messages (function digit = 0), returns the expected response MTI.
Permissions 2
filesystem low env_vars low