Card snapshot
jithox.com
·
2026-10-01 09:10:21 UTC
·
e39b484cc78ab84c00281b448536ebd9e99a2d292bce29cb5e195bf55e94a92b
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "Jithox",
"description": "Jithox checks an invoice payment before an AI agent makes it: one MCP tool, preflight_payment on https://jithox.com/api/mcp, free and without an account. Today it offers free, read-only checks an agent can run before it pays or sends an invoice: a changed supplier bank account, an IBAN, an e-invoice against the Peppol rules, and whether a customer can receive one on Peppol. Each skill below is an MCP tool on https://jithox.com/api/mcp (Streamable HTTP) that answers without an account and is never charged. Jithox does not speak an A2A binding: call the tools over MCP. Nothing here sends, posts or pays. A result is evidence for one question, not legal or tax approval.",
"supportedInterfaces": [
{
"url": "https://jithox.com/api/mcp",
"protocolBinding": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#streamable-http",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "Jithox (Victor-Emmanuel Charlier, KBO 1039.898.594)",
"url": "https://jithox.com/about"
},
"version": "1.0.0",
"documentationUrl": "https://jithox.com/llms.txt",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false,
"extensions": [
{
"uri": "https://jithox.com/.well-known/agent-card.json#links-v1",
"description": "Where to go next. mcp: the endpoint; openapi: the REST routes, including POST /api/invoice/review, which checks one invoice for free without an account; llms: the plain-text index of every public source; about: who runs Jithox; securityTxt: how to report a vulnerability (info.jithox@gmail.com).",
"required": false,
"params": {
"mcp": "https://jithox.com/api/mcp",
"openapi": "https://jithox.com/openapi.json",
"llms": "https://jithox.com/llms.txt",
"about": "https://jithox.com/about",
"securityTxt": "https://jithox.com/.well-known/security.txt",
"mcpServerCard": "https://jithox.com/.well-known/mcp/server-card.json"
}
}
]
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "preflight_payment",
"name": "Check a payment before an agent makes it",
"description": "Call this once before you move money for a person: it compares what the person approved (payee, amount, currency) with what is about to be paid and runs the checks for the payment rail \u2014 IBAN and a changed bank account for an invoice. Returns stop, review_required or no_blockers_found, with every check, what it does not prove, how long it took and a signed evidence token. It never pays and never says safe: a check that did not run or did not answer is listed as such and is never a pass.",
"tags": [
"payment",
"iban",
"fraud",
"accounts-payable"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "verify_iban",
"name": "Check an IBAN",
"description": "Check a payment account number (IBAN) before paying or before sending an invoice: ISO 13616 structure and ISO 7064 check digits, for 70+ countries, offline and free. Catches the single mistyped character a format check cannot. Optionally reports whether the account is issued in the country of the party being paid \u2014 as an observation, not a fraud verdict. It never claims the account exists or who owns it.",
"tags": [
"payment",
"iban"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "check_peppol_ready",
"name": "Check an e-invoice against Peppol rules",
"description": "Before you send an e-invoice: will the Peppol network accept it? Checks the invoice against 21 published Peppol BIS Billing 3.0 rules \u2014 the ones that actually fail in practice: a missing buyer or order reference, a missing electronic address for either party, an address stated under a scheme code that does not exist, totals that do not add up, a date in the wrong format. It ALSO looks the customer's address up in the Peppol SML, so a verdict of 'ready' means the receiver is really on the network; a receiver that is not registered is reported as will_be_rejected, and one that could not be looked up is 'unverified', never a pass. Every finding names the official rule (PEPPOL-EN16931-R003, BR-CO-15 \u2026), quotes its text and says what to change. Free. It checks a listed subset of a much larger rule set and is not the official validator: a clean result means nothing among these rules is wrong and the receiver exists, never that the network will accept the document.",
"tags": [
"e-invoice",
"peppol"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "lookup_peppol_participant",
"name": "Can this company receive a Peppol e-invoice?",
"description": "Can this customer receive an e-invoice over Peppol today \u2014 and if the send still fails, is it his problem, yours, or your software's? Asks the live Peppol registers about a THIRD PARTY: the public directory, the lookup the network uses today, and the lookup Peppol retired. Returns whether he is reachable, which document types his access point accepts, and \u2014 the part nobody else answers \u2014 who to call when it still does not work. A customer found by the current lookup but not by the retired one is reachable, and software reporting him as absent is asking the question Peppol retired: a message for the software vendor, not for the customer. Free, read-only, nothing stored. Do not confuse it with check_peppol_ready, which checks YOUR OWN invoice against the rules and only asks whether the address on it is registered. It is never a promise that an invoice will arrive, be accepted or be paid \u2014 every answer says so.",
"tags": [
"e-invoice",
"peppol",
"registry"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
},
{
"id": "check_payment_change",
"name": "Check a changed supplier bank account",
"description": "A supplier says their bank details changed: check the request before the vendor record is touched. Validates the new IBAN (structure and check digits, 70+ countries), compares it with the account on file, and flags an account that moved to another country or sits outside the supplier's country. Returns no_change, verify_first, stop or invalid_new_account, with the call-back steps a person must still take. Offline and free. It never says an account is safe, and never claims who owns it.",
"tags": [
"payment",
"iban",
"fraud",
"accounts-payable",
"pay invoice safely",
"invoice fraud",
"supplier bank change",
"payment verification"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
]
}
],
"iconUrl": "https://jithox.com/icon.png"
}