VOOZH about

URL: https://glama.ai/mcp/servers/knportal/invoice-parser-mcp?locale=de-DE

⇱ Invoice Parser MCP by knportal | Glama


Invoice Parser MCP

Analysieren Sie Rechnungen, Quittungen und Finanzdokumente in strukturiertes JSON — direkt aus Ihrem KI-Agenten.

👁 License: MIT
👁 Version
👁 MCP

Gelistet auf: Glama · Smithery · mcp.so

Entwickelt für das Model Context Protocol. Unterstützt durch Claude Vision.

Funktionsweise

Extrahiert strukturierte Daten aus PDF-Rechnungen, gescannten Quittungen und Bilddateien. Keine Vorlagen, keine OCR-Konfiguration erforderlich — Claude Vision liest das Dokument und liefert sauberes JSON.


Related MCP server: Doc Agent

Tools

Tool

Beschreibung

Preis

parse_invoice

Vollständige Rechnungsanalyse (Anbieter, Einzelposten, Summen, Fälligkeitsdatum)

$0.05/Aufruf

parse_receipt

Analyse von Einzelhandelsquittungen (Händler, Artikel, Steuer, Zahlungsmethode)

$0.05/Aufruf

extract_line_items

Nur die spezifizierte Liste, sonst nichts

$0.01/Aufruf

extract_totals

Nur Zwischensumme, Steuer, Gesamtbetrag, Fälligkeitsdatum

$0.01/Aufruf

validate_invoice

Mathematische Validierung — prüft, ob die Einzelposten korrekt addiert wurden

$0.01/Aufruf

export_to_csv

Batch-Analyse mehrerer Dateien → Zusammenfassungs-CSV (max. 20)

$0.10/Aufruf


Tool-Referenz

parse_invoice

Vollständige Rechnungsanalyse. Extrahiert jedes strukturierte Feld aus einer Lieferantenrechnung.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Absoluter Pfad zur Rechnungs-PDF oder zum Bild (PNG, JPG, WEBP).

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel. Erhältlich unter plenitudo.ai.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash). Alternative zum api_key.

*Entweder api_key oder payment_proof muss angegeben werden.

Beispieleingabe

{
 "file_path": "/Users/me/documents/invoice_acme_jan2025.pdf",
 "api_key": "ip_free_abc123"
}

Beispielausgabe

{
 "ok": true,
 "document_type": "invoice",
 "vendor": {
 "name": "Acme Corp",
 "address": "123 Industrial Way, Austin TX 78701",
 "email": "billing@acme.com",
 "phone": "512-555-0100",
 "tax_id": "12-3456789"
 },
 "bill_to": {
 "name": "Jane Smith",
 "address": "456 Oak Ave, Boston MA 02101",
 "email": "jane@example.com"
 },
 "invoice_number": "INV-2025-0142",
 "invoice_date": "2025-01-15",
 "due_date": "2025-02-15",
 "payment_terms": "Net 30",
 "currency": "USD",
 "line_items": [
 {
 "description": "Software consulting — January",
 "quantity": 40,
 "unit_price": 175.0,
 "total": 7000.0,
 "tax_rate": 0.0
 }
 ],
 "subtotal": 7000.0,
 "discount": 0.0,
 "tax_amount": 560.0,
 "shipping": 0.0,
 "total": 7560.0,
 "amount_due": 7560.0,
 "notes": "Wire transfer preferred. See banking details on page 2.",
 "po_number": "PO-98765"
}

parse_receipt

Analysieren Sie eine Einzelhandels- oder Ausgabenquittung. Entwickelt für Point-of-Sale-Belege, Restaurantrechnungen und Spesenabrechnungsdokumente.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Absoluter Pfad zur Quittungs-PDF oder zum Bild (PNG, JPG, WEBP).

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash).

Beispieleingabe

{
 "file_path": "/Users/me/receipts/coffee_shop_march1.jpg",
 "api_key": "ip_free_abc123"
}

Beispielausgabe

{
 "ok": true,
 "document_type": "receipt",
 "merchant": {
 "name": "Blue Bottle Coffee",
 "address": "300 Webster St, Oakland CA 94609",
 "phone": "510-555-0200",
 "website": "bluebottlecoffee.com"
 },
 "date": "2025-03-01",
 "time": "09:14",
 "receipt_number": "5541",
 "cashier": "Maria",
 "items": [
 { "name": "Latte (large)", "quantity": 1, "unit_price": 6.50, "total": 6.50, "sku": "", "category": "beverage" },
 { "name": "Croissant", "quantity": 1, "unit_price": 4.00, "total": 4.00, "sku": "", "category": "pastry" }
 ],
 "subtotal": 10.50,
 "discounts": 0.0,
 "tax": 0.84,
 "tip": 2.00,
 "total": 13.34,
 "currency": "USD",
 "payment_method": "Visa",
 "card_last_four": "4242",
 "transaction_id": "TXN-88821",
 "loyalty_points": null,
 "notes": ""
}

extract_line_items

Leichte Extraktion, die nur die spezifizierte Liste zurückgibt. Schneller und günstiger als parse_invoice, wenn Sie nur die Einzelposten benötigen.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Absoluter Pfad zur Rechnungs- oder Quittungs-PDF oder zum Bild.

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash).

Beispielausgabe

{
 "ok": true,
 "line_items": [
 { "description": "Widget A (x10)", "quantity": 10, "unit_price": 12.00, "total": 120.00 },
 { "description": "Widget B (x5)", "quantity": 5, "unit_price": 24.00, "total": 120.00 }
 ],
 "item_count": 2
}

extract_totals

Extrahiert nur die finanzielle Zusammenfassung (Zwischensumme, Steuern, Gesamtbeträge, Fälligkeitsdatum), ohne Einzelposten oder Anbieterdetails zu analysieren.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Absoluter Pfad zur Rechnungs- oder Quittungs-PDF oder zum Bild.

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash).

Beispielausgabe

{
 "ok": true,
 "currency": "USD",
 "subtotal": 240.00,
 "discount": 0.0,
 "tax_amount": 19.20,
 "tax_rate": 8.0,
 "shipping": 0.0,
 "tip": 0.0,
 "total": 259.20,
 "amount_due": 259.20,
 "invoice_date": "2025-01-15",
 "due_date": "2025-02-15"
}

validate_invoice

Tool zur mathematischen Validierung. Überprüft, ob die Summen der Einzelposten Menge × Einzelpreis entsprechen, ob die Zwischensumme mit der Summe der Einzelposten übereinstimmt, ob die Steuerberechnung konsistent ist und ob der Endbetrag korrekt ist. Erlaubt eine Rundungstoleranz von ±$0.02.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Absoluter Pfad zur Rechnungs-PDF oder zum Bild.

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash).

Beispielausgabe — gültige Rechnung

{
 "ok": true,
 "valid": true,
 "issues": [],
 "summary": {
 "line_items_checked": 3,
 "subtotal": 450.00,
 "tax": 36.00,
 "total": 486.00,
 "currency": "USD"
 }
}

Beispielausgabe — ungültige Rechnung

{
 "ok": true,
 "valid": false,
 "issues": [
 {
 "field": "line_item_2_total",
 "expected": 120.00,
 "found": 100.00,
 "description": "quantity (10) × unit_price (12.00) = 120.00, but stated total is 100.00"
 }
 ],
 "summary": {
 "line_items_checked": 3,
 "subtotal": 340.00,
 "tax": 27.20,
 "total": 367.20,
 "currency": "USD"
 }
}

export_to_csv

Analysieren Sie bis zu 20 Rechnungen oder Quittungen im Batch und exportieren Sie eine Zusammenfassungs-CSV. Jede Zeile enthält: Dateiname, Dokumenttyp, Anbieter/Händler, Datum, Nummer, Zwischensumme, Steuer, Gesamtbetrag, Währung, Fälligkeitsdatum, Zahlungsmethode.

Parameter

Parameter

Typ

Erforderlich

Beschreibung

file_paths

Array von Strings

Ja

Liste der absoluten Pfade zu Rechnungs-/Quittungs-PDFs oder Bildern. Maximal 20.

output_path

string

Ja

Absoluter Pfad, unter dem die CSV-Ausgabedatei gespeichert wird.

api_key

string

Nein*

Ihr InvoiceParser API-Schlüssel.

payment_proof

string

Nein*

x402 Zahlungsnachweis (Base USDC Transaktions-Hash).

Beispieleingabe

{
 "file_paths": [
 "/Users/me/invoices/jan2025.pdf",
 "/Users/me/invoices/feb2025.pdf",
 "/Users/me/receipts/expense_march.jpg"
 ],
 "output_path": "/Users/me/exports/q1_summary.csv",
 "api_key": "ip_free_abc123"
}

Beispielausgabe (JSON-Antwort)

{
 "ok": true,
 "output_path": "/Users/me/exports/q1_summary.csv",
 "rows_written": 3,
 "errors": []
}

CSV-Spalten: filename, document_type, vendor_merchant, date, number, subtotal, tax, total, currency, due_date, payment_method


Unterstützte Formate

  • PDF (Rechnungen, gescannte Dokumente)

  • PNG, JPG, WEBP (Fotos von Quittungen, Screenshots)


Authentifizierung

Kostenlose Stufe: 20 Analysen/Monat mit einem API-Schlüssel (erhältlich unter plenitudo.ai)

Pay-per-use (x402): Kein Konto erforderlich. Senden Sie USDC auf Base an die Wallet-Adresse und übergeben Sie den Transaktions-Hash als payment_proof.

{
 "error": "Payment required",
 "x402": {
 "network": "base",
 "token": "USDC",
 "recipient": "0x9053FeDC90c1BCB4a8Cf708DdB426aB02430d6ad",
 "amount_usdc": 0.05
 }
}

Verwendung (Claude Desktop / MCP-Client)

{
 "mcpServers": {
 "invoice-parser": {
 "url": "https://invoice-parser.plenitudo.ai/mcp?ref=readme"
 }
 }
}

Architektur

server.py — MCP server (6 tools: parse_invoice, parse_receipt,
 extract_line_items, extract_totals, validate_invoice,
 export_to_csv)
auth.py — API key validation + usage tracking (SQLite)
x402.py — x402 micropayment verification (USDC on Base)
config.py — Environment variable loading
worker.js — Cloudflare Worker (remote proxy for MCP traffic)
data/keys.db — API key store (created at runtime)
data/usage.db — Monthly usage counters (created at runtime)
logs/ — Structured log files
tests/ — Unit tests (mock Vision API, no real documents needed)

Anfragefluss

AI agent (Claude Desktop, Cursor, etc.)
 │
 │ MCP tool call (JSON-RPC over HTTP)
 ▼
Cloudflare Worker (worker.js) ← optional remote proxy
 │
 │ Forwards to Railway deployment
 ▼
server.py (FastMCP, streamable HTTP)
 │
 ├── auth.py validates API key / x402 proof
 ├── x402.py verifies USDC transaction on Base
 └── Anthropic API Claude Vision reads the document
 │
 ▼
 structured JSON → returned to agent

Umgebungsvariablen

Variable

Erforderlich

Beschreibung

ANTHROPIC_API_KEY

Ja

Anthropic API-Schlüssel für Claude Vision. Auf maxproxy für lokales Proxy-Routing setzen.

ANTHROPIC_BASE_URL

Nein

Überschreibt die Anthropic Basis-URL. Bei Verwendung von maxproxy lokal auf http://localhost:3456 setzen. In Cloud-Deployments nicht setzen.

CLAUDE_MODEL

Nein

Claude Modell-ID. Standard ist claude-3-5-sonnet-20241022.

INVOICEPARSER_DATA_DIR

Nein

Verzeichnis für SQLite-Datenbanken. Standard ist ./data.

PORT

Nein

HTTP-Port. Standard ist 8000. Railway setzt dies automatisch.


Deployment (Railway)

  1. Forken Sie dieses Repo

  2. Verbinden mit Railway → Neues Projekt → Von GitHub bereitstellen

  3. Umgebungsvariablen hinzufügen:

    • ANTHROPIC_API_KEY — Ihr Anthropic API-Schlüssel

    • INVOICEPARSER_DATA_DIR/data

    • STRIPE_WEBHOOK_SECRET — aus dem Stripe-Dashboard

    • STRIPE_PRO_PRICE_ID — aus dem Stripe-Dashboard

  4. Ein persistentes Volume unter /data hinzufügen

  5. Bereitstellen


Lokal ausführen (optionales maxproxy-Routing)

Wenn Sie den Server auf derselben Maschine wie eine maxproxy-Instanz auf Port 3456 ausführen, können Sie Claude Vision-Aufrufe darüber leiten, anstatt die Anthropic API direkt aufzurufen:

ANTHROPIC_API_KEY=maxproxy
ANTHROPIC_BASE_URL=http://localhost:3456

Lassen Sie ANTHROPIC_BASE_URL in jedem Cloud/Railway-Deployment ungesetzt (oder leer) — diese Umgebungen können keinen lokalen Proxy erreichen.


Mitwirken & Sicherheit

Lizenz

MIT — Copyright © 2025 Kenneth Nygren / Plenitudo AI

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/knportal/invoice-parser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server