Senler.io как MCP-сервер
Senler может быть не только клиентом внешнего MCP-сервера, но и MCP-сервером для внешнего AI-клиента. В этом режиме AI читает и изменяет данные Senler, а также вызывает разрешённые действия плагинов, установленных в проекте.
Это обратный сценарий по отношению к обычному разделу «MCP-серверы»: там внешний сервер подключается к агенту Senler, здесь внешний AI-клиент подключается к Senler.
Адреса подключения
Для внешнего AI-клиента, например Codex, используйте один из публичных HTTPS-адресов Senler.io:
- Project MCP:
https://mcp-senler-io.senler.io/mcp— работа с одним проектом, выбранным при авторизации. - User MCP:
https://mcp-senler-io-user.senler.io/mcp— работа от имени пользователя с доступными ему проектами и приложениями разработчика.
Оба адреса принимают MCP-запросы, в том числе initialize, по Streamable HTTP. При прямом внешнем подключении без токена сервер предлагает OAuth. Подключение прямое: собственный сервер-посредник или локальный MCP-bridge не нужен. Project MCP тоже подходит для внешнего клиента; выбирать User MCP только из-за использования Codex не требуется.
URL общий для всех пользователей, а не индивидуальный для проекта. Скопируйте нужный адрес выше в настройку MCP-сервера вашего AI-клиента. Искать его в меню кабинета, создавать приложение в разделе «Разработчикам» или добавлять сервер в настройки агента Senler для этого не нужно.
Для подключения только к публичной документации без входа добавьте ?auth_mode=public: например, https://mcp-senler-io-user.senler.io/mcp?auth_mode=public. Доступны поиск и чтение справки, но не данные проекта. Если клиент передаёт заголовок X-Auth-Mode: oauth, он всё равно запрашивает OAuth; для публичного режима такой заголовок не нужен. Недействительный токен не даёт доступа даже с auth_mode=public.
Подключение через OAuth
- В вашем AI-клиенте добавьте удалённый MCP-сервер с нужным URL из раздела выше и транспортом Streamable HTTP.
- Запустите вход через OAuth. Клиент откроет страницу авторизации Senler.io.
- Войдите в аккаунт Senler.io. Для Project MCP выберите проект; для User MCP подтвердите доступ от имени пользователя. Проверьте запрошенные права перед подтверждением.
- Вернитесь в AI-клиент и проверьте доступность инструментов MCP.
Клиент с поддержкой OAuth discovery и динамической регистрации получает адреса авторизации и обмена токена от самого MCP-сервера. Вручную создавать Client ID, копировать Client Secret или API-ключ Senler для этого сценария не нужно.
Если вы настраиваете собственный MCP-клиент, OAuth-метаданные доступны по стандартным путям /.well-known/oauth-protected-resource и /.well-known/oauth-authorization-server на домене выбранного сервера. Адреса /authorize, /token и /register относятся к OAuth, а /mcp — к MCP-запросам. https://api.senler.io и https://senler.io/oauth/authorize не заменяют MCP URL.
Пример для Codex
Для готового подключения установите и включите плагин Senler.io User для Codex. Он подключает User MCP и добавляет инструкции для первого входа и работы с Senler. Одного добавления каталога плагинов недостаточно: сам плагин тоже должен быть установлен и включён.
В новом чате напишите: «Подключи Senler.io User и покажи доступные мне проекты. Пока ничего не изменяй». Завершите OAuth-вход по запросу клиента, затем выберите проект. Успешное чтение списка подтверждает подключение, но не даёт дополнительных прав на изменение объектов. Токены в чат передавать не нужно.
Без плагина можно настроить MCP напрямую. Для работы с одним проектом:
codex mcp add senler-project --url https://mcp-senler-io.senler.io/mcp
codex mcp login senler-project
Для работы от имени пользователя, в том числе с приложениями разработчика:
codex mcp add senler-user --url https://mcp-senler-io-user.senler.io/mcp
codex mcp login senler-user
Выберите подходящий вариант; оба подключения одновременно не обязательны. Вместо команды add можно задать сервер в ~/.codex/config.toml. Минимальный пример для User MCP без секретов:
[mcp_servers.senler-user]
url = "https://mcp-senler-io-user.senler.io/mcp"
После ручной настройки также выполните codex mcp login senler-user. Для проверки списка подключений используйте codex mcp list. Параметры клиента описаны в документации Codex по MCP.
Доступность на тарифах
Project MCP и User MCP доступны на «Пробном», «Старт» и «Большой агент»: отдельного тарифного ограничения на само MCP-подключение нет. Выполняемые через MCP действия подчиняются правам пользователя, выданным OAuth-разрешениям и обычным лимитам проекта. Состав и стоимость тарифов смотрите в разделе «Тарифы и лимиты».
Внешний AI-клиент расходует дневную квоту API, когда MCP обращается к данным проекта. Она общая с API-ключами и другими внешними интеграциями этого проекта. При api.daily_quota_exceeded дождитесь сброса квоты или увеличьте лимит: переподключение MCP не сбросит расход.
Project MCP и User MCP
| Подключение | Область доступа | Как определяется проект |
|---|---|---|
| Senler.io Project MCP | Один проект и выданные для него OAuth-права | project_id зашит в проектный OAuth-токен |
| Senler.io User MCP | Пользователь и разрешённые ему ресурсы | Для прямого личного подключения целевой проект выбирается для запроса; внутри агента или диалога проект приходит из подписанного контекста Senler |
Project MCP удобен, когда внешнее приложение должно работать только с одним подключённым проектом. Переданный в тексте или параметрах другой ID не меняет проект такого подключения.
User MCP подходит для работы от имени пользователя. Для обычного внешнего клиента используйте OAuth по инструкции выше. MCP access key вида mcp_sk_…, связанный с сохранённой авторизацией, также может использоваться как секрет подключения, но отдельно получать его для OAuth-входа в Codex не требуется. Если ваша интеграция использует такой ключ, никогда не помещайте его в запрос агента, документацию или параметры метода.
Если MCP access key связан с OAuth-авторизацией Senler.io Project MCP или User MCP и сохранён refresh_token, истекающий access token обновляется при обращении автоматически. Это не продлевает срок самого MCP access key и не восстанавливает отозванный доступ. При истёкшем ключе или отозванной авторизации нужно заново подключиться; повторять обычный вход при каждом обновлении access token не требуется.
Ответ 503 с temporarily_unavailable или Session store unavailable означает временную недоступность сервиса авторизации MCP, а не отказ в правах. Повторите запрос после задержки из Retry-After; заново выдавать разрешения из-за этой ошибки не нужно. Для команды, меняющей данные, сначала проверьте результат предыдущей попытки: произвольный ответ 503 сам по себе не доказывает, что действие не выполнялось.
Конфигурация ботов Senler.ru
Senler.io Project MCP и User MCP не могут прочитать полную конфигурацию существующего бота Senler.ru: блоки, связи, условия, тексты сообщений, настройки модели и промпты System и User. Для получения этой полной конфигурации нет API или штатного экспорта Senler.ru и метода Senler.io MCP.
Привязка канала Senler.ru позволяет загрузить лидов, но не открывает доступ к конфигурации ботов. Повторное подключение и дополнительные OAuth-права не добавят эту возможность.
После подключения
Чтобы Hermes не только выполнял ваши запросы, но и реагировал на события проекта, подключите плагин Senler и подписку Hermes. Для этого не нужен публичный сервер приёма вебхуков.
Переходите к вызову методов: как искать действие, читать его схему, передавать проект и проверять результат. Для разработки собственных методов плагина используйте «Действия приложения».