Invoqk API and MCP server

Validate XRechnung and Peppol BIS e-invoices, turn invoice details into e-invoice XML, and run the invoice calculators from your code or your AI assistant. Create a free key in Settings (a verified account is needed). Free accounts get 100 calls a day, Pro gets 5,000. Nothing you send is stored.

Quickstart

Check an e-invoice file with one command:

curl -X POST https://www.invoqk.com/api/v1/einvoice/validate \
  -H "Authorization: Bearer $INVOQK_KEY" \
  -H "Content-Type: application/xml" \
  --data-binary @invoice.xml

Send application/xml or application/pdf (a ZUGFeRD PDF) as the raw body, or JSON with xml or pdfBase64. Bodies are limited to 4 MB. Every other endpoint takes JSON.

Endpoints

Errors are JSON like { "error": "quota_exceeded", "message": "…" } with status 401 (bad key), 403 (needs Pro), 413 (too large), 422 (bad input) or 429 (daily limit). The full description is in OpenAPI format.

Converting a PDF or scan to e-invoice XML needs a Pro plan and uses the same AI quota as the app. Converting plain text works on every plan.

MCP server

Give Claude or another MCP client the same tools. The server is remote and uses the same key, sent as a Bearer header. Every tool call counts toward your daily limit.

claude mcp add --transport http invoqk https://www.invoqk.com/api/mcp \
  --header "Authorization: Bearer $INVOQK_KEY"

Or, in a client that reads a JSON config:

{
  "mcpServers": {
    "invoqk": {
      "type": "http",
      "url": "https://www.invoqk.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

Tools: validate_einvoice, convert_to_einvoice, calculate_vat, calculate_late_fee, calculate_hourly, calculate_markup, calculate_sales_tax. Clients that only support OAuth sign-in cannot connect yet.