buchpilot-mcp 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,27 +4,41 @@ All notable changes to this project will be documented in this file.
4
4
  Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
5
5
  Versioning: [Semantic Versioning](https://semver.org/)
6
6
 
7
+ ## [0.1.3] - 2026-04-13 19:00
8
+
9
+ ### Fixed
10
+ - Umlaute korrigiert in allen Docs (ä/ü/ö statt ae/ue/oe)
11
+ - `.npmignore` hinzugefügt — MCP Registry Token-Dateien werden nicht mehr mit npm publiziert
12
+
13
+ ## [0.1.2] - 2026-04-13 18:30
14
+
15
+ ### Added
16
+ - `mcpName: "io.github.makririch/buchpilot"` in package.json — für Official MCP Registry
17
+ - `repository` field in package.json
18
+ - `server.json` — Official MCP Registry Metadata (LEXOFFICE_API_KEY, SEVDESK_API_KEY env vars)
19
+ - Publiziert im Official MCP Registry: `io.github.makririch/buchpilot`
20
+
7
21
  ## [0.1.1] - 2026-03-19 11:30
8
22
 
9
23
  ### Fixed
10
- - Email-Mapping fuer Person-Kontakte: Email wird jetzt korrekt in Lexoffice gesetzt und gelesen
11
- - Rate-Limiter fuer PDF-Download: `getInvoicePdf` nutzt jetzt Rate-Limiting + Fehlerbehandlung
12
- - `contactId`-Filter in `listInvoices` wird jetzt korrekt an Lexoffice API uebergeben
13
- - PDF-Response nutzt Standard-Text-Format statt fragwuerdigem `resource`-Typ
14
- - CHANGELOG: "Sync" korrigiert zu "Ueberfaellige Rechnungen"
24
+ - Email-Mapping für Person-Kontakte: Email wird jetzt korrekt in Lexoffice gesetzt und gelesen
25
+ - Rate-Limiter für PDF-Download: `getInvoicePdf` nutzt jetzt Rate-Limiting + Fehlerbehandlung
26
+ - `contactId`-Filter in `listInvoices` wird jetzt korrekt an Lexoffice API übergeben
27
+ - PDF-Response nutzt Standard-Text-Format statt fragwürdigem `resource`-Typ
28
+ - CHANGELOG: "Sync" korrigiert zu "Überfällige Rechnungen"
15
29
 
16
30
  ## [0.1.0] - 2026-03-18 10:00
17
31
 
18
32
  ### Added
19
- - MCP Server fuer DACH-Buchhaltung via Model Context Protocol (stdio Transport)
33
+ - MCP Server für DACH-Buchhaltung via Model Context Protocol (stdio Transport)
20
34
  - Backend-Architektur mit austauschbaren Backends (aktuell: Lexoffice)
21
- - Lexoffice-Backend: vollstaendige API-Integration mit Lazy-Initialisierung
35
+ - Lexoffice-Backend: vollständige API-Integration mit Lazy-Initialisierung
22
36
  - Tools: Kontakte (create, get, list, update)
23
37
  - Tools: Rechnungen (create, get, list, get_pdf, update)
24
38
  - Tools: Belege/Vouchers (create, get, list)
25
39
  - Tools: Angebote/Quotations (create, get)
26
- - Tools: Ueberfaellige Rechnungen (get_overdue_invoices)
40
+ - Tools: Überfällige Rechnungen (get_overdue_invoices)
27
41
  - Konfiguration via Umgebungsvariablen/Config-Datei
28
42
  - Strukturierte Fehlerbehandlung mit Error Codes
29
- - Zod-basierte Input-Validierung fuer alle Tools
43
+ - Zod-basierte Input-Validierung für alle Tools
30
44
  - TypeScript mit ES Modules
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  # BuchPilot MCP Server
2
2
 
3
- > MCP Server fuer DACH-Buchhaltung — Kontakte, Rechnungen, Belege und Angebote direkt aus Claude, Cursor oder jedem MCP-kompatiblen Client verwalten.
3
+ > MCP Server für DACH-Buchhaltung — Kontakte, Rechnungen, Belege und Angebote direkt aus Claude, Cursor oder jedem MCP-kompatiblen Client verwalten.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/buchpilot-mcp.svg)](https://www.npmjs.com/package/buchpilot-mcp)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
7
7
 
8
8
  ## Was ist das?
9
9
 
10
- BuchPilot MCP ist ein [Model Context Protocol](https://modelcontextprotocol.io/) 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.
10
+ BuchPilot MCP ist ein [Model Context Protocol](https://modelcontextprotocol.io/) Server, der dein Buchhaltungssystem (aktuell Lexoffice) mit KI-Assistenten verbindet. Du kannst per natürlicher Sprache Rechnungen erstellen, Kontakte verwalten und überfällige Zahlungen prüfen — direkt in Claude Desktop, Cursor oder jedem anderen MCP-Client.
11
11
 
12
12
  ## Features
13
13
 
14
- - **15 Tools** fuer vollstaendige Buchhaltungs-Automatisierung
14
+ - **15 Tools** für vollständige Buchhaltungs-Automatisierung
15
15
  - **Kontakte** erstellen, abrufen, auflisten, aktualisieren
16
16
  - **Rechnungen** erstellen, abrufen, auflisten, aktualisieren, PDF herunterladen
17
17
  - **Belege** erstellen, abrufen, auflisten (Eingangsrechnungen, Gutschriften)
18
18
  - **Angebote** erstellen, abrufen
19
- - **Ueberfaellige Rechnungen** mit Betraegen und Tagen ueberfaellig
20
- - **Backend-Architektur** — aktuell Lexoffice, erweiterbar fuer sevDesk, Billomat etc.
21
- - **Plugin-faehig** — kann E-Invoice MCP Tools integrieren (`einvoice-mcp`)
19
+ - **Überfällige Rechnungen** mit Beträgen und Tagen überfällig
20
+ - **Backend-Architektur** — aktuell Lexoffice, erweiterbar für sevDesk, Billomat etc.
21
+ - **Plugin-fähig** — kann E-Invoice MCP Tools integrieren (`einvoice-mcp`)
22
22
  - Keine Datenbank, kein State — reiner API-Proxy
23
23
 
24
24
  ## Installation
@@ -68,9 +68,9 @@ Erstelle eine Konfigurationsdatei `.buchpilot.json` an einem der folgenden Orte:
68
68
 
69
69
  1. Gehe zu [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
70
70
  2. Klicke auf **API-Key erstellen**
71
- 3. Kopiere den Key und fuege ihn in `.buchpilot.json` ein
71
+ 3. Kopiere den Key und füge ihn in `.buchpilot.json` ein
72
72
 
73
- > **Sicherheitshinweis:** Speichere den API-Key nie in Git. Fuege `.buchpilot.json` zu deiner `.gitignore` hinzu.
73
+ > **Sicherheitshinweis:** Speichere den API-Key nie in Git. Füge `.buchpilot.json` zu deiner `.gitignore` hinzu.
74
74
 
75
75
  ## Nutzung
76
76
 
@@ -87,13 +87,13 @@ npm start
87
87
  npm run dev
88
88
  ```
89
89
 
90
- Der Server laeuft ueber stdio und wartet auf MCP-Nachrichten.
90
+ Der Server läuft über stdio und wartet auf MCP-Nachrichten.
91
91
 
92
92
  ### In Claude Desktop verwenden
93
93
 
94
- Siehe [Claude Desktop Setup Guide](docs/claude-desktop-setup.md) fuer eine detaillierte Anleitung.
94
+ Siehe [Claude Desktop Setup Guide](docs/claude-desktop-setup.md) für eine detaillierte Anleitung.
95
95
 
96
- Kurzversion — fuege in `claude_desktop_config.json` hinzu:
96
+ Kurzversion — füge in `claude_desktop_config.json` hinzu:
97
97
 
98
98
  ```json
99
99
  {
@@ -109,22 +109,22 @@ Kurzversion — fuege in `claude_desktop_config.json` hinzu:
109
109
  }
110
110
  ```
111
111
 
112
- ### Beispiele (natuerliche Sprache in Claude)
112
+ ### Beispiele (natürliche Sprache in Claude)
113
113
 
114
114
  Nachdem du den Server konfiguriert hast, kannst du Claude z.B. fragen:
115
115
 
116
- - "Erstelle einen Kontakt fuer die Firma Beispiel GmbH mit der E-Mail info@beispiel.de"
116
+ - "Erstelle einen Kontakt für die Firma Beispiel GmbH mit der E-Mail info@beispiel.de"
117
117
  - "Zeige mir alle offenen Rechnungen"
118
118
  - "Erstelle eine Rechnung an Kontakt XYZ: 10 Stunden Beratung zu je 150 EUR"
119
- - "Welche Rechnungen sind ueberfaellig?"
119
+ - "Welche Rechnungen sind überfällig?"
120
120
  - "Lade die PDF von Rechnung ABC herunter"
121
- - "Erstelle ein Angebot fuer 5 Lizenzen a 49 EUR/Monat"
121
+ - "Erstelle ein Angebot für 5 Lizenzen a 49 EUR/Monat"
122
122
 
123
123
  ## Tool-Referenz
124
124
 
125
- Eine vollstaendige Referenz aller 15 Tools mit Parametern, Beispiel-Inputs und Beispiel-Outputs findest du in [docs/tool-reference.md](docs/tool-reference.md).
125
+ Eine vollständige Referenz aller 15 Tools mit Parametern, Beispiel-Inputs und Beispiel-Outputs findest du in [docs/tool-reference.md](docs/tool-reference.md).
126
126
 
127
- ### Kurzuebersicht
127
+ ### Kurzübersicht
128
128
 
129
129
  | Tool | Beschreibung |
130
130
  |------|-------------|
@@ -142,7 +142,7 @@ Eine vollstaendige Referenz aller 15 Tools mit Parametern, Beispiel-Inputs und B
142
142
  | `list_vouchers` | Belege auflisten |
143
143
  | `create_quotation` | Neues Angebot mit Positionen erstellen |
144
144
  | `get_quotation` | Angebot per ID abrufen |
145
- | `get_overdue_invoices` | Ueberfaellige Rechnungen mit Analyse |
145
+ | `get_overdue_invoices` | Überfällige Rechnungen mit Analyse |
146
146
 
147
147
  ## E-Invoice Integration
148
148
 
@@ -168,26 +168,26 @@ echo '{"backends":{"lexoffice":{"api_key":"DEIN_KEY"}},"default_backend":"lexoff
168
168
  ### "401 Unauthorized" bei Lexoffice
169
169
 
170
170
  - Ist der API-Key korrekt in `.dachflow.json`?
171
- - Ist der Key noch aktiv? Pruefe unter [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
172
- - API-Keys koennen ablaufen — erstelle ggf. einen neuen
171
+ - Ist der Key noch aktiv? Prüfe unter [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
172
+ - API-Keys können ablaufen — erstelle ggf. einen neuen
173
173
 
174
174
  ### "429 Too Many Requests"
175
175
 
176
- Lexoffice erlaubt max. 2 Requests pro Sekunde. Wenn du viele Operationen hintereinander ausfuehrst, warte kurz zwischen den Anfragen.
176
+ Lexoffice erlaubt max. 2 Requests pro Sekunde. Wenn du viele Operationen hintereinander ausführst, warte kurz zwischen den Anfragen.
177
177
 
178
178
  ### Server startet, aber Claude erkennt die Tools nicht
179
179
 
180
- - Pruefe ob die `claude_desktop_config.json` korrekt ist
181
- - Starte Claude Desktop neu nach Konfigurationsaenderungen
182
- - Pruefe die Logs: `~/Library/Logs/Claude/mcp.log` (macOS)
180
+ - Prüfe ob die `claude_desktop_config.json` korrekt ist
181
+ - Starte Claude Desktop neu nach Konfigurationsänderungen
182
+ - Prüfe die Logs: `~/Library/Logs/Claude/mcp.log` (macOS)
183
183
 
184
184
  ### Rechnung kann nicht aktualisiert werden
185
185
 
186
- Nur Rechnungen im Status **draft** (Entwurf) koennen aktualisiert werden. Finalisierte Rechnungen sind unveraenderlich.
186
+ Nur Rechnungen im Status **draft** (Entwurf) können aktualisiert werden. Finalisierte Rechnungen sind unveränderlich.
187
187
 
188
- ### Backend "sevDesk" nicht verfuegbar
188
+ ### Backend "sevDesk" nicht verfügbar
189
189
 
190
- Aktuell wird nur **Lexoffice** als Backend unterstuetzt. sevDesk-Unterstuetzung ist geplant. Du kannst die n8n-Nodes (`n8n-nodes-buchpilot`) fuer sevDesk verwenden.
190
+ Aktuell wird nur **Lexoffice** als Backend unterstützt. sevDesk-Unterstützung ist geplant. Du kannst die n8n-Nodes (`n8n-nodes-buchpilot`) für sevDesk verwenden.
191
191
 
192
192
  ## Lizenz
193
193
 
@@ -1,6 +1,6 @@
1
1
  # BuchPilot MCP — Claude Desktop Setup Guide
2
2
 
3
- Diese Anleitung zeigt dir Schritt fuer Schritt, wie du den BuchPilot MCP Server in Claude Desktop einrichtest.
3
+ Diese Anleitung zeigt dir Schritt für Schritt, wie du den BuchPilot MCP Server in Claude Desktop einrichtest.
4
4
 
5
5
  ## Voraussetzungen
6
6
 
@@ -10,7 +10,7 @@ Diese Anleitung zeigt dir Schritt fuer Schritt, wie du den BuchPilot MCP Server
10
10
 
11
11
  ## Schritt 1: Lexoffice API-Key erstellen
12
12
 
13
- 1. Oeffne [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
13
+ 1. Öffne [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
14
14
  2. Klicke auf **API-Key erstellen**
15
15
  3. Kopiere den Key — du brauchst ihn gleich
16
16
 
@@ -48,11 +48,11 @@ EOF
48
48
  "@ | Out-File -Encoding utf8 "$env:USERPROFILE\.buchpilot.json"
49
49
  ```
50
50
 
51
- Ersetze `DEIN_LEXOFFICE_API_KEY_HIER` durch deinen tatsaechlichen API-Key.
51
+ Ersetze `DEIN_LEXOFFICE_API_KEY_HIER` durch deinen tatsächlichen API-Key.
52
52
 
53
53
  ## Schritt 3: Claude Desktop konfigurieren
54
54
 
55
- Oeffne die Claude Desktop Konfigurationsdatei:
55
+ Öffne die Claude Desktop Konfigurationsdatei:
56
56
 
57
57
  ### macOS
58
58
 
@@ -72,7 +72,7 @@ Oeffne die Claude Desktop Konfigurationsdatei:
72
72
  ~/.config/claude/claude_desktop_config.json
73
73
  ```
74
74
 
75
- Falls die Datei nicht existiert, erstelle sie. Fuege folgenden Inhalt hinzu:
75
+ Falls die Datei nicht existiert, erstelle sie. Füge folgenden Inhalt hinzu:
76
76
 
77
77
  ### Variante A: Mit npx (empfohlen, immer aktuell)
78
78
 
@@ -126,13 +126,13 @@ Falls die Datei nicht existiert, erstelle sie. Fuege folgenden Inhalt hinzu:
126
126
  }
127
127
  ```
128
128
 
129
- > **Hinweis:** Ersetze `/Users/DEIN_NAME/` durch deinen tatsaechlichen Home-Pfad.
129
+ > **Hinweis:** Ersetze `/Users/DEIN_NAME/` durch deinen tatsächlichen Home-Pfad.
130
130
 
131
131
 
132
132
  ## Schritt 4: Claude Desktop neu starten
133
133
 
134
- 1. Schliesse Claude Desktop vollstaendig (nicht nur minimieren)
135
- 2. Oeffne Claude Desktop erneut
134
+ 1. Schließe Claude Desktop vollständig (nicht nur minimieren)
135
+ 2. Öffne Claude Desktop erneut
136
136
  3. Du solltest jetzt ein Hammer-Symbol (Tools) im Chat sehen
137
137
 
138
138
  <!-- Screenshot-Platzhalter: Claude Desktop mit Tool-Symbol -->
@@ -140,7 +140,7 @@ Falls die Datei nicht existiert, erstelle sie. Fuege folgenden Inhalt hinzu:
140
140
 
141
141
  ## Schritt 5: Testen
142
142
 
143
- Oeffne einen neuen Chat in Claude und probiere:
143
+ Öffne einen neuen Chat in Claude und probiere:
144
144
 
145
145
  ```
146
146
  Zeige mir alle meine Kontakte in Lexoffice
@@ -154,15 +154,15 @@ Claude sollte das `list_contacts`-Tool aufrufen und deine Kontakte anzeigen.
154
154
  Weitere Beispiele:
155
155
 
156
156
  ```
157
- Erstelle einen Kontakt fuer die Firma "Test GmbH" mit der E-Mail test@beispiel.de
157
+ Erstelle einen Kontakt für die Firma "Test GmbH" mit der E-Mail test@beispiel.de
158
158
  ```
159
159
 
160
160
  ```
161
- Welche Rechnungen sind ueberfaellig?
161
+ Welche Rechnungen sind überfällig?
162
162
  ```
163
163
 
164
164
  ```
165
- Erstelle eine Rechnung an Kontakt [ID] fuer:
165
+ Erstelle eine Rechnung an Kontakt [ID] für:
166
166
  - 10 Stunden Beratung zu je 150 EUR
167
167
  - 1 Lizenz Software zu 499 EUR
168
168
  ```
@@ -171,12 +171,12 @@ Erstelle eine Rechnung an Kontakt [ID] fuer:
171
171
 
172
172
  ### Tools erscheinen nicht in Claude
173
173
 
174
- 1. **Config-Pfad pruefen:** Ist der Pfad zu `claude_desktop_config.json` korrekt?
174
+ 1. **Config-Pfad prüfen:** Ist der Pfad zu `claude_desktop_config.json` korrekt?
175
175
  2. **JSON-Syntax:** Ist die JSON-Datei valide? (Keine Kommas nach dem letzten Element)
176
176
  3. **Node.js:** Ist `node` und `npx` im PATH? Teste mit `node --version` im Terminal.
177
- 4. **Neustart:** Hast du Claude Desktop vollstaendig neu gestartet?
177
+ 4. **Neustart:** Hast du Claude Desktop vollständig neu gestartet?
178
178
 
179
- ### Logs pruefen
179
+ ### Logs prüfen
180
180
 
181
181
  **macOS:**
182
182
  ```bash
@@ -190,16 +190,16 @@ Get-Content "$env:APPDATA\Claude\Logs\mcp.log" -Wait
190
190
 
191
191
  ### "No .buchpilot.json found"
192
192
 
193
- Die Konfigurationsdatei wurde nicht gefunden. Pruefe:
193
+ Die Konfigurationsdatei wurde nicht gefunden. Prüfe:
194
194
  - Existiert `~/.buchpilot.json`?
195
195
  - Ist der Pfad in der `env.BUCHPILOT_CONFIG` korrekt?
196
- - Hat die Datei gueltiges JSON?
196
+ - Hat die Datei gültiges JSON?
197
197
 
198
198
  ### "401 Unauthorized"
199
199
 
200
- Der Lexoffice API-Key ist ungueltig oder abgelaufen:
200
+ Der Lexoffice API-Key ist ungültig oder abgelaufen:
201
201
  1. Gehe zu [Lexoffice Public API](https://app.lexoffice.de/addons/public-api)
202
- 2. Pruefe ob der Key aktiv ist
202
+ 2. Prüfe ob der Key aktiv ist
203
203
  3. Erstelle ggf. einen neuen Key
204
204
  4. Aktualisiere `~/.buchpilot.json`
205
205
  5. Starte Claude Desktop neu
@@ -1,6 +1,6 @@
1
1
  # BuchPilot MCP — Tool-Referenz
2
2
 
3
- Vollstaendige Referenz aller 15 Tools des BuchPilot MCP Servers.
3
+ Vollständige Referenz aller 15 Tools des BuchPilot MCP Servers.
4
4
 
5
5
  ---
6
6
 
@@ -136,7 +136,7 @@ Listet Kontakte auf mit optionalen Filtern.
136
136
 
137
137
  ### update_contact
138
138
 
139
- Aktualisiert einen bestehenden Kontakt. Nur die uebergebenen Felder werden geaendert.
139
+ Aktualisiert einen bestehenden Kontakt. Nur die übergebenen Felder werden geändert.
140
140
 
141
141
  **Parameter:**
142
142
 
@@ -169,7 +169,7 @@ Erstellt eine neue Rechnung mit Positionen.
169
169
 
170
170
  | Parameter | Typ | Pflicht | Default | Beschreibung |
171
171
  |-----------|-----|---------|---------|-------------|
172
- | `contactId` | string | Ja | — | Kontakt-ID des Rechnungsempfaengers |
172
+ | `contactId` | string | Ja | — | Kontakt-ID des Rechnungsempfängers |
173
173
  | `date` | string | Ja | — | Rechnungsdatum (ISO 8601, z.B. `2026-03-18`) |
174
174
  | `lineItems` | Array | Ja | — | Rechnungspositionen (mind. 1) |
175
175
  | `lineItems[].name` | string | Ja | — | Positionsname |
@@ -179,7 +179,7 @@ Erstellt eine neue Rechnung mit Positionen.
179
179
  | `title` | string | Nein | — | Rechnungstitel |
180
180
  | `introduction` | string | Nein | — | Einleitungstext |
181
181
  | `remark` | string | Nein | — | Schlusstext |
182
- | `currency` | string | Nein | `"EUR"` | Waehrung |
182
+ | `currency` | string | Nein | `"EUR"` | Währung |
183
183
  | `finalize` | boolean | Nein | `false` | Rechnung direkt finalisieren (nicht mehr editierbar) |
184
184
  | `backend` | string | Nein | Default-Backend | Backend |
185
185
 
@@ -193,8 +193,8 @@ Erstellt eine neue Rechnung mit Positionen.
193
193
  { "name": "Beratung", "quantity": 10, "unitPrice": 150.00, "taxRate": 19 },
194
194
  { "name": "Softwarelizenz", "quantity": 1, "unitPrice": 499.00, "taxRate": 19 }
195
195
  ],
196
- "title": "Rechnung Maerz 2026",
197
- "introduction": "Vielen Dank fuer Ihren Auftrag.",
196
+ "title": "Rechnung März 2026",
197
+ "introduction": "Vielen Dank für Ihren Auftrag.",
198
198
  "remark": "Zahlbar innerhalb von 14 Tagen.",
199
199
  "finalize": false
200
200
  }
@@ -263,7 +263,7 @@ Listet Rechnungen auf. Kann nach Status und Kontakt gefiltert werden.
263
263
 
264
264
  ### get_invoice_pdf
265
265
 
266
- Laedt eine Rechnung als PDF herunter (Base64-kodiert). Die Rechnung muss finalisiert sein (Status "open" oder "paid").
266
+ Lädt eine Rechnung als PDF herunter (Base64-kodiert). Die Rechnung muss finalisiert sein (Status "open" oder "paid").
267
267
 
268
268
  **Parameter:**
269
269
 
@@ -281,13 +281,13 @@ Laedt eine Rechnung als PDF herunter (Base64-kodiert). Die Rechnung muss finalis
281
281
  }
282
282
  ```
283
283
 
284
- Zusaetzlich wird die PDF als Base64-kodierte Ressource zurueckgegeben.
284
+ Zusätzlich wird die PDF als Base64-kodierte Ressource zurückgegeben.
285
285
 
286
286
  ---
287
287
 
288
288
  ### update_invoice
289
289
 
290
- Aktualisiert eine bestehende Rechnung. Nur Entwuerfe (Status "draft") koennen aktualisiert werden.
290
+ Aktualisiert eine bestehende Rechnung. Nur Entwürfe (Status "draft") können aktualisiert werden.
291
291
 
292
292
  **Parameter:**
293
293
 
@@ -327,7 +327,7 @@ Erstellt einen neuen Beleg (Eingangsrechnung oder Gutschrift).
327
327
  "date": "2026-03-15",
328
328
  "totalGross": 119.00,
329
329
  "taxRate": 19,
330
- "remark": "Bueromaterial"
330
+ "remark": "Büromaterial"
331
331
  }
332
332
  ```
333
333
 
@@ -391,7 +391,7 @@ Erstellt ein neues Angebot mit Positionen.
391
391
  | `lineItems[].quantity` | number | Nein | 1 | Menge |
392
392
  | `lineItems[].unitPrice` | number | Ja | — | Einzelpreis netto |
393
393
  | `lineItems[].taxRate` | number | Nein | 19 | Steuersatz in Prozent |
394
- | `expirationDate` | string | Nein | — | Gueltig bis (ISO 8601) |
394
+ | `expirationDate` | string | Nein | — | Gültig bis (ISO 8601) |
395
395
  | `title` | string | Nein | — | Angebotstitel |
396
396
  | `introduction` | string | Nein | — | Einleitungstext |
397
397
  | `remark` | string | Nein | — | Schlusstext |
@@ -448,17 +448,17 @@ Ruft ein Angebot per ID ab.
448
448
 
449
449
  ---
450
450
 
451
- ## Ueberfaellige Rechnungen
451
+ ## Überfällige Rechnungen
452
452
 
453
453
  ### get_overdue_invoices
454
454
 
455
- Listet alle ueberfaelligen Rechnungen mit Betrag, Faelligkeitsdatum und Tagen ueberfaellig auf.
455
+ Listet alle überfälligen Rechnungen mit Betrag, Fälligkeitsdatum und Tagen überfällig auf.
456
456
 
457
457
  **Parameter:**
458
458
 
459
459
  | Parameter | Typ | Pflicht | Default | Beschreibung |
460
460
  |-----------|-----|---------|---------|-------------|
461
- | `days_overdue` | number | Nein | 0 | Mindestens X Tage ueberfaellig (0 = alle ueberfaelligen) |
461
+ | `days_overdue` | number | Nein | 0 | Mindestens X Tage überfällig (0 = alle überfälligen) |
462
462
  | `limit` | number | Nein | 50 | Maximale Anzahl |
463
463
  | `backend` | string | Nein | Default-Backend | Backend |
464
464
 
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "buchpilot-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "mcpName": "io.github.makririch/buchpilot",
5
- "description": "MCP Server fuer DACH-Buchhaltung (Lexoffice, Billomat, sevDesk)",
5
+ "description": "MCP Server für DACH-Buchhaltung (Lexoffice, Billomat, sevDesk)",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "bin": {
package/server.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.makririch/buchpilot",
4
+ "description": "DACH accounting for AI: connect sevDesk & Lexoffice to create invoices, contacts, vouchers.",
5
+ "repository": {
6
+ "url": "https://github.com/makririch/buchpilot-mcp",
7
+ "source": "github"
8
+ },
9
+ "version": "0.1.3",
10
+ "packages": [
11
+ {
12
+ "registryType": "npm",
13
+ "identifier": "buchpilot-mcp",
14
+ "version": "0.1.3",
15
+ "transport": {
16
+ "type": "stdio"
17
+ },
18
+ "environmentVariables": [
19
+ {
20
+ "description": "Lexoffice API key (from lexoffice.de/api)",
21
+ "isRequired": false,
22
+ "format": "string",
23
+ "isSecret": true,
24
+ "name": "LEXOFFICE_API_KEY"
25
+ },
26
+ {
27
+ "description": "sevDesk API key (from sevdesk.de/api)",
28
+ "isRequired": false,
29
+ "format": "string",
30
+ "isSecret": true,
31
+ "name": "SEVDESK_API_KEY"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }