Developer Portal
Build on the Jithox Engine
Every block that powers Jithox agents — Peppol BIS 3.0 e-invoicing, EU VIES company verification, PDF invoices, payments, SMS/WhatsApp, Slack, Notion, Google Sheets — is exposed as a standard Model Context Protocol server. Point Claude Desktop, an IDE agent, or your own autonomous system at one endpoint and call compliance-grade business tools, metered per call in euro cents.
1 · Connect Claude Desktop
Add the Jithox server to your claude_desktop_config.json (Settings → Developer → Edit Config). Clients with native remote-MCP support connect directly:
{
"mcpServers": {
"jithox": {
"type": "http",
"url": "https://app.jithox.com/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_ACCESS_TOKEN>"
}
}
}
}Clients that only speak stdio can bridge through mcp-remote:
{
"mcpServers": {
"jithox": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://app.jithox.com/api/mcp",
"--header", "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
]
}
}
}2 · Authenticate
Machine clients exchange OAuth 2.1 client_credentials for a short-lived signed access token — client_secret_basic and client_secret_post are both accepted (form-encoded or JSON):
curl -X POST https://app.jithox.com/api/oauth/token \
-H "content-type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<YOUR_CLIENT_ID>" \
-d "client_secret=<YOUR_CLIENT_SECRET>"- Discovery is open. tools/list needs no token — directories and agents can browse the catalog freely.
- Invocation fails closed. tools/call without a valid bearer returns a per-tool auth error; nothing executes, nothing is billed.
- Side effects need standing approval. Tools that send, pay, or write for real run behind a human consent gate — an agent cannot opt itself in.
3 · Call a tool
Standard MCP over Streamable HTTP. A free example — verify a company against the EU VIES register:
curl -X POST https://app.jithox.com/api/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "kbo_company_search",
"arguments": { "vatNumber": "BE0403170701" }
}
}'4 · Tool catalog
Generated from the live registry — what you see here is exactly what tools/list returns. Billing is prepaid Agent Credits (1 credit = €0.01), deducted once per successful execution and idempotent per run.
| Tool | What it does | Price |
|---|---|---|
| format_peppol_invoice | Generate a compliant UBL 2.1 / Peppol BIS Billing 3.0 e-invoice XML from structured invoice fields (supplier, customer, line items, VAT). | €0.05 / call |
| kbo_company_search | Look up an official European company by VAT or enterprise number via the free EU VIES register — any EU member state, including the Belgian KBO/BCE. Returns its registered name, VAT id, address, and status. Read-only; pairs with format_peppol_invoice to resolve a buyer. | €0.02 / call |
| send_email_resendApproval-gated | Send a real email via Resend to a recipient, optionally attaching a document produced by an earlier task (e.g. an invoice) as invoice.xml. Sends real mail — runs behind human approval. | €0.02 / call |
| generate_pdf_invoice | Generate a polished, human-readable PDF invoice from structured invoice data (supplier, customer, line items, totals) and return it as a base64-encoded document. Local rendering; pairs with send_email_resend to email the PDF as invoice.pdf. | €0.02 / call |
| send_email | Send an email to a recipient, optionally attaching a document produced by an earlier task such as an invoice. | Included |
| create_payment_linkApproval-gated | Create a hosted Mollie payment link for an invoice or amount due — the customer pays online (Bancontact, iDEAL, cards) and the money settles to the workspace's Mollie account. Pairs with send_whatsapp_message or send_email_resend to chase payment. | €0.02 / call |
| send_whatsapp_messageApproval-gated | Send a real WhatsApp message via Twilio — payment reminders, order updates, invoice follow-ups — optionally carrying a hosted payment link. Sends real messages — runs behind human approval. | €0.08 / call |
| send_slack_messageApproval-gated | Post a real notification to the team's Slack channel via an Incoming Webhook — invoice paid alerts, lookup results, payment links. Posts real messages — runs behind human approval. | €0.02 / call |
| core_condition | Router / IF-ELSE block: compare two values (e.g. invoice amount > 1000) and route the workflow down a True or False branch. Local, free, side-effect-free — the building block for conditional automations. | Included |
| save_to_notion_dbApproval-gated | Save a record to the team's Notion database (CRM) — archive an invoice, an EU VIES company lookup, or any run result as a page with a title, notes and fact list. Writes real records — runs behind human approval. | €0.02 / call |
| send_sms_messageApproval-gated | Send a real SMS text message via Twilio — appointment reminders, payment nudges, order updates — to any mobile number. Sends real texts — runs behind human approval. | €0.08 / call |
| append_google_sheetApproval-gated | Append a row to a Google Sheet — log invoices, leads, lookups or run results into the team's spreadsheet ledger. Writes real rows — runs behind human approval. | €0.02 / call |
| universal_http_requestApproval-gated | Universal webhook step: send a GET/POST/PUT/PATCH/DELETE request with an optional JSON body to any https endpoint — push data into custom CRMs and internal systems without a dedicated plugin. Calls real external systems — runs behind human approval. | €0.02 / call |
| agent_memory_kv | Agent long-term memory: persist a value under a key and retrieve it on a later run, so an autonomous agent carries context across executions (e.g. remember a customer's resolved address, then reuse it next time). Strictly scoped to your workspace; not side-effecting. | €0.01 / call |
| fetch_web_markdown | Read a public web page and return its text as clean Markdown for an agent to reason over — no HTML/scripts/styles. Bounded: 5s timeout, byte-capped fetch, truncated output. Read-only; runs without approval. | €0.02 / call |
| transcribe_and_slice_audio | Voice-to-action: download or accept an audio recording, split it into frame-aligned MP3 chunks, and transcribe it to text via an AI speech endpoint — so a user can dictate a task instead of typing. Bounded: 5s download timeout, 25MB cap, chunk-capped. Read-only; runs without approval. | €0.05 / call |
| analyze_kbo_financials | Deep B2B financial analysis: from a Belgian VAT / KBO number, return structured credit-risk metadata — founding year, active status, balance-sheet health, a 0–100 risk score, solvency/liquidity ratios and signals. Beyond a VIES existence check. Read-only; returns clean JSON. | €0.03 / call |
| parse_receipt_vision | Multi-modal receipt/invoice parser: from a photo (URL or base64), use a vision LLM to extract merchant, total, VAT, date, currency and line items as clean JSON. Bounded: 5MB image cap, 5s download timeout. Read-only. | €0.04 / call |
| smart_calendar_bookingApproval-gated | Smart scheduler: from a duration, a date range and a timezone, compute open slots inside working hours (timezone/DST-aware) and book the earliest one. Calendar access is pluggable (Google/Outlook). Books a real event — runs behind human approval. | €0.02 / call |
| publish_social_contentApproval-gated | Universal social publisher: post a message (and optional media) to Telegram, Discord, X/Twitter (via relay), or any custom webhook. Destination is resolved BYOK-first; outbound URLs are SSRF-guarded. Posts to a real channel — runs behind human approval. | €0.01 / call |
Need credentials or higher limits?
Machine clients are provisioned per workspace. Sign in, open your workspace, and top up Agent Credits — or talk to us for tailored enterprise terms. The manifest at /mcp.json (also at /.well-known/mcp.json) always reflects the live catalog.