Перейти к основному содержимому

Подключение MCP-серверов

Интеграция с MCP-серверами (от англ. Model Context Protocol) — ключевой способ расширить возможности вашей системы. MCP-серверы позволяют AI-агентам и процессам безопасно взаимодействовать с внешними системами, базами данных и сервисами. После подключения MCP-сервера вы сможете использовать его функции как шаги в бизнес-процессах или как инструменты для AI-агента.

Платформа Agent Platform поддерживает подключение к разным типам MCP-серверов:

  • Публичные реестры и маркетплейсы (например, Smithery).
  • Приватные self-hosted инсталляции.
  • Сервисы с прямым доступом по URL.
Особенности работы с MCP-серверами
  • Стабильность и доступность: MCP-серверы — это внешние сервисы. Платформа Agent Platform не отвечает за их работу и доступность.
  • Потребление контекста: вызов функций и их описание занимают значительную часть контекстного окна, что может ухудшить качество работы моделей с небольшим контекстом. Рекомендуем использовать модели с большим контекстным окном.
  • Стоимость: использование функций MCP-серверов может быть платным. Уточняйте тарифы у провайдера сервиса.

Создание подключения

к сведению

Платформа Agent Platform находится в активной разработке и тексты интерфейса могут меняться.

Чтобы добавить MCP-сервер в проект, выполните следующие шаги:

  1. В левом меню перейдите в раздел Интеграции.

  2. Нажмите Подключить и выберите MCP.

  3. Заполните параметры:

    • Название — укажите понятное имя, которое будет отображаться в списке интеграций. Например, Калькулятор тарифов или API базы знаний.

    • Адрес MCP-сервера — введите адрес, по которому доступен сервер.

    • Имя коллекции — укажите имя для группы функций, полученных с сервера. Оно будет использоваться как префикс и поможет избежать конфликтов при нескольких MCP-интеграциях.

      По нему вы также сможете найти функции в конструкторе.

    • Учетные данные — если требуется аутентификация (например, API-ключ), выберите учетные данные из списка или создайте новые. Если доступ открыт, оставьте поле пустым.

  4. Нажмите Сохранить.

Платформа автоматически подключится к серверу, получит список доступных функций и их параметры. Теперь вы можете использовать их в процессах.

Пример: подключение MCP Fetch

Рассмотрим подключение на примере MCP-сервера Fetch из каталога Caila. Этот сервер предоставляет функцию для получения и обработки веб-контента: содержимого веб-страниц, API-эндпоинтов и других HTTP-ресурсов.

При добавлении интеграции укажите следующие параметры:

  • Название — CailaFetch.
  • Адрес MCP-сервера — https://just-ai-mcp-fetch.app.caila.io/mcp.
  • Протокол подключения — Streamable HTTP.
  • Имя коллекции — cailaFetch.
  • Учетные данные — Без учетных данных.

После сохранения интеграции она появится в списке, а в конструкторе процессов вы сможете найти функцию cailaFetch.fetch.

MCP-сервер в списке интеграций

Использование в процессе

После подключения вы можете использовать функции MCP на холсте.

Режим «Функция»

Базовый режим, чтобы использовать функцию как отдельный шаг в процессе.

  • Как работает: система вызывает выбранную функцию с заданными параметрами. Для получения результата в следующем блоке используйте метод Context.getLastFunctionResult().
  • Когда использовать: для задач, где вызов внешней системы — это четкий шаг в процессе. Например: «получить курс валют», «рассчитать доставку», «проверить статус заказа».

Настройка

  1. В левом меню перейдите в Конструктор.

  2. Выберите ФункцииMCP.
  3. Перетащите функцию на холст и укажите параметры. Вы можете задать их вручную или использовать динамическую подстановку данных, например:

    • Для движка версии 2: ID этого канала: {{ request.botId}}.
    • Для версии 1: {{'ID этого канала: ' + Context.getBotId()}}.
  4. Если в вашем проекте движок версии 2, вы можете задать параметры на вкладке Поведение:

    • Время ожидания ответа: до 60 минут. Если выполнение функции не завершится за это время, будет зафиксирована ошибка.

    • Повторные попытки при ошибке: до 10 повторных вызовов.

      Например, если указать таймаут 20 секунд и количество повторных попыток 3, то суммарное время ожидания может составить до 80 секунд: 20×(1+3).

    • Возвращать указанное значение вместо ошибки: если функция не выполнится успешно после всех попыток, процесс не прервется, а на выход блока будет передано заданное значение (число, строка, JSON-объект, true/false или null).

Режим «Инструмент»

Используется совместно с блоком Агент, позволяя AI самостоятельно решать, когда вызывать функцию.

  • Как работает: вы не вызываете функцию напрямую — она становится «инструментом» для агента. Агент сам решает, когда и как ее использовать, исходя из диалога с пользователем.
  • Когда использовать: для гибких систем, где агент взаимодействует с внешним миром: например, «забронируй переговорную» или «какой у меня баланс?».

Подтверждение перед вызовом

Если функция проводит платеж, удаляет важные данные или выполняет другое критическое действие, запросите у клиента подтверждение перед ее выполнением.

подсказка

Подробнее о настройке функций в режиме инструмента смотрите в разделе про блок «Агент».

Вызов в коде

Функцию можно вызвать:

  • Из выражений в блоках Код и Условие. Пример смотрите в разделах Код и Условие.

  • Из кода других (пользовательских) функций.

  • Из параметров других JavaScript-функций (только если в вашем проекте движок версии 1).

    Пример
    Вызов функции в параметре

При вызове функций указывайте коллекцию, например:

// Вызов функции websearch из коллекции SearchMCP
SearchMCP.websearch();
примечание

Из JavaScript-кода нельзя вызывать Python-функции, и наоборот.

Сохранение результата в контекст

Результат выполнения блока функции можно записывать в служебную память, используемую агентами. Подробнее смотрите в разделе Управление контекстом агентов.