Sichere Agenten mit der Flowtly MCP-Dokumentation bauen
Verbinde Assistenten, Tools oder eigene Agenten mit Flowtly und passenden Schutzmaßnahmen. Synchronisiere die neueste MCP-Spezifikation, folge dem Setup und halte deine Flotte an einer gemeinsamen Quelle ausgerichtet.
Dokumentationsstatus
Zuletzt synchronisiert am 2026-05-04 07:22
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- und API-Key-Regeln für MCP-Endpoints.
- Resource-Schemas für Knowledge Base, Blog, Release Notes, Investoren und Produkt-Updates.
- JSON-RPC-Payloads sowie Lese-/Schreibhinweise für Agenten.
- 14 logische Zusammenfassungen für berechnete Analysen.
- JSON-RPC Payloads, Codebeispiele und Integrationstipps.
Schnellstart
- Schritt 1 — Token abrufen: Navigieren Sie zu Flowtly Workspace → Agent Tokens und generieren Sie einen Client-Token.
-
Schritt 2 — Initialisieren: POST an
https://mcp.flowtly.eu/mcpmit{"jsonrpc":"2.0","id":"init-1","method":"initialize","params":{"protocolVersion":"2024-11-05"}} -
Schritt 3 — Daten lesen: POST
{"jsonrpc":"2.0","id":"read-1","method":"resources/work-times/read","params":{"uri":"/api/work-times"}} -
Schritt 4 — Daten schreiben: POST
{"jsonrpc":"2.0","id":"write-1","method":"resources/work-times/write","params":{"uri":"/api/work-times","contents":[{"text":"{\"date\":\"2026-04-03\",\"seconds\":3600,\"project\":\"/projects/1\",\"description\":\"Support\"}"}]}} -
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" }
- Gibt Fähigkeiten (list, read, write) und Namespaces zurück (work-times, projects, employees, vacations, holidays, responsibilities, cost-groups, logical, project-rates, transactions, transaction-attachments, suppliers, organization, candidates, resource-requests).
- Verfügbare Namespaces: work-times, projects, employees, vacations, holidays, responsibilities, cost-groups, budget-groups, budgets, logical, project-rates, transactions, transaction-attachments, suppliers, organization, candidates, resource-requests.
resources/list
- Methode: resources/{namespace}/list (Standard-Namespace: work-times, falls weggelassen)
- Namespaces: work-times, projects, employees, vacations, holidays, responsibilities, cost-groups, logical, project-rates, transactions, transaction-attachments, suppliers, organization, candidates, resource-requests.
- Liefert URIs pro Namespace (siehe Aufschlüsselung unten).
-
Beispiel:
{"jsonrpc":"2.0","id":"list-1","method":"resources/projects/list","params":{}}
resources/read
- Methode: resources/{namespace}/read (Standard-Namespace: work-times).
- Parameter inkl. uri, z. B. /api/work-times
- allowPrefixes ermöglicht Cross-Namespace-Matches; {current} wird zu /api/employees/me aufgelöst.
- Manche Ressourcen fügen Defaults hinzu (work-times: Datumsgrenzen; employees: itemsPerPage; holidays/vacations: Pagination-Defaults).
- Responsibilities folgt bis zu 10 @id-Links, um Titel/Namen anzureichern.
- Namespace logical liefert serverseitige Summaries statt Rohdaten.
- Liefert den contents-Payload der zugrunde liegenden Flowtly-API.
-
Antwort:
{"jsonrpc":"2.0","id":"...","result":{"contents":[{"uri":"...","text":"{...}","mimeType":"application/json"}]}}
resources/write
- Nur Ressourcen mit allowWrite akzeptieren Writes; POST, außer die URI endet mit einer ID (dann PATCH mit application/merge-patch+json).
- /api/.../create erzwingt POST, auch bei vorhandener ID; Typ via params.contentType überschreibbar.
-
Logical Write-Helper: resources/logical/write unterstützt /logical/recruiting/resource-requests/update?id=
und /logical/recruiting/resource-request-candidates/update?id= (PATCH). -
IRI-Konvention:
params.uriverwendet/api/...Pfade, aber Entitätsreferenzen innerhalb von JSON-Payloads müssen Upstream-IRIs verwenden (z.B."project": "/projects/1", nicht"/api/projects/1"). - Beschreibbare Namespaces: work-times, holidays (holiday-requests), transactions, transaction-attachments, suppliers (contractors), budgets, budget-groups, candidates, candidate-notes, resource-requests, resource-request-candidates.
-
Logische Schreibhelfer:
resources/logical/writeunterstützt/logical/work-times/log(POST an /api/work-times),/logical/recruiting/resource-requests/update?id=<id>und/logical/recruiting/resource-request-candidates/update?id=<id>(PATCH).
Eingebaute Agenten
-
EmployeeAgent (
employee): Tägliche Operationen — Arbeitszeiten erfassen, Urlaube prüfen, Zuweisungen einsehen. Zugriff: jeder authentifizierte Benutzer (begrenzt durch Token/Instanz). -
ManagerAgent (
manager): Unterstützung für Projekt-/Ingenieurmanager — Tarife, Personalbesetzung, Kosten, Genehmigungen. Erfordert: project_manager- oder admin-Rolle. -
ExecutiveAgent (
executive): Führungskennzahlen — KPIs, Budgets, Rollups, Genehmigungen. Erfordert: admin-, executive-, director-, vp- oder c-level-Rolle. -
HRManagerAgent (
hr): HR und Abwesenheiten — Urlaubssalden, Abwesenheitshistorie, Teamfeiertage. Zugriff: jeder authentifizierte Benutzer. -
AccountancyAgent (
accountancy): Finanzabfragen — Transaktionen auflisten, Beträge zusammenfassen. Zeigt niemals Anhang-URLs an. Zugriff: jeder authentifizierte Benutzer. -
RecruiterAgent (
recruiter): Recruiting — offene Stellen auflisten, Kandidaten suchen/erstellen, Rollen zuweisen, Notizen hinzufügen. Erfordert: candidates_manager-, admin- oder recruiter-Rolle. -
OnboardingAgent (
onboarding): Anleitung für neue Benutzer — Einrichtungshilfe, Navigation, Antworten auf "wo finde ich X". Zugriff: jeder authentifizierte Benutzer. -
TechAgent (
tech): Technische Einrichtung — MCP/ChatGPT-Anmeldeanfragen. Generiert pro Benutzer Client-Anmeldeinformationen nach Genehmigung durch den Administrator. Zugriff: offen für alle Rollen (wird eingeschränkt). -
Agentenauswahl: Verwenden Sie
employeefür persönliche Aufgaben;hrfür Abwesenheiten/Urlaub;managerfür Personalbesetzung/Kosten;executivefür KPIs;accountancyfür Finanzen;recruiterfür Kandidaten;onboardingfür die Einrichtung. - Zugriffsmodell: Rollenprüfungen verwenden Flowtly Rollen/Autoritäten/Berechtigungen. Eingeschränkte Agenten lehnen Aktionen ab, wenn keine erforderliche Rolle übereinstimmt. Alle Agenten verwenden ausschließlich das MCP API-Tool — keine externen Dienste.
Namespace logical (/logical/*)
- Read-only Summaries: work-times, employees, projects, employee-work-times, project-rates, transactions, project-profitability.
- Recruiting-Summaries: company-onboarding/status, recruiting/open-roles, recruiting/candidates.
- Holiday-Summaries: logical/holidays.
- Beispiel: /logical/work-times/summary unterstützt date[after]/date[before] (Standard letzte 7 Tage).
-
Projektraten:
/logical/project-rates/summary— Ratenkarten und Abrechnungssatz-Übersicht. -
Transaktionen:
/logical/transactions/summary— Ausgaben-Gesamtsummen, Kategorisierung und Trends. -
Projektrentabilität:
/logical/project-profitability/summary— Umsatz vs. Kosten pro Projekt. -
Budgetgruppen:
/logical/budget-groups/summary— Budgetgruppen-Zuweisungen und Ausgabenstatus. -
Budgets:
/logical/budgets/summary— individuelle Budgetauslastung und Warnmeldungen. -
Unternehmens-Onboarding:
/logical/company-onboarding/status— Fortschritt der Workspace-Einrichtung und ausstehende Schritte. -
Offene Stellen:
/logical/recruiting/open-roles— unbesetzte Ressourcenanfragen und Einstellungspipeline. -
Kandidaten:
/logical/recruiting/candidates— Verteilung der Kandidaten in der Pipeline nach Phasen. -
Feiertage:
/logical/holidays— aggregierte Urlaubsdaten und Teamverfügbarkeit. -
Arbeitszeiterfassung (schreiben):
/logical/work-times/log— POST erstellt einen Arbeitszeiteintrag über /api/work-times.
Caching & Performance
- Redis logischer Cache: Optionaler Cache für logische Lesevorgänge. Kann Redis mit der Haupt-API für Invalidierungsmuster teilen.
-
Umgebungsvariablen:
MCP_LOGICAL_CACHE_ENABLED(automatisch aktiviert, wenn Redis-URL existiert),MCP_LOGICAL_CACHE_REDIS_URL(Rückgriffe: REDIS_URL, CACHE_REDIS_URL). -
Schlüsselformat: Präfix
mcp:logical:v1:— nach Instanz + Prinzipal begrenzt, enthält eine normalisierte logische URI. Konfigurieren Sie das Präfix überMCP_LOGICAL_CACHE_PREFIX. -
TTL: 86400 Sekunden (24 Stunden). Konfigurieren Sie über
MCP_LOGICAL_CACHE_TTL_SECONDS.
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.
resources/list nach Namespace
Zeiterfassung — work-times
- Liste: /api/work-times (Standard: letzte 30 Tage), /api/employees/me
- Lesen: /api/work-times, /api/employees/me
- Schreiben (erlaubt): /api/work-times (POST), /api/work-times/{id} (PATCH)
Projekte und Delivery — projects
- Liste: /api/projects, /api/projects?employee={current}, /api/employees/me
- Lesen: /api/projects, /api/projects?employee={current}, /api/employees/me
Mitarbeitende und Compliance — employees, responsibilities
- Liste (employees): /api/employees/me, /api/employees (Standard itemsPerPage=200)
- Liste (responsibilities): /api/responsibility-employees?employee={current}, /api/responsibilities, /api/responsibility-groups
- Lesen: gleiche URIs wie Liste für Detaildatensätze
Abwesenheiten — vacations & holidays
- Liste: /api/vacations/balance?employee={current}, /api/holiday-days-limits?employee={current} (itemsPerPage=50), /api/holidays?employee={current} (itemsPerPage=50)
- Holidays: /api/holidays?employee={current} (itemsPerPage=200), /api/holiday-requests (Write erlaubt)
- Schreiben: /api/holiday-requests (POST/PATCH)
Finanzen — transactions & attachments
- Liste: /api/transactions (itemsPerPage=200&page=1), /api/bank-accounts
- Schreiben: /api/transactions (POST/PATCH), /api/transaction-attachments (POST/PATCH), /api/transaction-attachments/create (POST)
- Schreiben: Transaktionen (POST/PATCH), Anhänge (POST/PATCH, /create erzwingt POST)
Suppliers & cost groups
- Liste: /api/contractors (itemsPerPage=100&page=1), /api/cost-groups (itemsPerPage=200&page=1)
- Schreiben: /api/contractors (POST/PATCH)
- Schreiben: /api/contractors (POST/PATCH)
Budgetgruppen & Budgets
- Budgetgruppen: /api/budget-groups (Schreiben erlaubt, itemsPerPage=200&page=1)
- Budgets: /api/budgets (Schreiben erlaubt, itemsPerPage=200&page=1)
- Schreiben: POST/PATCH für Budgetgruppen und Budgets
Sätze und Profitabilität
- Liste: /api/employees/{current}/project-rates (itemsPerPage=200)
- Logische Summaries: /logical/project-rates/summary, /logical/project-profitability/summary
Talente und Recruiting
- Liste: /api/candidates (itemsPerPage=50&page=1), /api/candidates/search, /api/candidate-notes
- Liste: /api/resource-requests (itemsPerPage=50&page=1), /api/resource-request-candidates (itemsPerPage=50&page=1)
- Schreiben: candidates, candidate-notes, resource-requests, resource-request-candidates (POST/PATCH)
- Logische Writes: /logical/recruiting/resource-requests/update, /logical/recruiting/resource-request-candidates/update
Logisch — schreibgeschützte Summaries
- Liste/Lesen: /logical/work-times/summary, /logical/employees/summary, /logical/projects/summary, /logical/employee-work-times/summary, /logical/transactions/summary
- Zusätzlich: /logical/company-onboarding/status, /logical/recruiting/open-roles, /logical/recruiting/candidates, /logical/holidays
- Budgets: /logical/budget-groups/summary, /logical/budgets/summary
- Recruiting: /logical/company-onboarding/status, /logical/recruiting/open-roles, /logical/recruiting/candidates
- Sonstiges: /logical/holidays, /logical/work-times/log (Schreibhilfe)
Organisation
- Liste/Lesen: /api/organization