Buchpilot

io.github.makririchPublished by GitHub account makririchv0.1.2Updated Oct 24, 2026

DACH accounting for AI: connect sevDesk & Lexoffice to create invoices, contacts, vouchers.

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Connects an AI assistant to Lexoffice accounting so it can create and manage contacts, invoices, vouchers and quotations in natural language.

What you can do
BuchPilot is a local MCP server that proxies the Lexoffice accounting API. It exposes 15 tools covering contacts (create, get, list, update), invoices (create, get, list, update, download PDF), vouchers for incoming invoices and credit notes, quotations, and a report of overdue invoices with amounts and days overdue. It keeps no database or state and can optionally register extra e-invoice tools for XRechnung and ZUGFeRD.
When to use it
Use it when an assistant should handle routine DACH bookkeeping work in Lexoffice, such as drafting invoices or quotations, looking up contacts, or checking which invoices are overdue. It suits users who already run Lexoffice and want to drive it conversationally from Claude Desktop, Cursor or another MCP client.
Requirements
Node.js 18 or newer and a Lexoffice account with an API key. The key is read from a .buchpilot.json config file located via the BUCHPILOT_CONFIG environment variable, the home directory, or the current directory. The manifest also lists LEXOFFICE_API_KEY and SEVDESK_API_KEY as secret names. Runs locally over stdio; desktop client only. Lexoffice allows about 2 requests per second.
Before you install
The server needs a Lexoffice API key, which grants access to real accounting data; the README warns never to commit it to Git and to add the config file to .gitignore. Tools create and update contacts, invoices, vouchers and quotations, so assistant actions change live business records. Only draft invoices can be updated; finalised ones are immutable. sevDesk is not yet supported despite the SEVDESK_API_KEY name.

Installation

In SourceWeft

  1. Open Buchpilot in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

BuchPilot MCP Server

MCP Server fuer DACH-Buchhaltung — Kontakte, Rechnungen, Belege und Angebote direkt aus Claude, Cursor oder jedem MCP-kompatiblen Client verwalten.

[npm version] [License: MIT]

Was ist das?

BuchPilot MCP ist ein Model Context Protocol Server, der dein Buchhaltungssystem (aktuell Lexoffice) mit KI-Assistenten verbindet. Du kannst per natuerlicher Sprache Rechnungen erstellen, Kontakte verwalten und ueberfaellige Zahlungen pruefen — direkt in Claude Desktop, Cursor oder jedem anderen MCP-Client.

Features

  • 15 Tools fuer vollstaendige Buchhaltungs-Automatisierung
  • Kontakte erstellen, abrufen, auflisten, aktualisieren
  • Rechnungen erstellen, abrufen, auflisten, aktualisieren, PDF herunterladen
  • Belege erstellen, abrufen, auflisten (Eingangsrechnungen, Gutschriften)
  • Angebote erstellen, abrufen
  • Ueberfaellige Rechnungen mit Betraegen und Tagen ueberfaellig
  • Backend-Architektur — aktuell Lexoffice, erweiterbar fuer sevDesk, Billomat etc.
  • Plugin-faehig — kann E-Invoice MCP Tools integrieren (einvoice-mcp)
  • Keine Datenbank, kein State — reiner API-Proxy

Installation

Voraussetzungen

  • Node.js >= 18
  • Ein Lexoffice-Account mit API-Key

npm (global)

bash
npm install -g buchpilot-mcp

Von Source

bash
git clone https://github.com/makririch/buchpilot-mcp.gitcd buchpilot-mcpnpm installnpm run build

Konfiguration

Erstelle eine Konfigurationsdatei .buchpilot.json an einem der folgenden Orte:

  1. Pfad aus Umgebungsvariable BUCHPILOT_CONFIG
  2. ~/.buchpilot.json (Home-Verzeichnis)
  3. ./.buchpilot.json (aktuelles Verzeichnis)

Inhalt der .buchpilot.json

json
{  "backends": {    "lexoffice": {      "api_key": "DEIN_LEXOFFICE_API_KEY"    }  },  "default_backend": "lexoffice"}

Lexoffice API-Key erstellen

  1. Gehe zu Lexoffice Public API
  2. Klicke auf API-Key erstellen
  3. Kopiere den Key und fuege ihn in .buchpilot.json ein

Sicherheitshinweis: Speichere den API-Key nie in Git. Fuege .buchpilot.json zu deiner .gitignore hinzu.

Nutzung

Server starten (standalone)

bash
# Nach npm install -g:buchpilot-mcp
# Oder von Source:npm start
# Entwicklung mit Auto-Reload:npm run dev

Der Server laeuft ueber stdio und wartet auf MCP-Nachrichten.

In Claude Desktop verwenden

Siehe Claude Desktop Setup Guide fuer eine detaillierte Anleitung.

Kurzversion — fuege in claude_desktop_config.json hinzu:

json
{  "mcpServers": {    "buchpilot": {      "command": "npx",      "args": ["-y", "buchpilot-mcp"],      "env": {        "BUCHPILOT_CONFIG": "/Users/DEIN_NAME/.buchpilot.json"      }    }  }}

Beispiele (natuerliche Sprache in Claude)

Nachdem du den Server konfiguriert hast, kannst du Claude z.B. fragen:

  • "Erstelle einen Kontakt fuer die Firma Beispiel GmbH mit der E-Mail [email protected]"
  • "Zeige mir alle offenen Rechnungen"
  • "Erstelle eine Rechnung an Kontakt XYZ: 10 Stunden Beratung zu je 150 EUR"
  • "Welche Rechnungen sind ueberfaellig?"
  • "Lade die PDF von Rechnung ABC herunter"
  • "Erstelle ein Angebot fuer 5 Lizenzen a 49 EUR/Monat"

Tool-Referenz

Eine vollstaendige Referenz aller 15 Tools mit Parametern, Beispiel-Inputs und Beispiel-Outputs findest du in docs/tool-reference.md.

Kurzuebersicht

ToolBeschreibung
create_contactNeuen Kontakt anlegen (Person oder Firma)
get_contactKontakt per ID abrufen
list_contactsKontakte auflisten mit Filtern
update_contactKontakt aktualisieren
create_invoiceNeue Rechnung mit Positionen erstellen
get_invoiceRechnung per ID abrufen
list_invoicesRechnungen auflisten (nach Status filterbar)
get_invoice_pdfRechnung als PDF herunterladen (Base64)
update_invoiceEntwurfs-Rechnung aktualisieren
create_voucherNeuen Beleg anlegen
get_voucherBeleg per ID abrufen
list_vouchersBelege auflisten
create_quotationNeues Angebot mit Positionen erstellen
get_quotationAngebot per ID abrufen
get_overdue_invoicesUeberfaellige Rechnungen mit Analyse

E-Invoice Integration

BuchPilot MCP kann optional das E-Invoice MCP Paket integrieren, um XRechnung und ZUGFeRD direkt aus dem Buchhaltungssystem zu erzeugen:

typescript
// In deinem eigenen MCP-Server:import { registerEInvoiceTools } from "einvoice-mcp";registerEInvoiceTools(server);// Ergebnis: 15 + 4 = 19 Tools

FAQ / Troubleshooting

"No .buchpilot.json found"

Der Server findet keine Konfigurationsdatei. Erstelle eine .buchpilot.json in deinem Home-Verzeichnis:

bash
echo '{"backends":{"lexoffice":{"api_key":"DEIN_KEY"}},"default_backend":"lexoffice"}' > ~/.buchpilot.json

"401 Unauthorized" bei Lexoffice

  • Ist der API-Key korrekt in .dachflow.json?
  • Ist der Key noch aktiv? Pruefe unter Lexoffice Public API
  • API-Keys koennen ablaufen — erstelle ggf. einen neuen

"429 Too Many Requests"

Lexoffice erlaubt max. 2 Requests pro Sekunde. Wenn du viele Operationen hintereinander ausfuehrst, warte kurz zwischen den Anfragen.

Server startet, aber Claude erkennt die Tools nicht

  • Pruefe ob die claude_desktop_config.json korrekt ist
  • Starte Claude Desktop neu nach Konfigurationsaenderungen
  • Pruefe die Logs: ~/Library/Logs/Claude/mcp.log (macOS)

Rechnung kann nicht aktualisiert werden

Nur Rechnungen im Status draft (Entwurf) koennen aktualisiert werden. Finalisierte Rechnungen sind unveraenderlich.

Backend "sevDesk" nicht verfuegbar

Aktuell wird nur Lexoffice als Backend unterstuetzt. sevDesk-Unterstuetzung ist geplant. Du kannst die n8n-Nodes (n8n-nodes-buchpilot) fuer sevDesk verwenden.

Lizenz

MIT — Frei nutzbar, auch kommerziell.

Autor

MaKri — GitHub

Source: README.md at commit a7a114f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.