Skip to main content
Glama
mohisyed

jPOS MCP Server

by mohisyed

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
healthA

Return server health status: version, tool count, and ChromaDB chunk count.

iso_lookup_fieldA

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.

iso_decode_mtiA

Decode a 4-digit MTI into version, message class, function, and origin. For request messages (function digit = 0), returns the expected response MTI.

jpos_generate_packagerA

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.

jpos_validate_descriptorA

Validate a jPOS Q2 deploy descriptor XML file. Checks: well-formed XML, required attributes, channel/QMUX/TM-specific rules, common property name typos.

msg_build_messageA

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.

docs_search_jposA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mohisyed/JPOS-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server