Jithox MCP — free business checks for AI agents

MCP serverEverything else

EU 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.

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/mcp

    Add 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=eyJ1cmwiOiJodHRwczovL2ppdGhveC5jb20vYXBpL21jcCJ9

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://jithox.com/api/mcp

    In 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).

ToolWhat it does
verify_ibanIBAN structure and check digits (ISO 13616 / ISO 7064). Never claims the account exists or who owns it.
check_vat_list_formatUp to 20 EU VAT numbers: empty, malformed, duplicate, or not covered by VIES. Local only — does not ask the VAT register.
check_peppol_readyChecks 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_changeA supplier says their bank details changed: checks the new IBAN and says what to verify before updating the record.
file_to_data_inspectReads a CSV / XLSX / JSON file and proposes a column mapping.
file_to_data_transformApplies exactly the mapping you send and returns rows plus a per-row error report.
core_conditionCompares 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, then verify_iban. python free_tools.py
  • examples/csharp/Program.csHttpClient: initialize, then check_vat_list_format. Runs with dotnet run in a console project, or csc -r:System.Net.Http.dll Program.cs on .NET Framework 4.x.

Both were run against the live endpoint on 2026-09-22 and returned the answers above.

Machine-readable pointers

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