Twórz bezpieczniejszych agentów z dokumentacją Flowtly MCP
Podłącz asystentów, narzędzia lub własne agentów do Flowtly z odpowiednimi zabezpieczeniami. Zsynchronizuj najnowszy spec MCP, przejdź konfigurację i trzymaj flotę w jednym źródle prawdy.
Status dokumentacji
Ostatnia synchronizacja: 2026-05-04 07:22
Regularnie synchronizuj, aby dokumentacja MCP była zgodna z aktualnym serwerem.
Encje
Jak być na bieżąco
- Uruchom komendę sync po każdej aktualizacji MCP.
- Zrestartuj stos agentów, aby wczytać nowe możliwości.
- Dodaj tę stronę do zakładek, żeby mieć świeże wskazówki MCP.
Co w środku
- Zasady autoryzacji i kluczy API dla endpointów MCP.
- Schematy zasobów dla bazy wiedzy, bloga, release notes, inwestorów i aktualizacji produktu.
- Ładunki JSON-RPC oraz wskazówki do zapisów/odczytów dla agentów.
- 14 logicznych podsumowań dla obliczeniowej analityki.
- Ładunki JSON-RPC, przykłady kodu i wskazówki dotyczące integracji.
Szybki start
- Krok 1 — Zdobądź token: Przejdź do Flowtly Workspace → Agent Tokens i wygeneruj token klienta.
-
Krok 2 — Inicjalizuj: Wyślij POST do
https://mcp.flowtly.eu/mcpz{"jsonrpc":"2.0","id":"init-1","method":"initialize","params":{"protocolVersion":"2024-11-05"}} -
Krok 3 — Odczytaj dane: Wyślij POST
{"jsonrpc":"2.0","id":"read-1","method":"resources/work-times/read","params":{"uri":"/api/work-times"}} -
Krok 4 — Zapisz dane: Wyślij 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\"}"}]}} -
Wszystkie żądania używają
Authorization: Bearer <YOUR_TOKEN>iContent-Type: application/json.
Transport i Auth
-
Endpointy: POST /mcp (wejście JSON-RPC), GET /health (liveness), POST /api/chat (proxy konsoli; wymaga Authorization: Bearer
) - Nagłówki: Authorization Bearer token (preferowany; fallback FLOWTLY_API_KEY), nagłówek instance opcjonalny i przekazywany dalej
- Content-Type: application/json
- Body: JSON-RPC 2.0 { "jsonrpc": "2.0", "id": "...", "method": "...", "params": {...} }
-
CORS: Poświadczenia dozwolone tylko z
https://workspace.flowtly.eu. Nigdy nie łączAccess-Control-Allow-Origin: *zAccess-Control-Allow-Credentials: true. -
Upstream API:
https://api.flowtly.eu— serwer MCP pośredniczy we wszystkich żądaniach do Flowtly REST API.
initialize
- Negocjuje możliwości i namespaces.
- Przykładowe parametry: { "protocolVersion": "2024-11-05" }
- Zwraca capabilities (list, read, write) i namespaces (work-times, projects, employees, vacations, holidays, responsibilities, cost-groups, logical, project-rates, transactions, transaction-attachments, suppliers, organization, candidates, resource-requests).
- Dostępne przestrzenie nazw: 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
- Metoda: resources/{namespace}/list (domyślny namespace: work-times, gdy pominięty)
- Namespaces: work-times, projects, employees, vacations, holidays, responsibilities, cost-groups, logical, project-rates, transactions, transaction-attachments, suppliers, organization, candidates, resource-requests.
- Zwraca URI per namespace (szczegóły poniżej).
-
Przykład:
{"jsonrpc":"2.0","id":"list-1","method":"resources/projects/list","params":{}}
resources/read
- Metoda: resources/{namespace}/read (domyślnie work-times).
- Parametry obejmują uri, np. /api/work-times
- allowPrefixes umożliwia dopasowania między namespaces; {current} rozwija się do /api/employees/me.
- Niektóre zasoby dodają domyślne wartości (work-times dodaje zakres dat; employees dodaje itemsPerPage; holidays/vacations dodają domyślną paginację).
- Responsibilities śledzi do 10 linków @id, aby wzbogacić tytuł/nazwę.
- Namespace logical zwraca serwerowe podsumowania zamiast surowych payloadów.
- Zwraca payload contents z bazowej API Flowtly.
-
Odpowiedź:
{"jsonrpc":"2.0","id":"...","result":{"contents":[{"uri":"...","text":"{...}","mimeType":"application/json"}]}}
resources/write
- Tylko zasoby z allowWrite przyjmują zapis; POST chyba że URI kończy się id (wtedy PATCH z application/merge-patch+json).
- /api/.../create wymusza POST nawet przy id; typ można nadpisać przez params.contentType.
-
Pomocnik logical write: resources/logical/write obsługuje /logical/recruiting/resource-requests/update?id=
oraz /logical/recruiting/resource-request-candidates/update?id= (PATCH). -
Konwencja IRI:
params.uriużywa ścieżek/api/..., ale odniesienia do encji w ładunkach JSON muszą używać IRIs upstream (np."project": "/projects/1", nie"/api/projects/1"). - Przestrzenie nazw z możliwością zapisu: work-times, holidays (holiday-requests), transactions, transaction-attachments, suppliers (contractors), budgets, budget-groups, candidates, candidate-notes, resource-requests, resource-request-candidates.
-
Pomocnicy zapisu logicznego:
resources/logical/writeobsługuje/logical/work-times/log(POST do /api/work-times),/logical/recruiting/resource-requests/update?id=<id>i/logical/recruiting/resource-request-candidates/update?id=<id>(PATCH).
Wbudowani agenci
-
EmployeeAgent (
employee): Codzienne operacje — rejestruj czas pracy, sprawdzaj urlopy, przeglądaj zadania. Dostęp: każdy uwierzytelniony użytkownik (ograniczony tokenem/instancją). -
ManagerAgent (
manager): Wsparcie dla kierownika projektu/inżynierów — stawki, obsada, koszty, zatwierdzenia. Wymaga: roli project_manager lub admin. -
ExecutiveAgent (
executive): Przeglądy dla kadry kierowniczej — KPIs, budżety, podsumowania, zatwierdzenia. Wymaga: roli admin, executive, director, vp lub c-level. -
HRManagerAgent (
hr): HR i urlopy — salda urlopów, historia nieobecności, święta zespołowe. Dostęp: każdy uwierzytelniony użytkownik. -
AccountancyAgent (
accountancy): Zapytania finansowe — lista transakcji, podsumowanie kwot. Nigdy nie udostępnia adresów URL załączników. Dostęp: każdy uwierzytelniony użytkownik. -
RecruiterAgent (
recruiter): Rekrutacja — lista otwartych ról, wyszukiwanie/tworzenie kandydatów, przypisywanie do ról, dodawanie notatek. Wymaga: roli candidates_manager, admin lub recruiter. -
OnboardingAgent (
onboarding): Wskazówki dla nowych użytkowników — pomoc w konfiguracji, nawigacja, odpowiedzi na pytania „gdzie znaleźć X”. Dostęp: każdy uwierzytelniony użytkownik. -
TechAgent (
tech): Ustawienia techniczne — żądania poświadczeń MCP/ChatGPT. Generuje poświadczenia klienta dla każdego użytkownika po zatwierdzeniu przez administratora. Dostęp: otwarty dla wszystkich ról (zostanie zaostrzony). -
Wybór agenta: Użyj
employeedo zadań osobistych;hrdo urlopów/wakacji;managerdo obsady/kosztów;executivedo KPIs;accountancydo finansów;recruiterdo kandydatów;onboardingdo konfiguracji. - Model dostępu: Sprawdzanie ról wykorzystuje role/uprawnienia/pozwolenia Flowtly. Agenci z ograniczeniami odmawiają wykonania działań, gdy nie pasuje wymagana rola. Wszyscy agenci używają wyłącznie narzędzia MCP API — bez zewnętrznych usług.
Namespace logical (/logical/*)
- Podsumowania tylko do odczytu: work-times, employees, projects, employee-work-times, project-rates, transactions, project-profitability.
- Podsumowania rekrutacji: company-onboarding/status, recruiting/open-roles, recruiting/candidates.
- Podsumowania urlopów: logical/holidays.
- Przykład: /logical/work-times/summary obsługuje date[after]/date[before] (domyślnie ostatnie 7 dni).
-
Stawki projektowe:
/logical/project-rates/summary— karty stawek i przegląd stawek rozliczeniowych. -
Transakcje:
/logical/transactions/summary— sumy wydatków, kategoryzacja i trendy. -
Rentowność projektu:
/logical/project-profitability/summary— przychody vs koszty na projekt. -
Grupy budżetowe:
/logical/budget-groups/summary— alokacje grup budżetowych i status wykorzystania. -
Budżety:
/logical/budgets/summary— wykorzystanie poszczególnych budżetów i alerty. -
Wdrożenie firmy:
/logical/company-onboarding/status— postęp konfiguracji obszaru roboczego i oczekujące kroki. -
Otwarte role:
/logical/recruiting/open-roles— niezrealizowane zapotrzebowania na zasoby i proces rekrutacji. -
Kandydaci:
/logical/recruiting/candidates— rozkład kandydatów w etapach procesu rekrutacji. -
Urlopy:
/logical/holidays— zagregowane dane dotyczące urlopów i dostępności zespołu. -
Rejestr czasu pracy (zapis):
/logical/work-times/log— POST tworzy wpis czasu pracy za pośrednictwem /api/work-times.
Buforowanie i wydajność
- Logiczna pamięć podręczna Redis: Opcjonalna pamięć podręczna dla odczytów logicznych. Może współdzielić Redis z głównym API dla wzorców unieważniania.
-
Zmienne środowiskowe:
MCP_LOGICAL_CACHE_ENABLED(automatycznie włączane, gdy istnieje URL Redis),MCP_LOGICAL_CACHE_REDIS_URL(alternatywy: REDIS_URL, CACHE_REDIS_URL). -
Format klucza: Prefiks
mcp:logical:v1:— zakreskowany przez instancję + podmiot, zawiera znormalizowany logiczny URI. Skonfiguruj prefiks za pomocąMCP_LOGICAL_CACHE_PREFIX. -
TTL: 86400 sekund (24 godziny). Skonfiguruj za pomocą
MCP_LOGICAL_CACHE_TTL_SECONDS.
Kształt błędu
- { "jsonrpc": "2.0", "id": "...", "error": { "code": -32000, "message": "Upstream Flowtly API failed", "data": { "status": 502 } } }
- Typowe kody błędów: -32700 (błąd parsowania), -32600 (nieprawidłowe żądanie), -32601 (metoda nie znaleziona), -32000 (awaria API nadrzędnego).
-
Pole
data.statusodzwierciedla kod statusu HTTP z nadrzędnego API Flowtly, gdy jest dostępny.
Notatki
- allowPrefixes pozwala resources/read akceptować URI zaczynające się od dozwolonych prefiksów.
- Referencja w stylu OpenAPI dostępna w public/mcp/openapi.json.
-
Kontrakty intencji LLM: Wzorce routera + menedżera udokumentowane w
docs/llm-intent-architecture.md, zaimplementowane wpackages/agent/src/intents/contract.ts. - Stronicowanie: Ustawienia domyślne są automatycznie stosowane dla każdej przestrzeni nazw. Nadpisz za pomocą jawnych parametrów zapytania, gdy zajdzie taka potrzeba.
resources/list według namespace
Ewidencja czasu — work-times
- Lista: /api/work-times (domyślnie ostatnie 30 dni), /api/employees/me
- Odczyt: /api/work-times, /api/employees/me
- Zapis (dozwolony): /api/work-times (POST), /api/work-times/{id} (PATCH)
Projekty i delivery — projects
- Lista: /api/projects, /api/projects?employee={current}, /api/employees/me
- Odczyt: /api/projects, /api/projects?employee={current}, /api/employees/me
Zespół i compliance — employees, responsibilities
- Lista (employees): /api/employees/me, /api/employees (domyślnie itemsPerPage=200)
- Lista (responsibilities): /api/responsibility-employees?employee={current}, /api/responsibilities, /api/responsibility-groups
- Odczyt: te same URI co lista dla szczegółowych rekordów
Urlopy — vacations i holidays
- Lista: /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 (zapis dozwolony)
- Zapis: /api/holiday-requests (POST/PATCH)
Finanse — transactions i attachments
- Lista: /api/transactions (itemsPerPage=200&page=1), /api/bank-accounts
- Zapis: /api/transactions (POST/PATCH), /api/transaction-attachments (POST/PATCH), /api/transaction-attachments/create (POST)
- Zapis: transakcje (POST/PATCH), załączniki (POST/PATCH, /create wymusza POST)
Suppliers i cost groups
- Lista: /api/contractors (itemsPerPage=100&page=1), /api/cost-groups (itemsPerPage=200&page=1)
- Zapis: /api/contractors (POST/PATCH)
- Zapis: /api/contractors (POST/PATCH)
grupy budżetowe i budżety
- grupy budżetowe: /api/budget-groups (zapis dozwolony, itemsPerPage=200&page=1)
- budżety: /api/budgets (zapis dozwolony, itemsPerPage=200&page=1)
- Zapis: POST/PATCH dla grup budżetowych i budżetów
Stawki i rentowność
- Lista: /api/employees/{current}/project-rates (itemsPerPage=200)
- Logiczne podsumowania: /logical/project-rates/summary, /logical/project-profitability/summary
Talenty i rekrutacja
- Lista: /api/candidates (itemsPerPage=50&page=1), /api/candidates/search, /api/candidate-notes
- Lista: /api/resource-requests (itemsPerPage=50&page=1), /api/resource-request-candidates (itemsPerPage=50&page=1)
- Zapis: candidates, candidate-notes, resource-requests, resource-request-candidates (POST/PATCH)
- Logiczne zapisy: /logical/recruiting/resource-requests/update, /logical/recruiting/resource-request-candidates/update
Logiczne — podsumowania tylko do odczytu
- Lista/Odczyt: /logical/work-times/summary, /logical/employees/summary, /logical/projects/summary, /logical/employee-work-times/summary, /logical/transactions/summary
- Dodatkowo: /logical/company-onboarding/status, /logical/recruiting/open-roles, /logical/recruiting/candidates, /logical/holidays
- Budżety: /logical/budget-groups/summary, /logical/budgets/summary
- Rekrutacja: /logical/company-onboarding/status, /logical/recruiting/open-roles, /logical/recruiting/candidates
- Inne: /logical/holidays, /logical/work-times/log (pomocnik zapisu)
Organizacja
- Lista/Odczyt: /api/organization