Für KI-Agenten (MCP)
formkorrekt als Werkzeug für Claude, Cursor, VS Code und jeden anderen MCP-Client: derselbe API-Key, dieselben Preise, dasselbe Freikontingent wie die REST-API.
Endpunkt und Key
≈ 30 shttps://formkorrekt.com/mcp
Remote-MCP
über Streamable HTTP. Angemeldet wird mit dem API-Key als
Authorization: Bearer sk_live_… (oder X-API-Key: sk_live_…).
Noch kein Key? Konto erstellen und im Dashboard
Key erstellen drücken – das Freikontingent braucht keine
Zahlungsdaten.
Client verbinden
≈ 1 minClaude Code
claude mcp add --transport http formkorrekt https://formkorrekt.com/mcp \
--header "Authorization: Bearer $KEY"
Claude Desktop
In
claude_desktop_config.json (Einstellungen → Entwickler → Konfiguration
bearbeiten), über die Brücke mcp-remote (braucht Node.js):
{
"mcpServers": {
"formkorrekt": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://formkorrekt.com/mcp", "--header", "Authorization:${AUTH}"],
"env": { "AUTH": "Bearer sk_live_…" }
}
}
}
Cursor
~/.cursor/mcp.json
(alle Projekte) oder .cursor/mcp.json (ein Projekt):
{
"mcpServers": {
"formkorrekt": {
"url": "https://formkorrekt.com/mcp",
"headers": { "Authorization": "Bearer sk_live_…" }
}
}
}
VS Code
.vscode/mcp.json – VS Code fragt den Key
einmal ab und speichert ihn verschlüsselt:
{
"inputs": [{ "type": "promptString", "id": "formkorrekt-key",
"description": "formkorrekt API key", "password": true }],
"servers": {
"formkorrekt": {
"type": "http",
"url": "https://formkorrekt.com/mcp",
"headers": { "Authorization": "Bearer ${input:formkorrekt-key}" }
}
}
}
Andere Clients
Jeder Client, der Streamable HTTP spricht und einen Header mitsenden kann, funktioniert. Der Server ist zustandslos (keine Session-ID, JSON-Antworten, kein SSE-Stream) und verhandelt die Protokollversionen 2024-11-05 bis 2026-07-28. Von Hand:
curl https://formkorrekt.com/mcp \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
Tools
| validate_invoice | XRechnung/ZUGFeRD prüfen, mit Regel-Codes und Korrekturhinweisen. 1 Dokument. |
| repair_invoice | Deterministische XML-Reparatur, nichts geraten. 3 Dokumente (1, wenn unverändert). |
| generate_invoice | JSON → XRechnung UBL/CII oder ZUGFeRD-PDF, erneut geprüft, direkt in der Antwort. 3 Dokumente. |
| get_credit | Guthaben, verbleibendes Freikontingent, Preise. Kostenlos. |
Rechnungen gehen
als XML-Text (xml) oder Base64 (file_base64, XML oder
ZUGFeRD-PDF, ≤ 10 MB) hinein. generate_invoice liefert die Datei direkt in
der Antwort (XML als Text, PDF als Base64); gespeichert wird nichts. Ein Ergebnis über
ca. 6 MB wird mit RESPONSE_TOO_LARGE abgelehnt und nicht berechnet.
Keine Steuerberatung.
Kosten, Grenzen, Fehler
Jeder Tool-Aufruf läuft durch denselben Code wie
die REST-API: erst das monatliche Freikontingent, dann Prepaid-Guthaben; ist beides
aufgebraucht, antwortet das Tool mit CREDIT_EXHAUSTED und einem Link zum
Aufladen – mehr als das Guthaben wird nie abgerechnet. Jeder Tool-Aufruf zählt wie
ein API-Request gegen das Rate-Limit des Keys, das Auflisten der Tools nicht.
Kostenpflichtige Tools nehmen optional einen idempotency_key: eine
Wiederholung mit demselben Key und Inhalt wird einmal berechnet (neu ausgeführt, nichts
gespeichert außer einem Hash; bis zu 3 Wiederholungen innerhalb einer Stunde, danach
IDEMPOTENCY_KEY_EXHAUSTED). Fehler kommen als MCP-Tool-Fehler
mit demselben error_code wie in der API
(Tabelle im Quickstart). Der Verbrauch steht im Dashboard
wie jeder andere Request.
Maschinenlesbar: OpenAPI · MCP-Server-Card · llms.txt · API-Referenz