Перейти до основного вмісту

Інструменти 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 будь-якою мовою. Сервер має лише:

  1. Приймати повідомлення JSON-RPC 2.0 на stdin
  2. Записувати відповіді в stdout
  3. Оголошувати доступні інструменти за допомогою методу 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+ (або в контейнері).