Підключайте ШІ-інструменти до Flowtly через MCP лише для читання
Підключайте Claude, ChatGPT або Claude Code до Flowtly та запитуйте про свої дані звичайною мовою. Конектор за адресою https://mcp.flowtly.eu надає доступ лише для читання до ваших даних Flowtly через JSON-RPC 2.0 (MCP), обмежений однією організацією за допомогою OAuth.
Як підключити Claude, ChatGPT і Claude CodeСтатус документації
Остання синхронізація: 2026-06-18 10:40
Синхронізуйте регулярно, щоб документація MCP відповідала актуальній збірці сервера.
Сутності
Як залишатися в курсі
- Запускайте команду синхронізації після виходу оновлень MCP.
- Перезапускайте стек агентів, щоб підхопити зміни можливостей.
- Додайте цю сторінку в закладки, щоб мати актуальні рекомендації Flowtly MCP.
Що всередині
- Правила автентифікації, CORS та транспорту для MCP-ендпоїнта.
- Простори імен ресурсів лише для читання з операціями списку та читання.
- OAuth 2.0 із Dynamic Client Registration для підключення в один крок.
- 16 інструментів лише для читання у 10 просторах імен ресурсів.
- JSON-RPC пейлоади, приклади коду та поради з інтеграції.
Швидкий старт
-
Крок 1 — Підключення (OAuth): Додайте
https://mcp.flowtly.euяк конектор у вашому інструменті ШІ та авторизуйте доступ лише для читання. У Claude Code:claude mcp add --transport http flowtly https://mcp.flowtly.eu/mcp. Повний посібник: Підключення інструментів ШІ. -
Крок 2 — Ініціалізація: Здійсніть POST-запит до
https://mcp.flowtly.eu/mcpз{"jsonrpc":"2.0","id":"init-1","method":"initialize","params":{"protocolVersion":"2024-11-05"}}— сервер відповідає можливостями{"tools":{}}. -
Крок 3 — Перелік інструментів: Здійсніть POST-запит
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}, щоб виявити доступні інструменти лише для читання (наприклад,invoices.list,transactions.list,counterparties.list). -
Крок 4 — Виклик інструмента: Здійсніть POST-запит
{"jsonrpc":"2.0","id":"call-1","method":"tools/call","params":{"name":"transactions.list","arguments":{}}}. Результат надходить якresult.content[].text(рядок JSON). -
Усі запити використовують
Authorization: Bearer <YOUR_TOKEN>таContent-Type: application/json.
Транспорт і автентифікація
-
Ендпоїнти: POST /mcp (вхід JSON-RPC), GET /health (liveness), POST /api/chat (проксі консолі; потрібен Authorization: Bearer
) - Заголовки: Authorization Bearer token (переважно; fallback на FLOWTLY_API_KEY), optional instance header передається далі
- Content-Type: application/json
- Body: JSON-RPC 2.0 { "jsonrpc": "2.0", "id": "...", "method": "...", "params": {...} }
-
CORS: Облікові дані дозволені лише з
https://workspace.flowtly.eu. Ніколи не комбінуйтеAccess-Control-Allow-Origin: *зAccess-Control-Allow-Credentials: true. -
Вихідний API:
https://api.flowtly.eu— сервер MCP проксує всі запити до Flowtly REST API.
initialize
- Узгоджує можливості та простори імен.
- Приклад params: { "protocolVersion": "2024-11-05" }
-
Можливості у відповіді:
{"tools":{}} -
Виявлення інструментів: викличте
tools/list, щоб отримати доступні інструменти лише для читання та їхні вхідні дані за схемою JSON-Schema.
tools/list
-
Метод:
tools/list— повертає кожен інструмент лише для читання, доступний для вашого підключення. - Інструменти (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.
-
Кожен запис має
name,descriptionтаinputSchemaу форматі JSON-Schema, що описує його аргументи. -
Приклад:
{"jsonrpc":"2.0","id":"list-1","method":"tools/list","params":{}}
tools/call
-
Метод:
tools/call— викликає інструмент за назвою з його аргументами. -
Params:
{"name":"<tool>","arguments":{...}}, наприклад{"name":"invoices.list","arguments":{}}. -
Аргументи: дотримуйтесь
inputSchemaінструмента зtools/list(фільтри, пагінація, ids). Пропустіть для розумних значень за замовчуванням. - Лише читання: кожен інструмент лише читає дані — інструментів запису немає.
-
Спочатку виявлення: викличте
tools/list, щоб побачити точні назви інструментів та схеми аргументів перед викликом. -
Пагінація & фільтри: передаються всередині
argumentsза схемою кожного інструмента (наприклад, діапазони дат, розмір сторінки). -
Окремі записи: інструменти
*.getприймають аргумент id та повертають одну сутність; інструменти*.listповертають колекції. -
Відповідь:
{"jsonrpc":"2.0","id":"...","result":{"content":[{"type":"text","text":"{...}"}]}}— розберітьcontent[].textяк JSON.
Форма помилки
- { "jsonrpc": "2.0", "id": "...", "error": { "code": -32000, "message": "Upstream Flowtly API failed", "data": { "status": 502 } } }
- Поширені коди помилок: -32700 (помилка розбору), -32600 (недійсний запит), -32601 (метод не знайдено), -32000 (збій вихідного API).
-
Поле
data.statusвідображає HTTP-код стану з вихідного API Flowtly, коли він доступний.
Нотатки
- allowPrefixes дозволяє resources/read приймати URI, що починаються з дозволених префіксів.
- OpenAPI-стиль довідника доступний у public/mcp/openapi.json.
-
Контракти намірів LLM: Шаблони маршрутизатора + менеджера, задокументовані в
docs/llm-intent-architecture.md, реалізовані вpackages/agent/src/intents/contract.ts. - Пагінація: Налаштування за замовчуванням застосовуються автоматично для кожного простору імен. Перевизначте за допомогою явних параметрів запиту за потреби.
Інструменти за простором імен
Рахунки-фактури
invoices.list, invoices.get
Рахунки на продаж і закупівлю — список із фільтрами або отримання одного за id.
Транзакції
transactions.list
Банківські транзакції із сумами, датами та пов'язаними контрагентами.
Банківські рахунки
bankAccounts.list, bankAccounts.get
Банківські рахунки з балансами та валютою.
Контрагенти
counterparties.list, counterparties.get
Клієнти та підрядники, з якими співпрацює організація.
Постачальники
suppliers.list
Контрагенти з боку витрат (вендори).
Договори
contracts.list, contracts.get, contracts.paymentScheduleLines
Договори, деталі окремого договору та рядки їхнього графіка платежів.
Вкладення
attachments.list, attachments.get
Документи, прикріплені до транзакцій, наприклад рахунки-фактури та квитанції.
Групи витрат
costGroups.list
Категорії витрат, що використовуються для класифікації видатків.
Податкові групи
taxGroups.list
Групи ставок податків та ПДВ.
Проєкти
projects.list
Проєкти з метаданими, типом виставлення рахунків та контекстом клієнта.