KI-Tools mit schreibgeschütztem MCP an Flowtly anbinden
Verbinde Claude, ChatGPT oder Claude Code mit Flowtly und frage deine Daten in natürlicher Sprache ab. Der Connector unter https://mcp.flowtly.eu bietet schreibgeschützten Zugriff auf deine Flowtly-Daten über JSON-RPC 2.0 (MCP), per OAuth auf eine einzelne Organisation begrenzt.
Claude, ChatGPT & Claude Code verbindenDokumentationsstatus
Zuletzt synchronisiert am 2026-06-18 13:06
Regelmäßig synchronisieren, damit die MCP-Dokumentation mit dem aktuellen Serverstand übereinstimmt.
Entitäten
So bleibst du aktuell
- Führe den Sync-Befehl nach jedem MCP-Update aus.
- Starte deinen Agent-Stack neu, um neue Fähigkeiten zu übernehmen.
- Setze diese Seite als Lesezeichen für die neuesten MCP-Hinweise.
Inhalte
- Auth-, CORS- und Transport-Regeln für den MCP-Endpoint.
- Schreibgeschützte Ressourcen-Namespaces mit List- und Read-Operationen.
- OAuth 2.0 mit Dynamic Client Registration für die Verbindung in einem Schritt.
- 16 schreibgeschützte Tools über 10 Ressourcen-Namespaces.
- JSON-RPC Payloads, Codebeispiele und Integrationstipps.
Schnellstart
-
Schritt 1 — Verbinden (OAuth): Fügen Sie
https://mcp.flowtly.euals Connector in Ihrem KI-Tool hinzu und autorisieren Sie schreibgeschützten Zugriff. In Claude Code:claude mcp add --transport http flowtly https://mcp.flowtly.eu/mcp. Vollständige Anleitung: KI-Tools verbinden. -
Schritt 2 — Initialisieren: POST an
https://mcp.flowtly.eu/mcpmit{"jsonrpc":"2.0","id":"init-1","method":"initialize","params":{"protocolVersion":"2024-11-05"}}— der Server antwortet mit Fähigkeiten{"tools":{}}. -
Schritt 3 — Tools auflisten: POST
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}, um die verfügbaren schreibgeschützten Tools zu entdecken (z. B.invoices.list,transactions.list,counterparties.list). -
Schritt 4 — Ein Tool aufrufen: POST
{"jsonrpc":"2.0","id":"call-1","method":"tools/call","params":{"name":"transactions.list","arguments":{}}}. Das Ergebnis kommt alsresult.content[].text(ein JSON-String) an. -
Alle Anfragen verwenden
Authorization: Bearer <YOUR_TOKEN>undContent-Type: application/json.
Transport & Auth
-
Endpoints: POST /mcp (JSON-RPC Entry), GET /health (Liveness), POST /api/chat (Konsolen-Proxy; benötigt Authorization: Bearer
) - Headers: Authorization Bearer Token (bevorzugt; Fallback FLOWTLY_API_KEY), instance-Header optional und wird durchgereicht
- Content-Type: application/json
- Body: JSON-RPC 2.0 { "jsonrpc": "2.0", "id": "...", "method": "...", "params": {...} }
-
CORS: Anmeldeinformationen nur von
https://workspace.flowtly.euerlaubt. Kombinieren Sie niemalsAccess-Control-Allow-Origin: *mitAccess-Control-Allow-Credentials: true. -
Upstream-API:
https://api.flowtly.eu— der MCP-Server leitet alle Anfragen an die Flowtly REST API weiter.
initialize
- Handelt Fähigkeiten und Namespaces aus.
- Beispiel-Parameter: { "protocolVersion": "2024-11-05" }
-
Antwort-Fähigkeiten:
{"tools":{}} -
Tools entdecken: Rufen Sie
tools/listauf, um die verfügbaren schreibgeschützten Tools und ihre JSON-Schema-Eingabe zu erhalten.
tools/list
-
Methode:
tools/list— gibt jedes schreibgeschützte Tool zurück, das für Ihre Verbindung verfügbar ist. - Tools (16): invoices.list/get, transactions.list, bankAccounts.list/get, counterparties.list/get, suppliers.list, contracts.list/get/paymentScheduleLines, attachments.list/get, costGroups.list, taxGroups.list, projects.list.
-
Jeder Eintrag hat einen
name, einedescriptionund ein JSON-SchemainputSchema, das seine Argumente beschreibt. -
Beispiel:
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}
tools/call
-
Methode:
tools/call— ein Tool anhand seines Namens mit seinen Argumenten aufrufen. -
Parameter:
{"name":"<tool>","arguments":{...}}, z. B.{"name":"invoices.list","arguments":{}}. -
Argumente: folgen dem
inputSchemades Tools austools/list(Filter, Pagination, IDs). Weglassen für sinnvolle Defaults. - Schreibgeschützt: jedes Tool liest nur Daten — es gibt keine Schreib-Tools.
-
Erst entdecken: Rufen Sie
tools/listauf, um vor dem Aufruf die genauen Tool-Namen und Argument-Schemas zu sehen. -
Pagination & Filter: innerhalb von
argumentsgemäß dem Schema jedes Tools übergeben (z. B. Datumsbereiche, Seitengröße). -
Einzelne Datensätze: die
*.get-Tools nehmen ein id-Argument und geben eine Entität zurück; die*.list-Tools geben Sammlungen zurück. -
Antwort:
{"jsonrpc":"2.0","id":"...","result":{"content":[{"type":"text","text":"{...}"}]}}— parsen Siecontent[].textals JSON.
Fehlerform
- { "jsonrpc": "2.0", "id": "...", "error": { "code": -32000, "message": "Upstream Flowtly API failed", "data": { "status": 502 } } }
- Gängige Fehlercodes: -32700 (Analysefehler), -32600 (ungültige Anfrage), -32601 (Methode nicht gefunden), -32000 (Fehler der Upstream-API).
-
Das Feld
data.statusspiegelt den HTTP-Statuscode der Upstream Flowtly API wider, sofern verfügbar.
Hinweise
- allowPrefixes erlaubt resources/read URIs zu akzeptieren, die mit erlaubten Präfixen starten.
- OpenAPI-ähnliche Referenz verfügbar unter public/mcp/openapi.json.
-
LLM Intent-Verträge: Router- + Manager-Muster, dokumentiert in
docs/llm-intent-architecture.md, implementiert inpackages/agent/src/intents/contract.ts. - Paginierung: Standardwerte werden automatisch pro Namespace angewendet. Bei Bedarf mit expliziten Abfrageparametern überschreiben.
Tools nach Namespace
Rechnungen
invoices.list, invoices.get
Ein- und Ausgangsrechnungen — mit Filtern auflisten oder einzeln per ID abrufen.
Transaktionen
transactions.list
Banktransaktionen mit Beträgen, Daten und verknüpften Geschäftspartnern.
Bankkonten
bankAccounts.list, bankAccounts.get
Bankkonten mit Salden und Währung.
Geschäftspartner
counterparties.list, counterparties.get
Kunden und Auftragnehmer, mit denen die Organisation Geschäfte tätigt.
Lieferanten
suppliers.list
Geschäftspartner auf der Kostenseite (Lieferanten).
Verträge
contracts.list, contracts.get, contracts.paymentScheduleLines
Verträge, einzelne Vertragsdetails und ihre Zahlungsplan-Positionen.
Anhänge
attachments.list, attachments.get
An Transaktionen angehängte Dokumente wie Rechnungen und Belege.
Kostengruppen
costGroups.list
Kostenkategorien zur Klassifizierung von Ausgaben.
Steuergruppen
taxGroups.list
Steuer- und Mehrwertsteuersatz-Gruppen.
Projekte
projects.list
Projekte mit Metadaten, Abrechnungsart und Kundenkontext.