Інструменти MCP
Sinaptic® DROID+ підтримує Model Context Protocol (MCP) для підключення зовнішніх інструментів до ваших агентів. Сервери MCP надають такі можливості, як вебпошук, доступ до файлів, запити до баз даних та будь-які кастомні API — усі вони доступні вашим агентам як інструменти, що можна викликати.
Як працює MCP у Sinaptic® DROID+
Сервери MCP працюють як підпроцеси разом із Sinaptic® DROID+. Вони спілкуються через stdio за допомогою протоколу JSON-RPC 2.0. Коли агенту потрібно скористатися інструментом, Sinaptic® DROID+ надсилає запит на відповідний сервер MCP і повертає результат до LLM.
Агент → DROID+ → Сервер MCP (підпроцес) → Зовнішній сервіс
← Результат
Кожен сервер MCP оголошує набір інструментів з іменами, описами та схемами вводу. LLM бачить їх як доступні виклики функцій.
Конфігурація
Сервери MCP налаштовуються у файлі droid.yaml у розділі mcp:
mcp:
servers:
web-search:
command: "npx"
args: ["-y", "@anthropic/mcp-web-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
filesystem:
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/data"]
Кожен запис сервера визначає:
- command — виконуваний файл для запуску
- args — аргументи командного рядка
- env — змінні середовища, що передаються підпроцесу (підтримується синтаксис
${VAR})
Використання інструментів MCP в агентах
Після глобального налаштування серверів MCP агенти можуть використовувати їхні інструменти, посилаючись на них:
# configs/agents/research-agent.yaml
name: "research-agent"
description: "Агент, який може шукати в мережі та читати файли"
model:
name: "gpt-4o-mini"
personality: |
Ви — помічник-дослідник. Використовуйте вебпошук, щоб знайти актуальну інформацію,
та файлову систему для читання довідкових документів.
tools:
- name: "current_time"
type: "builtin"
# Інструменти MCP з налаштованих серверів доступні автоматично
Коли сервери MCP налаштовані в droid.yaml, їхні інструменти доступні всім агентам. LLM отримує визначення інструментів як частину схеми виклику функцій і може викликати їх за потреби.
Популярні сервери MCP
Вебпошук (Brave)
mcp:
servers:
web-search:
command: "npx"
args: ["-y", "@anthropic/mcp-web-search"]
env:
BRAVE_API_KEY: "${BRAVE_API_KEY}"
Надає інструмент web_search. Потрібен Brave Search API key.
Доступ до файлової системи
mcp:
servers:
filesystem:
command: "npx"
args: ["-y", "@anthropic/mcp-filesystem", "/data/docs"]
Надає інструменти read_file, write_file, list_directory. Аргумент шляху обмежує доступ цією директорією.
База даних (PostgreSQL)
mcp:
servers:
database:
command: "npx"
args: ["-y", "@anthropic/mcp-postgres"]
env:
DATABASE_URL: "${DATABASE_URL}"
Надає інструмент query для виконання SQL-запитів до вашої бази даних (лише для читання).
Кастомні сервери MCP
Ви можете написати власний сервер MCP будь-якою мовою. Сервер має лише:
- Приймати повідомлення JSON-RPC 2.0 на stdin
- Записувати відповіді в stdout
- Оголошувати доступні інструменти за допомогою методу
tools/list
Приклад із сервером MCP на Python:
mcp:
servers:
my-tools:
command: "python"
args: ["./tools/my_server.py"]
env:
API_TOKEN: "${MY_API_TOKEN}"
Дивіться специфікацію MCP для отримання детальної інформації про створення серверів.
MCP + Docker
Під час запуску Sinaptic® DROID+ у Docker сервери MCP повинні мати доступ до своїх середовищ виконання всередині контейнера. Для серверів MCP на базі npm вам знадобиться Node.js в образі.
Варіант 1: Використовуйте кастомний Dockerfile, який додає Node.js:
FROM sinapticai/droid:latest AS base
# Додайте залежності сервера MCP
COPY --from=node:20-alpine /usr/local/bin/node /usr/local/bin/
COPY --from=node:20-alpine /usr/local/bin/npx /usr/local/bin/
Варіант 2: Запускайте сервери MCP як окремі контейнери та налаштуйте Sinaptic® DROID+ на підключення через мережу замість stdio (потрібен транспорт MCP з підтримкою мережі).
Відладка MCP
Увімкніть логування рівня debug, щоб бачити комунікацію MCP:
logging:
level: "debug"
Це дозволить логувати всі повідомлення JSON-RPC між Sinaptic® DROID+ та серверами MCP, включаючи виклики інструментів та результати.
Обмеження
- Сервери MCP у Community Edition працюють так само, як у Pro/Enterprise — обмежень функціоналу MCP немає.
- Кожен сервер MCP працює як окремий підпроцес. Тримайте їхню кількість розумною (зазвичай 2-5 серверів).
- Сервери MCP повинні бути доступні в системі, де працює Sinaptic® DROID+ (або в контейнері).