loading…
Search for a command to run...
loading…
Connects Claude Desktop to the MonKey Office Connect JSON-API, enabling natural language queries for accounting data like bookings, invoices, and open items. It
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.
MCP Server für die MonKey Office Connect JSON-API. Verbindet die Claude Desktop App mit MonKey Office, um Buchhaltungsdaten direkt abzufragen.
Claude Desktop App (Mac/PC)
↕ Streamable HTTP / SSE
Docker Container: monkey-office-mcp (z.B. auf NAS oder Server)
↕ HTTP/JSON
MonKey Office Connect (z.B. 192.168.178.53:8084)
↕
MonKey Office Datenbank
http://<MO-Rechner-IP>:8084/monkeyOfficeConnectJSON erreichbarWichtig: Admin-User können sich nicht über die API anmelden!
KI / MeinPasswort)Der MCP-Server läuft als Docker Container. Du brauchst:
mcp-remote benötigt)Bevor der Container gestartet wird, brauchst du die Firma_ID aus MonKey Office.
Führe das einmalig von einem Rechner mit Netzwerkzugriff aus:
curl -X POST http://<MO-RECHNER-IP>:8084/monkeyOfficeConnectJSON \
-H 'Content-Type: application/json' \
-u 'DEIN_API_USER:DEIN_API_PASSWORT' \
-d '{"firmaList":""}'
Die Antwort enthält eine oder mehrere Firmen mit Firma_ID:
{
"firmaListResponse": {
"ReturnData": {
"FirmaListItem": [
{
"Firma_ID": "4F01644397CE0566C14298B4",
"Bezeichnung": "Meine Firma GmbH"
}
]
}
}
}
Notiere die Firma_ID der gewünschten Firma.
# Verzeichnis anlegen
mkdir -p /share/Container/monkey-office-mcp
cd /share/Container/monkey-office-mcp
# Dateien herunterladen
# (falls git verfügbar:)
git clone https://github.com/kustus/MO-Connect-MCP.git .
# (falls kein git: Dateien manuell kopieren – benötigt werden:
# Dockerfile, index.js, package.json, docker-compose.yml)
docker-compose.yml (siehe unten) einfügenTrage deine Zugangsdaten in die docker-compose.yml ein:
services:
monkey-office-mcp:
build: .
container_name: monkey-office-mcp
restart: unless-stopped
ports:
- "3000:3000"
environment:
# URL zur MonKey Office Connect API
MO_URL: "http://<MO-RECHNER-IP>:8084/monkeyOfficeConnectJSON"
# API-Benutzer (kein Admin!)
MO_USER: "DEIN_API_USER"
MO_PASS: "DEIN_API_PASSWORT"
# Firma-ID aus Schritt 1
MO_FIRMA_KEY: "DEINE_FIRMA_ID"
PORT: "3000"
extra_hosts:
- "host.docker.internal:host-gateway"
docker compose up -d --build
curl http://<DOCKER-HOST>:3000/health
Erwartete Antwort:
{
"status": "ok",
"service": "monkey-office-mcp",
"version": "1.0.0",
"firma_key_set": true
}
| OS | Pfad |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Der Server wird über mcp-remote angebunden, das die Verbindung zwischen Claude Desktop (stdio) und dem Remote-Server (Streamable HTTP) herstellt:
{
"mcpServers": {
"monkey-office": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://<DOCKER-HOST>:3000/mcp",
"--allow-http"
]
}
}
}
Hinweis: Ersetze
<DOCKER-HOST>durch den Hostnamen oder die IP-Adresse deines NAS/Servers (z.B.192.168.178.100odermein-nas).
--allow-httpist nötig, weilmcp-remotestandardmäßig nur HTTPS-Verbindungen erlaubt. Im lokalen LAN ist HTTP ausreichend.
Nach dem Speichern der Konfiguration Claude Desktop komplett beenden und neu starten.
Unter Einstellungen → Entwickler sollte der Server monkey-office als verbunden angezeigt werden.
In Claude Desktop einfach fragen:
| Tool | Beschreibung |
|---|---|
firma_list |
Alle Firmen/Mandanten auflisten (liefert Firma_ID) |
firma_get |
Firmendetails: Name, Adresse, Steuernummer, Kontenplan |
buchung_list |
Buchungsjournal filtern nach Zeitraum, Konto, Kostenstelle, Text |
buchung_get |
Einzelbuchung mit allen Journalzeilen |
adresse_list |
Kunden und Lieferanten suchen |
adresse_get |
Vollständige Adressdetails |
steuersatz_list |
Alle Steuersätze der Firma |
kostenstellen_list |
Alle Kostenstellen der Firma |
Diese Tools sind implementiert, funktionieren aber nur wenn das entsprechende MonKey Office Modul lizenziert und aktiviert ist:
| Tool | Benötigtes Modul | Beschreibung |
|---|---|---|
verkaufbeleg_list |
Faktura | Rechnungen, Angebote, Gutschriften |
verkaufbeleg_get |
Faktura | Belegdetails mit Positionen |
einkaufbeleg_list |
Faktura | Eingangsrechnungen, Bestellungen |
buchung_konto_list |
Erweiterte Buchhaltung | Kontenplan auflisten |
offene_posten_list |
Erweiterte Buchhaltung | Offene Forderungen/Verbindlichkeiten |
debitor_list |
Erweiterte Buchhaltung | Debitorenkonten mit Salden |
kreditor_list |
Erweiterte Buchhaltung | Kreditorenkonten mit Salden |
artikel_list |
Faktura | Artikel und Leistungen |
projekt_list |
Projektverwaltung | Projekte auflisten |
Falls ein Modul nicht lizenziert ist, gibt die API den Fehler "Funktion nicht implementiert" zurück.
curl http://<DOCKER-HOST>:3000/healthmcp-remote funktioniert: npx -y mcp-remote http://<DOCKER-HOST>:3000/mcp --allow-http--allow-http in der Config steht (nötig für HTTP im LAN)node --versionWenn verkaufbeleg_list keine Daten zurückgibt, obwohl Rechnungen existieren: Die Rechnungen wurden möglicherweise direkt in der Buchhaltung erfasst (als Buchungen) und nicht über das Faktura-Modul erstellt. Nutze buchung_list mit suchtext um sie zu finden.
Diese Meldung kommt von der MonKey Office API, nicht vom MCP-Server. Das benötigte Modul ist in eurer MonKey Office Lizenz nicht enthalten oder nicht aktiviert.
docker logs monkey-office-mcp -f
cd /share/Container/monkey-office-mcp
git pull
docker compose up -d --build
/mcp) + SSE-Fallback (/sse)mbl-ident Header@modelcontextprotocol/sdk, expressДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"monkey-office-mcp-server": {
"command": "npx",
"args": []
}
}
}