JWT лида для своего MCP
Выберите аккаунт лида
Откройте собственный сервер в MCP-серверах проекта.
В настройках собственного MCP выберите «Отдельный аккаунт лида».
В режиме «Отдельный аккаунт лида» используется способ «Подписанный контекст Senler (JWT)». Senler определяет лида по контексту текущего диалога и автоматически выпускает короткоживущий JWT для выбранного MCP-подключения. Введите HTTPS-адрес вашего MCP-сервера.
В поле «Заголовок авторизации лида» по умолчанию указано X-Senler-Identity. Поле «Префикс токена» можно оставить пустым. Если ваш сервер принимает Authorization: Bearer <JWT>, укажите Authorization и Bearer. Сам токен вводить не нужно.
Режимы авторизации взаимоисключающие: при выборе отдельного аккаунта лида Senler использует для авторизации автоматически созданный JWT лида. Токен и секретные заголовки общего аккаунта проекта в этом режиме не используются. Сохранение другого режима заменяет прежние настройки авторизации.
Служебный заголовок X-Senler-MCP-Context передаётся при любом режиме авторизации. Он подтверждает происхождение контекста, но не включает второй аккаунт и не заменяет JWT лида. Его формат и проверка описаны на странице «Подписанный контекст запросов к MCP».
Подтвердите пользователя
По умолчанию включено «Требовать подтверждённый внешний ID». Подтверждение доступно для сообщений виджета после серверной проверки external_id и user_hash. Старую или анонимную сессию нужно заново инициализировать с подписанной идентичностью. Наличие записи лида или ID в контексте инструмента само по себе не подтверждает внешний аккаунт. Для остальных каналов этот способ передаёт данные записи лида с identity_verified: false, если требование подтверждения выключено.
Если требуемого подтверждения нет, защищённые инструменты этого MCP недоступны. Агент может продолжить диалог и пользоваться остальными инструментами; для действий с личными данными он попросит авторизоваться. Перехода к общему аккаунту проекта не происходит.
После сохранения скопируйте открытый ключ проверки JWT и значения iss и aud на ваш MCP-сервер. Для каждого подключения Senler создаёт отдельный ключ. Закрытый ключ хранится в зашифрованном виде и не выдаётся через API или экспорт. Импорт создаёт новый ключ; его нужно заново настроить на принимающем сервере.

Проверьте JWT на сервере
JWT подписан алгоритмом ES256, имеет тип senler-lead+jwt и действует 5 минут. Он содержит sub / lead_id, project_id, channel_id, channel_type, external_id, identity_verified, identity_source, mcp_server_id, iat, exp, jti, iss и aud; при наличии контекста добавляются dialog_id и agent_id, а при подтверждении — verified_at в секундах Unix. aud — HTTPS-адрес MCP без параметров запроса. Проверяйте подпись, разрешённый алгоритм, тип, срок действия, ожидаемые iss и aud, затем сопоставляйте аккаунт по проекту, каналу и внешнему ID и проверяйте права на каждое действие.
verified_at обозначает проверку внешнего ID при инициализации сессии виджета, а не новый вход на сайт при каждом вызове. Ваш API должен учитывать актуальное состояние аккаунта и его права. Короткий срок JWT не отзывает уже выданную сессию виджета.
Срок действия и повторные вызовы
Свой MCP-сервер с JWT лида всегда вызывается через Senler, даже если в настройках агента выбран режим «Напрямую через AI-провайдера». Перед каждым вызовом Senler создаёт новый JWT. Например, токен первого вызова в 12:00 истечёт в 12:05, а вызов в 12:06 получит новый токен до 12:11. Лиду не нужно входить заново. Остальные серверы агента продолжают работать в выбранном режиме.
Контекст авторизации запуска хранится не более часа. Отсутствие, истечение или несовпадение контекста блокирует вызов без перехода к общему аккаунту проекта. Проверяйте срок JWT при приёме запроса: уже принятую операцию не нужно отменять из-за последующего истечения подписи. Время ожидания одного инструмента задаётся в настройках подключения.