# Jithox

> 8 invoice/payment tools; 5 free, no login. IBAN, bank changes, Peppol. Paid VAT and invoice review.

- name: com.jithox/jithox
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 69/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.jithox%2Fjithox
- tools: https://api.protogrid.dev/v1/servers/com.jithox%2Fjithox/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "jithox": {
      "type": "http",
      "url": "https://jithox.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-16d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 69/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 8 of 8 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: kbo_company_search (idempotentHint); review_invoice (idempotentHint); check_peppol_ready (idempotentHint); …
- pass `tools.token_cost`: about 3,967 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 58 tool changes in 30 days
- fail `stability.rug_pull`: 21 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 8, about 3,967 tokens to load them all
- tool set hash: 7fe4fde7e8f2735c01af80a7684177d5
- tools last changed: 2026-10-05T07:40:01.701Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.jithox/jithox.svg)](https://protogrid.dev/servers/com.jithox/jithox)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-05 `check_vat_list` changed (description)
  - before: Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row. Without a token: a limited daily trial; after that, a bearer token.
  - after: Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row; needs a bearer token.
- 2026-10-05 `review_invoice` changed (description)
  - before: Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered. Without a token: a limited daily trial; after that, a bearer token.
  - after: Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered; needs a bearer token.
- 2026-10-05 `kbo_company_search` changed (description)
  - before: VAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call. Without a token: a limited daily trial; after that, a bearer token.
  - after: VAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call; needs a bearer token.
- 2026-10-05 `check_vat_list` changed (description)
  - before: Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row; needs a bearer token.
  - after: Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row. Without a token: a limited daily trial; after that, a bearer token.
- 2026-10-05 `review_invoice` changed (description)
  - before: Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered; needs a bearer token.
  - after: Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered. Without a token: a limited daily trial; after that, a bearer token.
- 2026-10-05 `kbo_company_search` changed (description)
  - before: VAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call; needs a bearer token.
  - after: VAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call. Without a token: a limited daily trial; after that, a bearer token.
- 2026-10-04 `lookup_peppol_participant` changed (inputSchema)
- 2026-10-04 `check_peppol_ready` changed (inputSchema)
- 2026-10-03 `preflight_payment` changed (description, inputSchema) **meaning changed**
  - before: Call once before you move money for a person: compares what they approved (payee, amount, currency) with what is about to be paid and runs the rail's checks (invoice: IBAN, account change). Returns stop, review_required or no_blockers_found with every check and signed evidence. Never pays; a check that did not run is never a pass. Free, no token.
  - after: For a structured invoice, call review_invoice first. Before paying, compare the supplied human approval with the payment and run rail checks (invoice: IBAN, account change). Without approved: review_required or stop, never no_blockers_found. Returns checks and signed evidence. Never pays; unrun checks never pass. Free, no token.
- 2026-10-03 `lookup_peppol_participant` changed (description) **meaning changed**
  - before: Ask the live Peppol registers whether a third party can receive e-invoices, which document types, and who to call when a send fails. Never a promise that an invoice arrives. Free, no token.
  - after: Ask live Peppol registers about e-invoice reception, document types and failure contacts; never guarantees delivery. Not a VAT or company-register check; use kbo_company_search (one company) or check_vat_list (a list). Free, no token.

Full history: https://api.protogrid.dev/v1/servers/com.jithox%2Fjithox/changes

## Remotes

- https://jithox.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (8)

- `check_payment_change`: Check a supplier's bank-detail change before the vendor record is touched: returns no_change, verify_first, stop or invalid_new_account with call-back steps. It never says an account is safe. Free, no token.
- `check_peppol_ready`: Check your own invoice against 21 published Peppol BIS Billing 3.0 rules, and whether the customer's Peppol address is registered; each finding names the rule and the fix. A listed subset, not the official validator. Free, no token.
- `check_vat_list`: Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row; needs a bearer token.
- `kbo_company_search`: VAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call; needs a bearer token.
- `lookup_peppol_participant`: Ask live Peppol registers about e-invoice reception, document types and failure contacts; never guarantees delivery. Not a VAT or company-register check; use kbo_company_search (one company) or check_vat_list (a list). Free, no token.
- `preflight_payment`: For a structured invoice, call review_invoice first. Before paying, compare the supplied human approval with the payment and run rail checks (invoice: IBAN, account change). Without approved: review_required or stop, never no_blockers_found. Returns checks and signed evidence. Never pays; unrun checks never pass. Free, no token.
- `review_invoice`: Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered; needs a bearer token.
- `verify_iban`: Check an IBAN's structure and check digits for 70+ countries, offline. It never claims the account exists or who owns it. Free, no token.
