MCP server providing tools for IBAN verification, VAT validation, Peppol e-invoice readiness checking, and Peppol participant lookup
Jithox MCP provides 4 tools with clear, domain-specific names (verify_iban, check_vat_list_format, check_peppol_ready, lookup_peppol_participant). All tools have descriptions (34 - 194 chars, within baseline range). Input schemas are present with typed parameters and descriptions. However, output schemas are NOT documented in the source, responses are returned as JSON strings that must be parsed by the client, not as structured tool output. Error handling is minimal; no recovery guidance or actionable error messages visible. Tool descriptions lack dependency hints and prerequisites. No tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Check if an invoice will be accepted by Peppol before sending it
Free, offline format check for a list of EU VAT numbers. A well-formed number is NOT a registered one.
Look up whether a participant can receive a Peppol e-invoice
Verify IBAN format and validity
Output schemas not documented. Tools return JSON strings that clients must parse manually (e.g., json.loads(result['content'][0]['text'])). LLMs cannot infer response structure, forcing unstructured parsing and increasing hallucination risk.
No tool annotations despite all tools being read-only. Missing readOnlyHint declarations prevent agents from understanding safety properties and optimizing caching/retry strategies.
Error handling lacks recovery guidance. No visible error classification (retryable vs. user-fixable vs. fatal) or actionable error messages. Agents cannot self-correct on invalid input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 71 | 2026-07-28+ | v2 |
check_peppol_ready has complex nested input (supplier/customer objects with multiple fields). No validation rules, format constraints, or dependency documentation. LLMs may pass incomplete or malformed objects.
Parameter descriptions lack format/constraint details. E.g., 'iban' param has no mention of format (IBAN structure, length, allowed characters). 'invoiceNumber' and 'issueDate' lack format specifications (ISO 8601? Free text?).