разработчику · статья 31
Локальные инструменты (MCP)
Эта статья — для разработчика или интегратора: у клиента есть свои системы — внутренняя CRM, склад, расписание в МИС, печать документов, — и вы хотите, чтобы ИИ-сотрудник умел ими пользоваться. Для этого вы поднимаете рядом со своими данными небольшойMCP-сервер, который отдаёт платформе список инструментов: «посмотреть свободные окна врача», «создать запись во внутренней CRM», «напечатать направление». Сотрудник вызывает их так же, как родные навыки платформы, — в разговоре с клиентом, не замечая границы между Worken и вашей системой. Экран живёт в менюНастройки → Локальные инструменты — режим разработчика для него включать не нужно; видят его Владелец и Администратор.
https://mcp.worken.ru/v1/sse. Здесь — ваше внутрь: ваш сервер отдаёт свои инструменты сотрудникам Worken. Один протокол, два направления.Как устроен экран
Сверху — карточки подключённых серверов, по одной на сервер. Ниже — блок «Как подключить свой сервер» с тремя шагами кода: он показан всегда, даже когда серверов ещё нет. Ещё ниже — блок«Инструменты сотрудника»: кто из сотрудников какими инструментами владеет. Единственная лаймовая кнопка экрана,Подключить сервер, ведёт к шагам подключения — своей формы у действия нет, подключение живёт в командной строке.

Подключить сервер: три шага кода
Блок «Как подключить свой сервер» — это и есть вся процедура:

Шаг 1 — поставить инструмент разработчика:bun add -g worken. Шаг 2 — описать инструмент функцией defineTool: машинное имя (free_slots), описание, схема аргументов и функцияrun, которая ходит в вашу систему. Всё, что вы здесь напишете, платформа возьмёт как есть: имя и схему — для вызовов, описание — для людей. Шаг 3 — поднять сервер:worken mcp --tools ./tools.ts --transport tunnel.
Способа связи два, и они видны в карточках серверов.tunnel — соединение с платформой устанавливает сама командаworken mcp; вашему серверу не нужен публичный адрес, он получает служебный вида wrk-tunnel://gippokrat-slots.http — ваш сервер уже доступен по своемуhttps://…-адресу, и платформа ходит к нему сама. Проверить, что связь есть, можно в любой момент кнопкойПроверить связь в карточке сервера — ответ приходит сразу, с временем отклика.
description заполняйте коротко и по-русски: «Свободные окна врача на дату», «Отменить запись». Именно это описание владелец увидит в «Навыках» карточки сотрудника (статья 05) — и по нему поймёт, что разрешать. Инструмент с пустым или английским описанием для него — чёрный ящик.Карточка сервера и список инструментов
Каждый подключённый сервер — карточка. В шапке имя и статус, под ними — способ связи, адрес и число инструментов, время последнего вызова и строка «используют» — какие сотрудники владеют инструментами этого сервера. СсылкаИнструменты сервера раскрывает список:

Строка инструмента читается слева направо: машинное имя (free_slots), ваше русское описание, счётчик «118 за 7 дней» — по нему видно, чем сотрудники пользуются на самом деле, а что лежит мёртвым грузом. Раскрывашка «схема аргументов · JSON» показывает схему как есть. КнопкаВызвать вручную открывает форму с полями по схеме — так вы проверяете инструмент сами, не поднимая сотрудника. Осторожно: если инструмент меняет данные, форма прямо предупредит — это не тест, изменение в вашей системе произойдёт по-настоящему.
Рядом с «Проверить связь» в карточке две тихие кнопки.Выключить — обратимая пауза: сервер переходит в состояние ВЫКЛЮЧЕН, сотрудники перестают видеть его инструменты, включить можно обратно. Отключить сервер — убрать сервер с экрана насовсем, с подтверждением. Кнопки «Удалить» здесь нет — как и у ключей в статье 30.
«Инструменты сотрудника»: кто чем владеет
Нижний блок отвечает на вопрос «что именно в руках у конкретного сотрудника»: выберите сотрудника в списке справа — и увидите все его инструменты в одном списке, откуда бы они ни пришли.

У каждой строки три части: имя инструмента, откуда он пришёл — «платформа», имя вашего сервера или канал — и право. Прав три: разрешён — сотрудник вызывает сам;разрешён · подтверждение — перед вызовом сотрудник спрашивает владельца; запрещён — инструмент подключён, но этому сотруднику не выдан. Если сервер инструмента сейчас не отвечает, у строки появляется красная пометка «недоступен».
Важно понимать, что этот экран — единственное место, где живут сырые имена вроде book_slot. Владелец в карточке сотрудника на вкладке «Навыки» (статья 05) видит те же инструменты человеческими формулировками — клиенту и владельцу машинные имена не показываются, об этом прямо написано под блоком.
И одна строка внизу экрана, которую легко пропустить: каталог моделей. Инструменты работают только на моделях с поддержкой инструментов, а бесплатных таких в каталоге — ноль. Сотрудник на бесплатной модели ваши инструменты звать не сможет — проверьте модель сотрудника, прежде чем искать ошибку в своём сервере.
Статусы и отладка: когда сервер не отвечает
У сервера три состояния: зелёное НА СВЯЗИ, красноеНЕ ОТВЕЧАЕТ и серое ВЫКЛЮЧЕН. Упавший сервер экран не прячет — наоборот, поднимает на виду:

Карточка называет три вещи сразу: когда пропала связь («связь потеряна 9 августа в 02:14»), каким был последний успешный вызов до этого — и кого это задело: «У Гриши 2 инструмента сейчас недоступны». Порядок отладки простой: почините сервер у себя, нажмите Проверить связь — зелёный ответ с временем отклика значит, что инструменты снова в руках сотрудников, ничего переподключать не нужно. Пока сервер лежит, кнопки «Вызвать вручную» у его инструментов погашены — наведите курсор, и платформа скажет причину.
Безопасность: данные остаются у вас
Инструменты исполняет ваш сервер — от своего имени, на вашей стороне. Платформа видит только то, что вы объявили вdefineTool: имя, описание и схему аргументов; код функции run, доступы к базе и сами данные наружу не уходят — Worken передаёт аргументы вызова и получает ответ. Это значит, что права режете вы: отдавайте сервером только те инструменты, которые сотрудникам действительно нужны, а внутриrun ходите в свою систему под отдельной служебной учёткой с минимальными правами — не под админской.
Обратная сторона этого экрана описана встатье 30: там Worken сам выступает MCP-сервером для вашей ИИ-среды. На этом цикл замыкается: от найма первого сотрудника в статье 01 — до момента, когда сотрудник работает руками ваших собственных систем.