{
  "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 — 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 — 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 — 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 …), 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 — 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 — the part nobody else answers — 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 — 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"
}