Skip to main content
Glama
BuchhaltungsButler MCP-Server

BuchhaltungsButler MCP-Server

by milomymilo

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 build

Configuration

The following environment variables are required:

Variable

Description

BUCHHALTUNGSBUTLER_API_CLIENT

Your API Client

BUCHHALTUNGSBUTLER_API_SECRET

Your API Secret

BUCHHALTUNGSBUTLER_API_KEY

The API key of the customer to be managed (can be overridden per tool call)

Optional:

Variable

Description

BUCHHALTUNGSBUTLER_API_URL

Default: https://webapp.buchhaltungsbutler.de/api/v1

Usage in Claude Desktop

  1. Open the Claude Desktop configuration:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 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"
      }
    }
  }
}
  1. 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.js

Available Tools

  • Receipts: list_receipts, get_receipt, create_receipt, upload_receipt, delete_receipt

  • Transactions: list_transactions, get_transaction, create_transaction, assign_receipt_to_transaction, unassign_receipt_from_transaction

  • Invoices: create_invoice, create_invoice_draft

  • Postings: list_postings, create_free_posting

  • Master data: list_debtors, list_creditors, list_posting_accounts, create_debtor, create_creditor

  • Other: 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 .gitignore excludes node_modules/, dist/, and .env.

Development

npm run dev     # TypeScript im Watch-Modus
npm run build   # Einmalig bauen
npm start       # Server starten

License

MIT

Available Tools

23 tools
add_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

    B3.1/5.0

    Scored across 23 tools

    Disambiguation2/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness2/5

    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

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    • Connect Claude to Dutch accounting software: e-Boekhouden invoices, contacts and ledgers.

      https://app.konnekta.nl/mcp
    • Log, query, and edit expenses, budgets, and accounts in Manilo (formerly Ledgy) from any MCP-compatible AI assistant.

      https://api.ledgy.app/mcp
    • Log, query, and edit expenses, budgets, and accounts in Ledgy from any MCP-compatible AI assistant.

      https://api.ledgy.app/mcp
    • 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

      https://cotlet.dev/mcp/v1/bokio

    Related MCP Servers

    • A
      license
      Not graded
      quality
      A
      maintenance
      Complete 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.
      41
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Connects 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.
      -
    • A
      license
      A
      quality
      A
      maintenance
      Enables AI assistants to manage BuchhaltungsButler bookkeeping through all 48 API endpoints, with safety-categorized tools for read, write, and destructive operations.
      46
      23 npm
      8
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      MCP server exposing BuchhaltungsButler API tools for accounting, invoicing, and receipt management with curated, token-efficient endpoints.
      1
      -