BuchhaltungsButler MCP-Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BuchhaltungsButler MCP-Server List all receipts from last month."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
A Model Context Protocol (MCP) server for the BuchhaltungsButler API. This allows you to use BuchhaltungsButler directly from Claude Desktop, ChatGPT, or any other MCP client.
Requirements
Node.js ≥ 18
BuchhaltungsButler API access (API Client + API Secret + API Key of a customer)
Related MCP server: MonKey Office MCP Server
Installation
git clone <repo-url>
cd buchhaltungsbutler-mcp
npm install
npm run buildConfiguration
The following environment variables are required:
Variable | Description |
| Your API Client |
| Your API Secret |
| The API key of the customer to be managed (can be overridden per tool call) |
Optional:
Variable | Description |
| Default: |
Usage in Claude Desktop
Open the Claude Desktop configuration:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server:
{
"mcpServers": {
"buchhaltungsbutler": {
"command": "node",
"args": ["/absoluter/pfad/zu/buchhaltungsbutler-mcp/dist/index.js"],
"env": {
"BUCHHALTUNGSBUTLER_API_CLIENT": "dein-api-client",
"BUCHHALTUNGSBUTLER_API_SECRET": "dein-api-secret",
"BUCHHALTUNGSBUTLER_API_KEY": "kunden-api-key"
}
}
}
}Restart Claude Desktop.
Usage in ChatGPT / Other Clients
This server uses the MCP stdio transport, which is natively supported by Claude Desktop. For ChatGPT or other clients, an MCP client bridge (e.g., mcp-proxy) is required to translate stdio to SSE/WebSocket:
npx mcp-proxy node /absoluter/pfad/zu/buchhaltungsbutler-mcp/dist/index.jsAvailable Tools
Receipts:
list_receipts,get_receipt,create_receipt,upload_receipt,delete_receiptTransactions:
list_transactions,get_transaction,create_transaction,assign_receipt_to_transaction,unassign_receipt_from_transactionInvoices:
create_invoice,create_invoice_draftPostings:
list_postings,create_free_postingMaster data:
list_debtors,list_creditors,list_posting_accounts,create_debtor,create_creditorOther:
list_accounts,add_comment,list_cost_locations,create_cost_location
The complete API documentation is available as api-spec.json in the project and can be compared with the official BuchhaltungsButler API docs.
Security
API Client and Secret are confidential. Do not store them in the repository, only in the Claude Desktop configuration or in environment variables.
The
.gitignoreexcludesnode_modules/,dist/, and.env.
Development
npm run dev # TypeScript im Watch-Modus
npm run build # Einmalig bauen
npm start # Server startenLicense
MIT
Available Tools
23 toolsadd_commentB
Fügt einem Beleg oder einer Transaktion einen Kommentar hinzu.
Inputs: type (required), comment (required), id_by_customer (required), api_key.
assign_receipt_to_transactionC
Ordnet einen Beleg einer Banktransaktion zu (Matching).
Inputs: receipt_id_by_customer (required), transaction_id_by_customer (required), api_key.
create_cost_locationB
Erstellt eine neue Kostenstelle.
Inputs: name (required), number (required), api_key.
create_creditorA
Erstellt einen neuen Kreditor (Lieferant).
Inputs: name (required), fax, zip, city, +10 more.
create_debtorB
Erstellt einen neuen Debitoren (Kunden).
Inputs: name (required), fax, zip, city, +10 more.
create_free_postingB
Erstellt eine freie Buchung mit Soll- und Habenkonto.
Inputs: vat (required), date (required), amount (required), postingtext (required), +5 more.
create_invoiceC
Erstellt eine Rechnung, Gutschrift oder ein Angebot in BuchhaltungsButler.
Inputs: date (required), type (required), item_vat (required), item_name (required), +21 more.
create_invoice_draftA
Erstellt einen Rechnungsentwurf in BuchhaltungsButler (gleiche Parameter wie create_invoice).
Inputs: date (required), type (required), item_vat (required), item_name (required), +21 more.
create_receiptA
Erstellt einen neuen Beleg ohne Datei (z.B. Eingangsrechnung, Ausgangsrechnung, Gutschrift).
Inputs: date (required), type (required), amount (required), currency (required), +10 more.
create_transactionC
Erstellt eine neue Banktransaktion auf einem Zahlungskonto.
Inputs: amount (required), account (required), to_from (required), booking_date (required), +7 more.
delete_receiptB
Löscht einen Beleg anhand seiner id_by_customer.
Inputs: id_by_customer (required), api_key.
get_receiptA
Ruft einen einzelnen Beleg anhand seiner id_by_customer ab. Optional kann die zugehörige Datei als Base64 mitgeliefert werden.
Inputs: id_by_customer (required), api_key, get_file.
get_transactionA
Ruft eine einzelne Transaktion anhand ihrer id_by_customer ab.
Inputs: id_by_customer (required), api_key.
list_accountsB
Ruft alle Konten eines BuchhaltungsButler-Kunden ab.
Inputs: api_key.
list_cost_locationsA
Ruft alle Kostenstellen eines BuchhaltungsButler-Kunden ab.
Inputs: api_key.
list_creditorsA
Ruft alle Kreditoren (Lieferanten) eines BuchhaltungsButler-Kontos ab.
Inputs: limit, offset, api_key.
list_debtorsB
Ruft alle Debitoren (Kunden) eines BuchhaltungsButler-Kontos ab.
Inputs: limit, offset, api_key.
list_posting_accountsA
Ruft alle Sachkonten eines BuchhaltungsButler-Kontos ab.
Inputs: limit, offset, api_key.
list_postingsB
Ruft Buchungen (Postings) für einen Kunden ab. Pro Aufruf maximal 1000 Buchungen.
Inputs: account, api_key, date_to, date_from, +4 more.
list_receiptsA
Ruft Belege (Eingangs- oder Ausgangsbelege) für einen BuchhaltungsButler-Kunden ab. Unterstützt Filter nach Zeitraum, Zahlungsstatus, Gegenpartei und Rechnungsnummer.
Inputs: list_direction (required), limit, order, offset, +9 more.
list_transactionsB
Ruft Banktransaktionen für einen Kunden ab. Kann nach Konto, Zeitraum, Betrag und Gegenpartei gefiltert werden.
Inputs: limit, order, offset, account, +7 more.
unassign_receipt_from_transactionC
Entfernt die Zuordnung eines Belegs von einer Banktransaktion.
Inputs: receipt_id_by_customer (required), transaction_id_by_customer (required), api_key.
upload_receiptA
Lädt einen Beleg mit Datei (PDF, XML, Bild) in BuchhaltungsButler hoch. Die Datei muss als Base64-kodierter String übergeben werden.
Inputs: type (required), file_base64 (required), date, amount, +12 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 23 tools
Several tools have unclear boundaries: create_receipt and create_invoice both create invoices/credit notes, and create_invoice_draft is a near-variant. list_accounts and list_posting_accounts can also be confused. Most other resources are distinct, but these overlaps make tool selection error-prone.
All tool names follow a consistent lower_snake_case verb_noun pattern: list_*, get_*, create_*, delete_*, upload_*. Pluralization is consistent for list operations, and longer names like assign_receipt_to_transaction remain predictable.
With 23 tools, the server is at the heavy end of the typical range. Several tools overlap in purpose, especially create_receipt, create_invoice, and create_invoice_draft. The count is not unreasonable for an accounting suite, but the set could be consolidated.
The server covers many read/create workflows but lacks update/delete operations for most entities such as transactions, invoices, debtors/creditors, accounts, and cost locations. create_invoice_draft creates a draft with no matching list/get tool, leaving the workflow incomplete.
Maintenance
Related MCP Connectors
Connect Claude to Dutch accounting software: e-Boekhouden invoices, contacts and ledgers.
Log, query, and edit expenses, budgets, and accounts in Manilo (formerly Ledgy) from any MCP-compatible AI assistant.
Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.
Bokio MCP server for ChatGPT, Claude and any AI agent: create invoice, send invoice, upload receipt, create journal entry and list unpaid invoices in your own Bokio account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Bokio yourself; Cotlet does not store your password and you need no Bokio API key. About the official Bokio API: Yes, Bokio has a public REST API for invoices, customers, journal entries, uploads and supplier invoices (checked 14 Oct 2026), but it depends on your price plan and on the kind of integration: a private integration token works for one company only, and a tool that serves several companies must be registered as a public integration with OAuth 2.0. Bokio publishes no MCP server of its own. Setup and FAQ: https://cotlet.dev/integrations/bokio-api-mcp-server
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceComplete Swiss accounting integration for Bexio via MCP. Works with Claude Desktop, n8n, and any MCP client. 221 tools for invoices, contacts, projects & more. Created by Lukas Hertig.41MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to the MonKey Office Connect JSON-API, enabling natural language queries for accounting data like bookings, invoices, and open items. It allows users to retrieve information about companies, accounts, customers, and projects through a set of specialized tools.-
- AlicenseAqualityAmaintenanceEnables AI assistants to manage BuchhaltungsButler bookkeeping through all 48 API endpoints, with safety-categorized tools for read, write, and destructive operations.4623 npm8MIT
- FlicenseNot gradedqualityBmaintenanceMCP server exposing BuchhaltungsButler API tools for accounting, invoicing, and receipt management with curated, token-efficient endpoints.1-