Połącz narzędzia AI z Flowtly przez MCP tylko do odczytu
Połącz Claude, ChatGPT lub Claude Code z Flowtly i pytaj o swoje dane zwykłym językiem. Konektor pod adresem https://mcp.flowtly.eu zapewnia dostęp tylko do odczytu do danych Flowtly przez JSON-RPC 2.0 (MCP), ograniczony do pojedynczej organizacji za pomocą OAuth.
Jak połączyć Claude, ChatGPT i Claude CodeStatus dokumentacji
Ostatnia synchronizacja: 2026-06-18 10:40
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, CORS i transportu dla endpointu MCP.
- Przestrzenie nazw zasobów tylko do odczytu z operacjami listowania i odczytu.
- OAuth 2.0 z Dynamic Client Registration dla połączenia w jednym kroku.
- 16 narzędzi tylko do odczytu w 10 przestrzeniach nazw zasobów.
- Ładunki JSON-RPC, przykłady kodu i wskazówki dotyczące integracji.
Szybki start
-
Krok 1 — Połącz (OAuth): Dodaj
https://mcp.flowtly.eujako konektor w swoim narzędziu AI i autoryzuj dostęp tylko do odczytu. W Claude Code:claude mcp add --transport http flowtly https://mcp.flowtly.eu/mcp. Pełny przewodnik: Łączenie narzędzi AI. -
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"}}— serwer odpowiada możliwościami{"tools":{}}. -
Krok 3 — Wylistuj narzędzia: Wyślij POST
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}, aby odkryć dostępne narzędzia tylko do odczytu (np.invoices.list,transactions.list,counterparties.list). -
Krok 4 — Wywołaj narzędzie: Wyślij POST
{"jsonrpc":"2.0","id":"call-1","method":"tools/call","params":{"name":"transactions.list","arguments":{}}}. Wynik pojawia się jakoresult.content[].text(ciąg JSON). -
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" }
-
Możliwości w odpowiedzi:
{"tools":{}} -
Odkryj narzędzia: wywołaj
tools/list, aby pobrać dostępne narzędzia tylko do odczytu wraz z ich danymi wejściowymi w formacie JSON-Schema.
tools/list
-
Metoda:
tools/list— zwraca każde narzędzie tylko do odczytu dostępne dla Twojego połączenia. - Narzędzia (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.
-
Każdy wpis ma
name,descriptionorazinputSchemaw formacie JSON-Schema opisujący jego argumenty. -
Przykład:
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}
tools/call
-
Metoda:
tools/call— wywołaj narzędzie po nazwie wraz z jego argumentami. -
Parametry:
{"name":"<tool>","arguments":{...}}, np.{"name":"invoices.list","arguments":{}}. -
Argumenty: stosuj się do
inputSchemanarzędzia ztools/list(filtry, paginacja, identyfikatory). Pomiń, aby użyć rozsądnych wartości domyślnych. - Tylko do odczytu: każde narzędzie wyłącznie odczytuje dane — nie ma narzędzi do zapisu.
-
Najpierw odkrywanie: wywołaj
tools/list, aby przed wywołaniem poznać dokładne nazwy narzędzi i schematy argumentów. -
Paginacja i filtry: przekazywane wewnątrz
argumentszgodnie ze schematem każdego narzędzia (np. zakresy dat, rozmiar strony). -
Pojedyncze rekordy: narzędzia
*.getprzyjmują argument id i zwracają jedną encję; narzędzia*.listzwracają kolekcje. -
Odpowiedź:
{"jsonrpc":"2.0","id":"...","result":{"content":[{"type":"text","text":"{...}"}]}}— przetwórzcontent[].textjako JSON.
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.
Narzędzia według przestrzeni nazw
Faktury
invoices.list, invoices.get
Faktury sprzedaży i zakupu — listuj z filtrami lub pobierz jedną po id.
Transakcje
transactions.list
Transakcje bankowe z kwotami, datami i powiązanymi kontrahentami.
Rachunki bankowe
bankAccounts.list, bankAccounts.get
Rachunki bankowe z saldami i walutą.
Kontrahenci
counterparties.list, counterparties.get
Klienci i wykonawcy, z którymi handluje organizacja.
Dostawcy
suppliers.list
Kontrahenci po stronie kosztów (dostawcy).
Umowy
contracts.list, contracts.get, contracts.paymentScheduleLines
Umowy, szczegóły pojedynczej umowy oraz pozycje ich harmonogramu płatności.
Załączniki
attachments.list, attachments.get
Dokumenty dołączone do transakcji, takie jak faktury i paragony.
Grupy kosztów
costGroups.list
Kategorie kosztów używane do klasyfikacji wydatków.
Grupy podatkowe
taxGroups.list
Grupy stawek podatkowych i VAT.
Projekty
projects.list
Projekty z metadanymi, typem rozliczeń i kontekstem klienta.