🔌 MCP-серверы для агентов
Что это. Подключение стороннего MCP-сервера к проекту — вашей CRM, учётной системы, сервиса записи или внутреннего сервиса. Инструменты такого сервера автор сценария выдаёт агенту как навыки: сам выбирает нужные и сам описывает модели, когда их вызывать.
Когда нужно. Когда агенту нужны данные или действия во внешней системе, а у неё уже есть MCP-сервер: найти клиента в CRM, проверить заказ, посмотреть свободные слоты записи. Без программирования и без блока «HTTP запрос» под каждый метод.
Сторонние серверы видят и вызывают только агенты сценариев вашего проекта. ИИ-клиентам, подключённым к Fixorix MCP, инструменты сторонних серверов не отдаются.
📷 Скриншот: вкладка «Серверы MCP» со списком серверов (будет добавлен).
Где находится
Настройки → вкладка «MCP» → «Серверы MCP». Вверху — счётчик «Серверов: N из 10» и кнопка «Подключить сервер». В списке у сервера — название, статус, хост и короткий код, сводка «Инструментов: N · агентам: M» и время последней синхронизации. Строка открывает карточку сервера; пока серверов нет, вкладка предлагает подключить первый.
Кто что решает
| Где | Кто | Что решает |
|---|---|---|
| Настройки → «MCP» → «Серверы MCP» | Администратор проекта | Какие серверы подключены к проекту: адрес, секрет, таймаут, включён ли сервер. Какие инструменты сервера вообще можно давать агентам — переключатель «Доступен агентам», по умолчанию включён. С каким подтверждением оператора вызывается каждый инструмент |
| Блок «AI-агент» сценария, вкладка «Навыки» | Автор сценария | Какие инструменты получит этот агент, как описать их модели, какие аргументы закрепить, нужно ли подтверждение строже, чем на сервере |
Одобрять инструменты отдельно не нужно: сразу после подключения сервера его инструменты видны авторам сценариев в окне выбора навыка.
Если сторонние серверы выключены для агентов в настройках проекта, вкладка предупреждает: «Сторонние серверы выключены для агентов в настройках проекта — агенты не вызовут ни одного их инструмента», а администратору рядом видна кнопка «Включить». По умолчанию сторонние серверы для агентов включены.
Как подключить сервер
-
Нажмите «Подключить сервер» — откроется окно «Подключение MCP-сервера».
-
Заполните поля:
Поле Что указать «Название» Как сервер будет называться в Fixorix, например «CRM», до 100 символов. Модель видит его в описании каждого инструмента: External service "CRM". …«Короткий код» Латиница в нижнем регистре и цифры, до 12 символов, уникально в проекте. Станет префиксом имён инструментов. После сохранения не меняется «Адрес MCP-сервера» Адрес вида https://crm.example.ru/mcp, ограничения — ниже«Авторизация» «Без авторизации», «Токен (Bearer)» или «Заголовки», см. ниже. После сохранения не меняется «Таймаут вызова, с» От 1 до 30 секунд, по умолчанию 20 -
Нажмите «Проверить соединение». Fixorix подключится к серверу без сохранения и покажет «Соединение установлено», «Найдено инструментов: N» и их список с пометками.
-
Если всё верно, нажмите «Сохранить» («Назад» вернёт к полям). Сервер появится в списке, а его инструменты сразу станут доступны авторам сценариев.
-
Откройте карточку сервера и выключите «Доступен агентам» у инструментов, которые агентам давать нельзя, — см. Инструменты сервера.
Требования к адресу
- Только
https, порты 443 и 8443. - Доменное имя, а не IP-адрес.
- Без логина и пароля в адресе, без параметров (
?…) и якоря (#…) — секреты передаются только в заголовках. - Домен не должен вести на внутренние и служебные адреса: локальные сети, адреса облачных метаданных, сами сервисы Fixorix.
- Перенаправления (редиректы) не выполняются — укажите конечный адрес.
Если адрес не подходит, окно объясняет почему: «Адрес отклонён: нужен https», «разрешены только порты 443 и 8443», «укажите доменное имя, а не IP-адрес», «домен указывает на внутренний или служебный адрес» и так далее.
Запросы к вашему серверу приходят с исходящих адресов Fixorix. Если сервер или межсетевой экран пропускает только разрешённые IP, запросите список адресов у поддержки Fixorix.
Авторизация
| Тип | Что хранит Fixorix | Как отправляет |
|---|---|---|
| «Без авторизации» | Ничего | Без учётных данных. Подходит для публичных серверов; окно предупреждает, что сервер не знает, кто его вызывает |
| «Токен (Bearer)» | Один секрет | Authorization: Bearer <токен> |
| «Заголовки» | До 5 своих заголовков с секретами | Как заданы. Имя — латиница, цифры и дефис, до 64 символов; значение без переводов строки, до 4 КиБ |
В типе «Заголовки» нельзя задавать Authorization (для него есть «Токен (Bearer)»), Host, Cookie, Origin, Content-*, Accept*, Proxy-*, X-Forwarded-*, Mcp-*, X-Fixorix-* и служебные заголовки HTTP.
- Секрет только записывается. Он хранится зашифрованным и уходит только на адрес этого сервера. Прочитать его после сохранения нельзя — в карточке сервера видно лишь «Настроено …abcd» и дату. Чтобы сменить секрет, нажмите «Заменить»; у типа «Заголовки» заменяется весь набор сразу.
- Ничего своего Fixorix серверу не передаёт: ни токены и идентификаторы Fixorix, ни данные проекта сверх аргументов, которые выбрала модель или закрепил автор навыка.
Многие SaaS-сервисы (HubSpot, Notion и подобные) пускают к своему MCP-серверу только через вход OAuth. Такие серверы подключить пока нельзя — нужен сервер, который принимает токен или ключ в заголовке.
Инструменты сервера
В карточке сервера — блок «Инструменты»: счётчик «Всего N · доступно агентам M», строка «Подтверждение для всех инструментов», поиск «Найти инструмент» и список. У каждого инструмента — режим подтверждения оператора, переключатель «Доступен агентам» и кнопка «Подробнее».
«Доступен агентам» по умолчанию включён и применяется сразу. Выключите его у инструментов, которые авторам сценариев давать агенту нельзя, — например, удаление записей в CRM. Выключенный инструмент:
- в окне выбора навыка показан серым с причиной «Администратор выключил инструмент для агентов»;
- в уже выданных навыках не вызывается;
- не даёт опубликовать сценарий с таким навыком.
Включите переключатель снова — навыки заработают без правки сценариев.
Подтверждение оператора у инструмента
У каждого инструмента — выбор из трёх режимов: «Каждый вызов», «Один раз за разговор» и «Без подтверждения» (что они значат — в разделе Когда нужен оператор). Сначала выбран режим, который предложил Fixorix, а подпись под выбором объясняет почему: «Предложено Fixorix: сервер пометил инструмент как чтение», «…сервер не пометил инструмент как чтение», «…запись с вашим секретом» и так далее.
- Выбор применяется сразу. Подпись меняется на «Выставил администратор. Fixorix предлагал «…»: …», рядом — «Вернуть предложенный».
- Ниже допустимого нельзя. Такие режимы видны, но не выбираются, подсказка — «Ниже нельзя: для этого инструмента — не ниже «…».».
- Для всех сразу. Кнопки строки «Подтверждение для всех инструментов:» ставят один режим всем инструментам сервера, «Как предложено» возвращает предложенные. Если какому-то инструменту выбранный режим не допускается, ему ставится минимально допустимый, а уведомление перечисляет такие инструменты.
- Навыки идут за сервером. Режим инструмента наследуют навыки агентов, в которых автор сценария не выбрал свой. Поменяли режим — навыки подтверждаются по-новому без правки и публикации сценариев.
«Подробнее» открывает окно «Инструмент · ‹сервер›» — только для просмотра:
| Блок | Что в нём |
|---|---|
| «Политика для агента» | Режим подтверждения оператора, почему Fixorix его предложил и ниже какого режима нельзя, см. ниже |
| «Описание на сервере — для справки» | Текст с сервера. Модель его не увидит: что делает инструмент и когда его звать, пишет автор сценария в навыке |
| «Аннотации — заявлено сервером, не проверено» | Подсказки сервера: только ли чтение, есть ли последствия. Fixorix им не доверяет |
| «Схема аргументов для модели» | Аргументы в том виде, в каком их получит модель |
| «Версия определения» | Версию закрепляет навык агента, см. Если инструмент изменился |
Описание инструмента пишет владелец сервера, и в нём может оказаться что угодно — в том числе инструкции для модели. Поэтому Fixorix не показывает модели ничего из того, что прислал сервер, кроме схемы аргументов. Описание для модели пишет автор сценария в поле «Когда применять» навыка — это обязательно, и поле никогда не заполняется текстом с сервера.
Статусы
| Статус сервера | Что значит |
|---|---|
| «Работает» | Сервер отвечает |
| «Ошибка» | Сервер недоступен. Навыки с ним временно не вызываются |
| «Ошибка авторизации» | Сервер отверг учётные данные (401/403). Замените секрет — до этого навыки с ним не работают |
| «Выключен» | Администратор выключил сервер кнопкой «Выключить». Агенты его не вызывают, пока его не включат |
| Пометка инструмента | Что значит |
|---|---|
| «Нет на сервере» | Сервер больше не отдаёт инструмент; такие инструменты собраны в конце списка. Навыки с ним не вызываются, а если инструмент вернётся в прежнем виде — снова заработают |
| «Схема несовместима с моделью агента» | Модель агента не сможет заполнить аргументы, и агент этот инструмент не получит |
Если инструмент изменился на сервере
Fixorix сам перечитывает инструменты серверов примерно раз в 30 минут; кнопка «Обновить снимок» в карточке сервера делает это сразу.
Навык агента закрепляет версию инструмента — имя, схему аргументов и пометки сервера — на момент, когда автор выдал его агенту.
- Изменились аргументы или пометки сервера — навыки с этим инструментом перестают вызываться и не проходят публикацию, пока автор сценария не обновит навык: карточка навыка покажет «Инструмент изменился — обновите навык» и кнопку «Обновить навык», см. Навыки агента. Администратору ничего делать не нужно.
- Изменилось только описание на сервере — навыки работают как прежде: модель всё равно видит текст автора.
- Инструмент пропал — он помечен «Нет на сервере», навыки с ним не вызываются.
Агент всегда получает ту версию инструмента, которую закрепил автор, и никогда — ту, что сервер прислал после этого.
Сравнение версий видит, что сервер поменял аргументы инструмента, но не видит, если тот же инструмент стал вести себя иначе. Поэтому вызовы, которые меняют данные или идут с вашим секретом, без оператора по умолчанию не проходят — см. следующий раздел.
Когда нужен оператор
Вызов стороннего инструмента может менять данные во внешней системе, а моделью может управлять текст клиента. Поэтому у каждого инструмента есть режим подтверждения оператора:
| Режим | Что происходит |
|---|---|
| «Каждый вызов» | Каждый вызов ждёт решения оператора |
| «Один раз за разговор» | Оператор подтверждает первый вызов — кнопкой «Разрешить до конца разговора». Дальше до конца этого разговора агент вызывает этот навык сам, с любыми аргументами. В новом разговоре — снова с первого подтверждения |
| «Без подтверждения» | Агент вызывает инструмент сам |
Какой режим предлагает Fixorix
Fixorix смотрит на пометки сервера (аннотации) и на то, работает ли сервер с вашим секретом — токеном или заголовками:
| Инструмент | Предлагается | Ниже нельзя |
|---|---|---|
| Сервер пометил инструмент как чтение, сервер без авторизации | «Без подтверждения» | — |
| Сервер не пометил инструмент как чтение (ничего не сообщил или пометил «не только чтение»), сервер без авторизации | «Один раз за разговор» | — |
| Сервер пометил инструмент как удаляющий данные, сервер без авторизации | «Каждый вызов» | «Один раз за разговор» |
| Чтение, сервер с токеном или заголовками | «Один раз за разговор» | — |
| Не чтение, сервер с токеном или заголовками | «Каждый вызов» | «Один раз за разговор» |
Пометки сервера режим только ужесточают: пометка «удаляет данные» рядом с «только чтение» даёт «Каждый вызов». Пометка «не только чтение» без «удаляет данные» строже не делает: такой инструмент попадает во вторую строку, и администратор может опустить его до «Без подтверждения».
Кто может менять режим
- Администратор выставляет режим инструменту в карточке сервера — по одному или для всех сразу.
- Навык наследует режим сервера. Автор сценария может сделать подтверждение в навыке строже — например, «Каждый вызов» вместо «Один раз за разговор».
- Ниже, чем на сервере, режим в навыке ставит только администратор или владелец проекта: сценарий с таким навыком опубликует только он. См. Карточка MCP-навыка.
- Ниже допустимого (столбец «Ниже нельзя») режим не ставит никто — ни на сервере, ни в навыке.
Когда оператор нужен в любом режиме
- Персональные данные в запросе. Если в аргументах вызова есть телефон, email, номер карты, паспорт РФ, СНИЛС или IBAN, этот вызов подтверждает оператор — даже в режиме «Без подтверждения» и даже если навык уже разрешён до конца разговора. Карточка подтверждения называет, что нашлось: «В запросе персональные данные: телефон, email…». Значения, которые автор закрепил в навыке (например, почта или телефон магазина), не считаются: проверяется то, что подставил агент. Имена и ФИО пока не распознаются. Длинный номер заказа может оказаться похож на телефон — тогда просто придёт лишняя карточка.
- Ответ внешнего сервиса в разговоре и сервер с секретом. Если агент в этом разговоре уже получил ответ любого внешнего сервиса, каждый вызов инструмента сервера с токеном или заголовками подтверждает оператор — в любом режиме. У серверов без авторизации вместо этого действует проверка персональных данных.
Вызов, которому нужен оператор, не уходит на сервер, пока оператор его не подтвердит.
Пока у агента есть хоть один навык стороннего сервера, модерация ответов агента включена принудительно: ответ внешней системы — чужой текст, и он может попасть в реплику клиенту.
Что получает модель
- Описание инструмента: название сервера и текст поля «Когда применять» из навыка — например,
External service "CRM". Ищет клиента по телефону…— пометку сервера Fixorix пишет на английском, а текст навыка остаётся таким, каким его написал автор. Поле обязательно, до 1000 символов: без него навык не публикуется. - Аргументы — по схеме версии, закреплённой в навыке; Fixorix проверяет их и по исходной схеме сервера перед отправкой.
- Ответ сервера — как недоверенный текст: очищенный от управляющих символов и служебных пометок, сокращённый до лимита наблюдения агента (по умолчанию 4000 символов). Картинки и вложения в ответе заменяются пометкой.
Описание сервера, его инструкции, служебные сведения и иконки в модель не попадают никогда.
Лимиты
| Что | Лимит |
|---|---|
| Серверов в проекте | 10 |
| Инструментов на сервере | 200 |
| Вызовов одного сервера | 60 в минуту |
| Вызовов всех сторонних серверов проекта | 120 в минуту |
| Одновременных вызовов одного сервера | 4 |
| Таймаут вызова | 20 секунд по умолчанию, не больше 30 |
| Размер аргументов | 8 КиБ, строка — до 2048 символов |
| Размер ответа сервера | 2 МиБ |
Каждый вызов стороннего инструмента расходует лимит агента «HTTP-вызовов за сессию» — как навык «HTTP запрос». Если сервер ошибается пять раз подряд, Fixorix на минуту перестаёт его вызывать: агент получает «сервис недоступен» и продолжает без него.
Если ответа не было до таймаута, вызов не повторяется: агент получает «исход неизвестен — проверь результат чтением, не повторяй», потому что запрос мог успеть выполниться.
Изменение и удаление сервера
- «Редактировать» — название, адрес и таймаут. Короткий код и тип авторизации не меняются. При смене адреса инструменты перечитываются с нового адреса: если определение инструмента там другое, навыки с ним не вызываются, пока автор не обновит их в сценарии. Сохранённый секрет на другой сервер не уходит: если у сервера есть авторизация и в адресе меняется хост или порт, в том же окне нужно ввести новый токен или новый набор заголовков — без них правка не сохранится. Если меняется только путь на том же хосте и порту, прежний секрет остаётся (при желании его можно заменить там же).
- «Выключить» — агенты перестают вызывать сервер, а сценарии с его навыками не публикуются. Настройки сервера и переключатели инструментов сохраняются; «Включить» возвращает всё как было.
- «Удалить» — сервер удаляется вместе с секретами. Навыки агентов с его инструментами перестают вызываться, отменить удаление нельзя.
Кто что может
| Действие | Минимальная роль |
|---|---|
| Видеть серверы, их инструменты и статусы | Редактор |
| Подключать, изменять, выключать и удалять серверы, заменять секреты, обновлять снимок | Администратор |
| Включать и выключать «Доступен агентам» у инструмента | Администратор |
| Менять режим подтверждения инструмента — по одному и для всех | Администратор |
| Ставить в навыке режим подтверждения ниже, чем на сервере | Администратор |
| Включать сторонние серверы для агентов, если их выключили | Администратор |
| Выдавать инструмент агенту как навык | Редактор |
→ Навыки агента · Подтверждения оператора · Агентский режим · Fixorix MCP