Подключение к Claude и другим MCP-клиентам
Все клиенты (ChatGPT, Cursor, Codex, DeepSeek)
Пошаговые примеры с эмуляцией форм подключения — в разделе Подключение MCP в разных клиентах.
Worken работает как удалённый Model Context Protocol (MCP) сервер по адресу https://mcp.worken.ru/mcp и поддерживает OAuth 2.1 для подключения внешних клиентов: Claude Chat, Claude Code, Cursor, любой совместимый MCP-агент.
В отличие от API-ключей, OAuth-доступ:
- Привязан к конкретному пользователю и проекту, не к организации целиком.
- Имеет scope — приложение запрашивает только то, что ему нужно.
- Можно отозвать в один клик в
Настройки → Подключённые приложения. - Использует refresh-токены, поэтому приложению не нужно хранить долгоживущий секрет.
Подключить из Claude Chat / Claude Desktop
- В Claude откройте
Settings → Connectors → Add custom connector. - Введите URL MCP сервера:
https://mcp.worken.ru/mcp - Claude автоматически:
- заметит требование авторизации (RFC 9728);
- найдёт authorization server
https://api.worken.ru(RFC 8414); - зарегистрируется как OAuth-клиент (RFC 7591);
- откроет браузер на странице согласия Worken.
- На странице согласия:
- выберите проект, к которому даётся доступ;
- проверьте список запрошенных прав;
- нажмите Разрешить.
- Claude получит access_token, и тулы Worken (
worken.virts.list,worken.threads.send_operator_message, …) станут доступны прямо в чате.
Подключить из Claude Code (CLI)
claude mcp add --transport http worken https://mcp.worken.ru/mcpДальше всё то же — браузер откроется на странице согласия Worken.
Что получит приложение
Стандартный набор scope, выдаваемых при первом подключении:
| Scope | Что разрешает |
|---|---|
project:read | Чтение виртов, чатов, тредов, интеграций |
project:write | Создание/изменение виртов, чатов, интеграций |
threads:write | Отправка сообщений оператора в треды |
billing:read | Чтение баланса и истории расходов (опционально) |
Полный список — https://api.worken.ru/.well-known/oauth-authorization-server, поле scopes_supported.
Отозвать доступ
Настройки → Подключённые приложения → Отозвать — мгновенно инвалидирует все access- и refresh-токены этого приложения для выбранного проекта.
Как это устроено
Claude Chat api.worken.ru mcp.worken.ru
│ │ │
│ 1. GET /mcp ──────────────────────────────────────────────►│
│ ◄── 401 + WWW-Authenticate: resource_metadata=… │
│ │
│ 2. GET /.well-known/oauth-protected-resource ─────────────►│
│ ◄── { authorization_servers: ["https://api.worken.ru"] } │
│ │
│ 3. GET /.well-known/oauth-authorization-server ──►│ │
│ ◄── { authorization_endpoint, token_endpoint, … } │ │
│ │
│ 4. POST /oauth/register ─────────────────────────►│ │
│ ◄── { client_id, client_secret } │ │
│ │
│ 5. открывает браузер на /oauth/authorize?… │ │
│ → 302 https://worken.ru/oauth/consent │
│ → пользователь выбирает проект, жмёт «Разрешить» │
│ → 302 https://claude.ai/...?code=… │
│ │
│ 6. POST /oauth/token (code+PKCE) ────────────────►│ │
│ ◄── { access_token: wat_…, refresh_token } │ │
│ │
│ 7. GET /mcp Authorization: Bearer wat_… ─────────────────►│
│ ◄── normal MCP traffic │Поддерживается PKCE S256 (обязательно), dynamic client registration, ротация refresh-токенов и revoke (RFC 7009).
Сравнение: API-ключ vs OAuth
| Свойство | API-ключ (sk-…) | OAuth access_token (wat_…) |
|---|---|---|
| Создаёт | Владелец проекта вручную | Само приложение через DCR |
| Привязка | Проект | Пользователь × проект |
| Время жизни | До удаления | 1 час, обновляется по refresh |
| Отзыв | Удалить ключ | Один клик / revoke |
| Подходит для | Серверы, CI, скрипты | Интерактивные клиенты (Claude) |
Для серверной интеграции по-прежнему рекомендуется API-ключ. Для desktop- агентов и AI-чатов — OAuth.
