Jithox MCP — free business checks for AI agents
MCP serverEverything elseEU business checks: VAT/VIES, IBAN, Peppol, KBO lookup. 16 of 19 tools need no token.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use Jithox MCP — free business checks for AI agents
Install Jithox MCP — free business checks for AI agents
The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http jithox-mcp-free-business-checks 'https://jithox.com/api/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://jithox.com/api/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=jithox-mcp-free-business-checks&config=eyJ1cmwiOiJodHRwczovL2ppdGhveC5jb20vYXBpL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://jithox.com/api/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add jithox-mcp-free-business-checks --url 'https://jithox.com/api/mcp'Run it once, then sign in with codex mcp login jithox-mcp-free-business-checks if the server asks for an account.
From the project's README
As published by victor-emmanuel-c/jithox-mcp in README.md.
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/mcp
Transport: Streamable HTTP (POST, JSON-RPC 2.0).
{
"mcpServers": {
"jithox": { "url": "https://jithox.com/api/mcp" }
}
}
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 |
|---|---|
verify_iban | IBAN structure and check digits (ISO 13616 / ISO 7064). Never claims the account exists or who owns it. |
check_vat_list_format | Up to 20 EU VAT numbers: empty, malformed, duplicate, or not covered by VIES. Local only — does not ask the VAT register. |
check_peppol_ready | Checks an invoice against 21 published Peppol BIS Billing 3.0 rules and names each failing rule with a fix. Not the official validator. |
check_payment_change | A supplier says their bank details changed: checks the new IBAN and says what to verify before updating the record. |
file_to_data_inspect | Reads a CSV / XLSX / JSON file and proposes a column mapping. |
file_to_data_transform | Applies exactly the mapping you send and returns rows plus a per-row error report. |
core_condition | 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
- https://jithox.com/llms.txt
- https://jithox.com/.well-known/mcp.json
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.
Advanced
- Delivery
- jithox MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
com-jithox-jithox- Source
- github.com/victor-emmanuel-c/jithox-mcp
- Hosted endpoint
https://jithox.com/api/mcp