Jithox MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jithox MCPCheck this IBAN: BE68 5390 0754 7034"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jithox MCP — free business checks for AI agents
Jithox runs a remote MCP server with read-only checks for invoices and payments: IBANs, EU VAT number format, Peppol e-invoice rules, supplier bank-detail changes and turning a CSV/XLSX file into clean data.
It is for developers and AI agents that prepare invoices or payments and want a check before something is sent or paid.
This repository holds examples and a registry manifest only. It contains no server code. The server itself is hosted by Jithox.
Connect
https://jithox.com/api/mcpTransport: Streamable HTTP (POST, JSON-RPC 2.0).
{
"mcpServers": {
"jithox": { "url": "https://jithox.com/api/mcp" }
}
}Related MCP server: commerce-validators
What works without an account
The endpoint lists 18 tools. Seven of them are free and need no token and no
account. The initialize response currently says "Every tool call requires a
valid Jithox bearer token" — that sentence is out of date for these seven: they
answer without any Authorization header (checked 2026-09-22).
Tool | What it does |
| IBAN structure and check digits (ISO 13616 / ISO 7064). Never claims the account exists or who owns it. |
| Up to 20 EU VAT numbers: empty, malformed, duplicate, or not covered by VIES. Local only — does not ask the VAT register. |
| Checks an invoice against 21 published Peppol BIS Billing 3.0 rules and names each failing rule with a fix. Not the official validator. |
| A supplier says their bank details changed: checks the new IBAN and says what to verify before updating the record. |
| Reads a CSV / XLSX / JSON file and proposes a column mapping. |
| Applies exactly the mapping you send and returns rows plus a per-row error report. |
| Compares two values and returns a true/false branch. |
The other 11 tools (VIES lookups, invoice XML/PDF generation, web reading,
transcription, receipt parsing, …) need a Jithox token. Called without one they
return a payment_required error that names the token URL — nothing runs and
nothing is charged.
Limits: 30 requests per minute per IP on this endpoint; above that you get
HTTP 429 with Retry-After. Every answer carries a doesNotProve field or a
stated limit — read it before you act on a result.
Three calls with curl
All three were run on 2026-09-22 without a token. Output is shown as returned;
… marks where it was shortened for this page.
1. Check an IBAN
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"verify_iban","arguments":{"iban":"BE68 5390 0754 7034"}}}'The tool result (result.content[0].text), unwrapped:
{
"kind": "iban_verification",
"data": {
"status": "valid",
"reason": null,
"iban": "BE68 5390 0754 7034",
"countryCode": "BE",
"country": "Belgium",
"bankIdentifier": "539",
"detail": "A structurally valid Belgium IBAN. This says the number is well formed, not that the account exists or belongs to anyone.",
"proves": "The number is a well-formed IBAN for its country and its check digits are arithmetically correct.",
"doesNotProve": "That the account exists, that it is open, that it belongs to the party being paid, or that a payment to it will arrive. No free registry answers those, and this tool does not guess."
}
}2. Clean a list of EU VAT numbers
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"check_vat_list_format","arguments":{"rows":[{"reference":"acme","vatId":"BE0400378485"},{"vatId":"NL 8558.76.323.B01"},{"vatId":"BE0400378486"},{"vatId":"GB123456789"}]}}}'{
"kind": "vat_list_check",
"data": {
"ok": true,
"rows": [
{ "index": 0, "reference": "acme", "normalized": "BE0400378485", "local": "well_formed", "register": "not_run", … },
{ "index": 1, "normalized": "NL855876323B01", "local": "well_formed", "register": "not_run", … },
{ "index": 2, "normalized": "BE0400378486", "local": "malformed", "register": "not_run",
"detail": "The last two digits of a Belgian number are a check on the first eight, and here they do not match — usually a typing error. The register was not asked." },
{ "index": 3, "normalized": "GB123456789", "local": "not_covered", "register": "not_run",
"detail": "Great Britain left the EU register (VIES) in 2021, so this number cannot be checked here. That says nothing about the number; the UK tax office has its own checker." }
],
"totals": { "rows": 4, "wellFormed": 2, "malformed": 1, "notCovered": 1, "duplicate": 0, … },
…
}
}well_formed is not registered: this tool never asks the VAT register.
3. Will Peppol accept this invoice?
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"check_peppol_ready","arguments":{"invoiceNumber":"INV-1","issueDate":"22/09/2026","currency":"EUR","supplier":{"name":"Seller BV","countryCode":"BE","endpointId":"0400378485","endpointScheme":"0208"},"customer":{"name":"Buyer NV","countryCode":"BE"}}}}'{
"kind": "peppol_ready_check",
"data": {
"verdict": "will_be_rejected",
"failed": [
{ "rule": "PEPPOL-EN16931-F001", "ruleText": "A date MUST be formatted YYYY-MM-DD.", "detail": "The issue date reads \"22/09/2026\".", … },
{ "rule": "BR-16", "ruleText": "An Invoice shall have at least one Invoice line (BG-25).", … },
{ "rule": "PEPPOL-EN16931-R010", "ruleText": "Buyer electronic address MUST be provided", … },
{ "rule": "PEPPOL-EN16931-R003", "ruleText": "A buyer reference or purchase order reference MUST be provided.", … }
],
"passed": [ … 14 rules … ],
"notChecked": [ … 3 rules … ],
"summary": "The Peppol network refuses this invoice: 4 mandatory rules are broken (PEPPOL-EN16931-F001, BR-16, PEPPOL-EN16931-R010, PEPPOL-EN16931-R003).",
"rulesChecked": 21,
…
}
}A clean result means none of these 21 rules fails — not that the network will accept the document.
Examples in code
examples/python/free_tools.py— standard library only:initialize,tools/list, thenverify_iban.python free_tools.pyexamples/csharp/Program.cs—HttpClient:initialize, thencheck_vat_list_format. Runs withdotnet runin a console project, orcsc -r:System.Net.Http.dll Program.cson .NET Framework 4.x.
Both were run against the live endpoint on 2026-09-22 and returned the answers above.
Machine-readable pointers
server.jsonin this repository, following the official MCP registry schema (2025-12-11).
What this server does not do
Nothing on this endpoint sends an invoice, posts, pays or delivers anything. Results are technical checks, not legal or tax advice.
License
The examples and files in this repository are MIT-licensed (see LICENSE). The Jithox service itself is not open source.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only EU e-invoice checks: VAT format, VIES, Peppol lookup. Returns evidence, no filing.
Validate, generate & convert EU e-invoices (UBL, CII, XRechnung, Factur-X) — EN 16931 pre-validated.
11.3M entities, 10 countries, 12 tools. EU VAT (VIES), BORME, GLEIF, KYB. Free: 100 req/month.
Free EU VAT (VIES) + pan-EU company data (10 registers), payable in EURC/USDC via x402.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceValidates EU, UK, and AU VAT numbers against live sources and uses AI pattern analysis to detect invoice fraud.118 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides real validation and live registry lookups for ecommerce and fintech workflows, including EU VAT, EORI, email domain, IBAN, ABA routing, and GTIN checks.-
- AlicenseNot gradedqualityCmaintenanceValidates financial documents and payment files (SEPA, UBL/Peppol, camt, ACH) entirely locally.46 npmMIT
- FlicenseNot gradedqualityBmaintenanceCross-checks company/entity records against 23 national commercial registries (GLEIF, SIRENE, VIES, TED, Companies House) to flag missing or inconsistent registrations. Free tier: 100 calls/month via hosted API.-