Skip to main content
Glama
HalloSouf

moneybird-mcp

by HalloSouf

moneybird-mcp

Ein Model Context Protocol-Server für die Buchhaltungs-API von Moneybird.

Er stellt Moneybird als eine Reihe von MCP-Tools bereit, sodass ein Assistent wie Claude Kontakte nachschlagen, Rechnungen lesen, Bankbewegungen prüfen, Zeiten erfassen und Berichte aus deiner Administration abrufen kann. Der Zugriff ist schreibgeschützt, bis du das Schreiben aktivierst. Die Tools sind in Toolsets gruppiert, die du einzeln aktivieren kannst, und der Client passt das Tempo seiner eigenen Anfragen an, um innerhalb des Moneybird-Ratenlimits zu bleiben. Er spricht stdio für lokale Clients und Streamable HTTP für entfernte Clients.

Schnellstart

Registriere den Server bei deinem Client. Für Claude Code:

claude mcp add moneybird -- npx -y moneybird-mcp serve

Bitte dann deinen Assistenten, sich zu verbinden. Der Server startet ohne Anmeldedaten und stellt ein connect_moneybird-Tool bereit: Es öffnet die Token-Seite von Moneybird in deinem Browser, fragt nach dem Token, das du dort erstellst, verifiziert es, wählt deine Administration aus und speichert sie — ohne das Gespräch zu verlassen.

Das erfordert einen Client, der MCP-Elicitation unterstützt. Wo das nicht verfügbar ist, läuft dieselbe Einrichtung in einem Terminal:

npx moneybird-mcp login

Das führt dich durch dieselben Schritte und speichert das Ergebnis in ~/.config/moneybird-mcp/credentials.json.

Prüfe, dass alles funktioniert, bevor du dich darauf verlässt:

npx moneybird-mcp status

status gibt die aktivierten Toolsets, die Schreib- und Lösch-Einstellungen, die Herkunft der Anmeldedaten und die Administrationen aus, die der Token erreichen kann. Er beendet sich mit einem Fehlercode ungleich null, wenn er Moneybird nicht erreichen kann.

Related MCP server: kalender.digital MCP Server

Authentifizierung

Moneybird bietet zwei Möglichkeiten, ein Token zu erhalten, und dieser Server unterstützt beide. Keine der beiden läuft völlig ohne Zutun ab: Moneybird implementiert weder Dynamic Client Registration noch PKCE, daher gibt es keinen Ablauf, der das Erstellen eines Tokens oder das Registrieren einer Anwendung überspringt. Das ist eine Einschränkung der Moneybird-API, nicht dieses Servers. Das connect_moneybird-Tool entfernt jeden Schritt um diesen einen herum — es öffnet die richtige Seite und erfasst das Ergebnis für dich.

Persönlicher API-Token. Du erstellst es selbst unter https://moneybird.com/user/applications/new, wählst die gewünschten Scopes aus und fügst es in moneybird-mcp login ein. Der einfachste Weg. Die Scopes sind bei der Erstellung festgelegt, und Moneybird lässt diese Tokens derzeit nicht ablaufen — was auch bedeutet, dass eines nicht automatisch rotiert werden kann. Behandle es wie ein Passwort.

OAuth-Anwendung. Du registrierst eine Anwendung an derselben Stelle, dann:

export MONEYBIRD_CLIENT_ID=...
export MONEYBIRD_CLIENT_SECRET=...
npx moneybird-mcp login --oauth

Der Server öffnet die Autorisierungsseite von Moneybird, fängt die Weiterleitung auf http://127.0.0.1:51739/callback ab und tauscht den Code um. Moneybird gleicht Redirect-URIs exakt ab, daher muss diese URI exakt so bei deiner Anwendung registriert sein. Verwende --port, um eine andere zu wählen, oder --oob, damit Moneybird den Code im Browser anzeigt, statt weiterzuleiten — nützlich, wenn kein Loopback-Listener geöffnet werden kann. OAuth-Tokens können bei Moneybird widerrufen und automatisch erneuert werden, wenn sie ein Ablaufdatum tragen.

Um ein Token ohne jede Rückfrage zu speichern, zum Beispiel in einem Provisioning-Skript:

npx moneybird-mcp login --token "$MONEYBIRD_TOKEN"

moneybird-mcp logout entfernt die gespeicherte Datei. Bei einer OAuth-Anmeldung widerruft es die Autorisierung selbst nicht — das erledigst du in Moneybird.

Siehe docs/authentication.md für Scopes, Erneuerungsverhalten und die genauen Abläufe.

Konfiguration

Die Konfiguration kommt aus der Umgebung; CLI-Flags überschreiben sie.

Umgebungsvariablen

Variable

Standard

Zweck

MONEYBIRD_API_TOKEN

Zu verwendendes Token, das die gespeicherten Anmeldedaten vollständig umgeht.

MONEYBIRD_ADMINISTRATION_ID

aus den gespeicherten Anmeldedaten

Administration, die verwendet wird, wenn ein Tool keine nennt.

MONEYBIRD_TOOLSETS

core,invoicing,purchases,banking,time

Zu aktivierende Toolsets. Akzeptiert all, none oder -name, um eines aus den Standardeinstellungen zu entfernen.

MONEYBIRD_ALLOW_WRITE

false

true aktiviert Tools, die Daten erstellen oder ändern.

MONEYBIRD_ALLOW_DELETE

false

true aktiviert Tools, die Daten löschen. Hat ohne MONEYBIRD_ALLOW_WRITE keine Wirkung.

MONEYBIRD_TRANSPORT

stdio

stdio oder http.

MONEYBIRD_HOST

127.0.0.1

Bind-Adresse für den HTTP-Transport.

PORT / MONEYBIRD_PORT

3000

Port für den HTTP-Transport. PORT gewinnt, wenn beide gesetzt sind.

MONEYBIRD_HTTP_AUTH

shared-token, wenn MONEYBIRD_MCP_AUTH_TOKEN gesetzt ist, sonst none

none, shared-token oder passthrough.

MONEYBIRD_MCP_AUTH_TOKEN

Gemeinsames Geheimnis, das Aufrufer im shared-token-Modus vorweisen müssen.

MONEYBIRD_CLIENT_ID

Client-ID der OAuth-Anwendung. Muss zusammen mit dem Secret gesetzt werden.

MONEYBIRD_CLIENT_SECRET

Client-Secret der OAuth-Anwendung.

MONEYBIRD_OAUTH_SCOPES

alle sechs Scopes

Durch Kommas getrennte Scopes, die während login --oauth angefordert werden.

MONEYBIRD_REDIRECT_URI

http://127.0.0.1:51739/callback

Redirect-URI für den OAuth-Ablauf. Muss mit der bei deiner Anwendung registrierten übereinstimmen.

MONEYBIRD_TIME_ZONE

IANA-Zeitzone, die mit datumsabhängigen Anfragen gesendet wird, z. B. Europe/Amsterdam.

MONEYBIRD_BASE_URL

https://moneybird.com/api/v2

API-Basis-URL. Zum Testen gegen einen Stub.

MONEYBIRD_REQUEST_TIMEOUT_MS

30000

Timeout pro Anfrage.

MONEYBIRD_MAX_RETRIES

3

Wiederholungen nach dem ersten Versuch, bei 429- und 5xx-Antworten.

MONEYBIRD_MCP_CONFIG_DIR

$XDG_CONFIG_HOME/moneybird-mcp, sonst ~/.config/moneybird-mcp

Verzeichnis, das credentials.json enthält.

Befehle

Befehl

Funktion

moneybird-mcp serve

Startet den MCP-Server. Dies ist der Standard, wenn kein Befehl angegeben wird.

moneybird-mcp login

Authentifiziert und speichert Anmeldedaten.

moneybird-mcp logout

Entfernt die gespeicherten Anmeldedaten.

moneybird-mcp status

Gibt die Konfiguration aus und prüft die Verbindung.

moneybird-mcp tools

Listet die Tools auf, die die aktuellen Einstellungen freigeben.

Flags

Flag

Befehl

Bedeutung

--http

serve

Über Streamable HTTP statt stdio bedienen.

--host <host>

serve

Bind-Adresse für --http. Standard 127.0.0.1.

--port <port>

serve

Port für --http. Standard 3000.

--endpoint <path>

serve

Pfad, auf dem der MCP-Endpunkt bedient wird. Standard /mcp.

--toolsets <list>

serve

Durch Kommas getrennte Toolsets; all oder -name, um eines aus den Standardeinstellungen zu entfernen.

--allow-write

serve

Tools aktivieren, die Daten erstellen oder ändern.

--allow-delete

serve

Tools aktivieren, die Daten löschen. Impliziert --allow-write.

--administration <id>

serve

Standard-Administrations-ID.

--oauth

login

Den OAuth-Anwendungs-Ablauf verwenden.

--oob

login

Den Autorisierungscode im Browser anzeigen, statt weiterzuleiten.

--port <port>

login

Loopback-Port für die OAuth-Weiterleitung. Standard 51739.

--token <token>

login

Ein Token ohne Rückfrage speichern.

--json

tools

Die Liste der Tools als JSON ausgeben.

--help, -h

beliebig

Verwendung ausgeben.

--version, -v

beliebig

Die Version ausgeben.

Toolsets

Die Tools sind nach den eigenen Domänen von Moneybird gruppiert. Fünf sind standardmäßig aktiviert; die anderen vier sind Opt-in.

Toolset

Standard

Umfang

core

an

Administrationen, Kontakte, Produkte, Projekte, Sachkonten, Steuersätze, Benutzer.

invoicing

an

Verkaufsrechnungen, wiederkehrende Rechnungen, Angebote, Workflows.

purchases

an

Einkaufsrechnungen, Belege, Dokumente, allgemeine Journalbelege.

banking

an

Finanzkonten, Finanzbewegungen, Zahlungsverknüpfung.

time

an

Zeiterfassungen.

reports

aus

Gewinn und Verlust, Bilanz und andere /reports-Endpunkte.

assets

aus

Anlagevermögen und Abschreibung.

tasks

aus

Notizen, Aufgaben, Ereignisse, benutzerdefinierte Felder.

webhooks

aus

Webhook-Abonnements.

Lege sie explizit fest, ergänze die Standardeinstellungen oder ziehe davon ab:

moneybird-mcp serve --toolsets core,invoicing     # exactly these two
moneybird-mcp serve --toolsets all                # everything
moneybird-mcp serve --toolsets reports            # exactly reports
moneybird-mcp serve --toolsets -banking,-time     # the defaults minus two

Ein -name-Eintrag an beliebiger Stelle der Liste bedeutet, dass die Liste von den Standardeinstellungen ausgeht statt von nichts. all hat Vorrang vor allem anderen. Ein unbekannter Name ist ein Fehler, kein stiller No-op.

Die vollständige Auflistung pro Tool findest du in docs/tools.md, oder führe moneybird-mcp tools aus.

Sicherheitsmodell

Jedes Tool deklariert eine von drei Zugriffsstufen, und der Server registriert nur diejenigen, die die aktuellen Einstellungen erlauben. Ein Tool, das nicht registriert ist, ist für das Modell unsichtbar — es kann nicht aus Versehen aufgerufen oder herbeigeredet werden.

  • read — immer registriert.

  • write — erstellt oder ändert Daten. Benötigt --allow-write oder MONEYBIRD_ALLOW_WRITE=true.

  • destroy — benötigt --allow-delete und --allow-write. --allow-delete allein bewirkt nichts.

Das Löschen ist getrennt vom Schreiben abgesichert, weil die beiden Fehlerarten nicht vergleichbar sind. Ein falscher Schreibvorgang hinterlässt einen Datensatz, den du korrigieren kannst; ein Löschen oder eine an einen Kunden gesendete Rechnung kann die API nicht rückgängig machen. Schreibzugriff zu aktivieren, damit ein Assistent eine Rechnung entwerfen kann, sollte ihm nicht auch erlauben, deine Buchhaltung zu entfernen. Die Stufe destroy umfasst daher sowohl Löschungen als auch Aufrufe, die in der Praxis unumkehrbar sind, etwa das Senden eines Dokuments an einen Kontakt.

Nur-Lesen ist die Standardeinstellung. Aktiviere nur das Nötigste:

claude mcp add moneybird --env MONEYBIRD_ALLOW_WRITE=true -- npx -y moneybird-mcp serve

Client-Einrichtung

Claude Code

claude mcp add moneybird -- npx -y moneybird-mcp serve

Mit Schreibzugriff und einer größeren Auswahl an Tools:

claude mcp add moneybird \
  --env MONEYBIRD_ALLOW_WRITE=true \
  --env MONEYBIRD_TOOLSETS=all \
  -- npx -y moneybird-mcp serve

Claude Desktop

Füge den Server zu claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "moneybird": {
      "command": "npx",
      "args": ["-y", "moneybird-mcp", "serve"],
      "env": {
        "MONEYBIRD_ALLOW_WRITE": "true"
      }
    }
  }
}

Die Datei befindet sich unter ~/Library/Application Support/Claude/claude_desktop_config.json auf macOS und %APPDATA%\Claude\claude_desktop_config.json auf Windows. Starte die App nach dem Bearbeiten neu.

Beliebiger stdio-Client

Der Server ist ein einfacher stdio-MCP-Server. Führe moneybird-mcp serve aus und kommuniziere per JSON-RPC über stdin und stdout. Diagnosemeldungen gehen an stderr, niemals an stdout.

{
  "command": "npx",
  "args": ["-y", "moneybird-mcp", "serve"],
  "env": {
    "MONEYBIRD_API_TOKEN": "..."
  }
}

Wenn du Zugangsdaten lieber nicht auf der Festplatte speichern möchtest, setze MONEYBIRD_API_TOKEN im env-Block des Clients. Er hat Vorrang vor allem, was in credentials.json steht.

Docker und Self-Hosting

docker build -t moneybird-mcp .
docker run --rm -p 3000:3000 -e MONEYBIRD_API_TOKEN=... moneybird-mcp

Das Image verwendet standardmäßig den HTTP-Transport auf 0.0.0.0:3000 und stellt /mcp sowie ein nicht authentifiziertes /healthz bereit. Betreibe es ohne Authentifizierung nicht unter einer öffentlichen Adresse.

docs/hosting.md behandelt die drei HTTP-Authentifizierungsmodi, Multi-Tenant-passthrough-Bereitstellungen, Hinweise zu Reverse-Proxys und das Verbinden eines entfernten Clients.

Rate-Limits

Moneybird erlaubt 150 Anfragen pro 5 Minuten pro IP und 50 pro 5 Minuten für /reports-Endpunkte. Der Client führt für beide Budgets eigene Gleitfenster-Zähler und verzögert eine Anfrage, die eines davon überschreiten würde, sodass bei normaler Nutzung keine 429s auftreten. Wenn Moneybird dennoch eine 429 zurückgibt, respektiert der Client Retry-After und verwendet andernfalls exponentielles Backoff mit vollem Jitter, bis zu MONEYBIRD_MAX_RETRIES Versuchen.

Das Budget gilt pro IP, nicht pro Token. Mehrere Instanzen hinter einer gemeinsamen ausgehenden Adresse teilen es sich, und die lokalen Zähler können einander nicht sehen. Bemesse die Bereitstellungen entsprechend.

Entwicklung

npm install
npm run build      # before typecheck: the docs generator imports the built output
npm run typecheck
npm test
npm run format

docs/tools.md wird aus den Tool-Definitionen generiert. Generiere sie nach dem Hinzufügen oder Ändern eines Tools neu:

npm run docs:tools

spec/endpoints.json fixiert die veröffentlichte Operationsliste von Moneybird, und ein Test prüft jeden Pfad, den ein Tool aufruft, gegen diese Liste. Aktualisiere sie, wenn Moneybird API-Änderungen veröffentlicht:

npm run spec:refresh
npm test

Ein fehlschlagender Endpunkt-Test nach einer Aktualisierung bedeutet, dass eine Route, von der ein Tool abhängt, verschoben oder zurückgezogen wurde.

Mitwirken

Issues und Pull-Requests sind unter https://github.com/HalloSouf/moneybird-mcp willkommen. Bitte führe vor dem Eröffnen eines Pull-Requests npm run typecheck, npm test und npm run format:check aus; CI führt dieselben Prüfungen auf Node 20 und 22 durch.

Lizenz

MIT. Siehe LICENSE.

A
license - permissive license
A
quality
B
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for the bexio API, enabling interaction with contacts, sales, accounting, projects, and more through 35 tools. Supports both PAT and OAuth authentication with read-only mode and tool group filtering.
    35
    21
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Hosted MCP server for Exact Online. Ask questions, pull reports, and prepare bookings you approve first.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP clients to read and write Bokio accounting data for one company through 85 tools covering invoices, customers, suppliers, journal entries, chart of accounts, fiscal years, items, tags, uploads, SIE export, and bank payments.
    40
    MIT

View all related MCP servers

Related MCP Connectors

  • Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.

  • Search, document and execute authenticated API calls across 700+ apps via one MCP server

  • Conta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.

View all MCP Connectors

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/HalloSouf/moneybird-mcp'

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