{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
  "name": "be.jithox/engine",
  "title": "Jithox Engine",
  "description": "Compliance-grade business automation tools for the agentic web: Peppol BIS 3.0 e-invoicing, EU VIES company verification, PDF invoices, payments, messaging and storage blocks — metered per call, approval-gated where side-effecting.",
  "version": "1.0.0",
  "websiteUrl": "https://jithox.com",
  "documentationUrl": "https://jithox.com/developers",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://jithox.com/api/mcp"
    }
  ],
  "authentication": {
    "type": "bearer",
    "description": "Send `Authorization: Bearer <token>`. Machine clients obtain a token via OAuth 2.0 client_credentials at /api/oauth/token; signed-in humans may use their session token. tools/list is open; tools/call without a valid bearer fails closed per tool.",
    "tokenUrl": "https://jithox.com/api/oauth/token"
  },
  "tools": [
    {
      "name": "format_peppol_invoice",
      "description": "Generate a compliant UBL 2.1 / Peppol BIS Billing 3.0 e-invoice XML from structured invoice fields (supplier, customer, line items, VAT).",
      "sideEffecting": false,
      "pricing": "€0.05 per successful call"
    },
    {
      "name": "kbo_company_search",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "send_email_resend",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "generate_pdf_invoice",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "send_email",
      "description": "Send an email to a recipient, optionally attaching a document produced by an earlier task such as an invoice.",
      "sideEffecting": false,
      "pricing": "included"
    },
    {
      "name": "create_payment_link",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "send_whatsapp_message",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.08 per successful call"
    },
    {
      "name": "send_slack_message",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "core_condition",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "included"
    },
    {
      "name": "save_to_notion_db",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "send_sms_message",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.08 per successful call"
    },
    {
      "name": "append_google_sheet",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "universal_http_request",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "agent_memory_kv",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.01 per successful call"
    },
    {
      "name": "fetch_web_markdown",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "transcribe_and_slice_audio",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.05 per successful call"
    },
    {
      "name": "analyze_kbo_financials",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.03 per successful call"
    },
    {
      "name": "parse_receipt_vision",
      "description": "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.",
      "sideEffecting": false,
      "pricing": "€0.04 per successful call"
    },
    {
      "name": "smart_calendar_booking",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.02 per successful call"
    },
    {
      "name": "publish_social_content",
      "description": "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.",
      "sideEffecting": true,
      "note": "Requires standing approval — runs behind a human consent gate.",
      "pricing": "€0.01 per successful call"
    }
  ],
  "x-jithox": {
    "currency": "EUR",
    "billing": "Prepaid Agent Credits (1 credit = €0.01), deducted once per successful execution; idempotent per run.",
    "dryRun": "Every tool ships a faithful simulator — preview without side effects or cost through the Jithox workspace."
  }
}