Документация
MCP и OAuth
Read-only MCP, OAuth 2.1 и безопасные способы входа.
Read-only MCP
Публичный MCP по адресу /v1/mcp доступен без авторизации: он предоставляет инструменты search_docs и list_models. Его подключение настраивается в клиенте и не создаёт записи в кабинете.
Аккаунтный MCP по адресу /v1/mcp/account предоставляет list_models, get_account_limits и get_usage_summary только владельцу. Подключение возможно через OAuth 2.1 Authorization Code с PKCE S256 либо через один account MCP-токен, созданный в кабинете. Токен можно перевыпустить или отозвать; raw-значение показывается только один раз.
Оба варианта read-only: они не делают LLM- или VLM-inference, не работают с платежами, API-ключами, настройками аккаунта и административными действиями.
Подключение публичного MCP в ChatGPT
В ChatGPT используйте Streamable HTTP, а не STDIO. STDIO запускает команду на компьютере клиента и предназначен для локальных MCP-серверов; SimpleClaw уже опубликован как удалённый HTTP-сервер.
- Откройте раздел Apps или «Плагины» → MCP и выберите добавление пользовательского MCP. Для этой функции может потребоваться Developer mode и соответствующий тариф или разрешение workspace.
- Укажите любое понятное имя, например
SimpleClaw. - Выберите тип Streamable HTTP и вставьте URL
Загружаем адрес…. - Выберите без авторизации, если интерфейс спрашивает способ входа. Не добавляйте API-ключ SimpleClaw в заголовки, переменные окружения или URL.
- Нажмите Scan Tools, дождитесь двух инструментов —
search_docsиlist_models— затем сохраните подключение.
Поля команды запуска, аргументов, переменных окружения, передачи окружения и рабочей директории оставьте пустыми: они относятся только к выбранному типу STDIO. Локальный адрес http://localhost:39003/v1/mcp в ChatGPT не подойдёт, потому что ChatGPT подключается к удалённым MCP-серверам; для закрытой сети OpenAI рекомендует Secure MCP Tunnel.
Аккаунтный MCP пока не подключается в ChatGPT самостоятельно. OAuth-вариант доступен только заранее зарегистрированным клиентам с разрешёнными server-side client_id и redirect_uri. Для других MCP-клиентов используйте выданный в кабинете account-токен mcp_… и передавайте его только как Bearer header. Публичный MCP остаётся правильным вариантом для ChatGPT в текущем релизе.
Подробности о требованиях Developer mode и Scan Tools приведены в официальной инструкции OpenAI для MCP-приложений в ChatGPT.
Read-only MCP и OAuth 2.1
Публичный MCP доступен без авторизации и содержит search_docs и list_models. Аккаунтный MCP после OAuth 2.1 Authorization Code с PKCE или через один токен из кабинета открывает только свои list_models, get_account_limits и get_usage_summary. Оба варианта не выполняют LLM- или VLM-inference, платежи, админские действия или операции с API-ключами.
POST/v1/mcpПубличный MCP JSON-RPCПубличный
Доступ: Публичный
Запрос
JSON запросаПоказать
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_models",
"arguments": {}
}
}Успешный ответ
JSON-RPC 2.0 через Streamable HTTP. initialize: protocolVersion 2025-06-18, simpleclaw-public. tools/list: search_docs(query 1–200), list_models. tools/call — только эти инструменты.Для ChatGPT выберите Streamable HTTP и скопируйте URL из руководства «Подключение в ChatGPT»: он подставляется из текущего окружения. STDIO, команда запуска и API-ключ не нужны. Неизвестный метод/инструмент: -32601; неверные аргументы: -32602.
POST/v1/mcp/accountАккаунтный MCPТребуется авторизация
Доступ: OAuth или account token
Запрос
Тот же JSON-RPC. Header: Authorization: Bearer mcp_…Успешный ответ
tools/list: list_models, get_account_limits, get_usage_summary. Только данные владельца токена.OAuth требует scope account:read и корректную audience/resource. Account-токен создаётся в кабинете; на аккаунт может существовать только один.
GET/v1/mcp/tokenСтатус account MCP-токенаТребуется авторизация
Доступ: Сессия
Запрос
Без телаУспешный ответ
Метаданные токена без raw-значения либо null.Raw-значение никогда не возвращается этим endpoint-ом.
POST/v1/mcp/tokenСоздать account MCP-токенТребуется авторизация
Доступ: Сессия
Запрос
Без телаУспешный ответ
Метаданные и raw token; значение показывается только один раз.Если активный токен уже есть, возвращается MCP_TOKEN_EXISTS.
POST/v1/mcp/token/rotateПеревыпустить account MCP-токенТребуется авторизация
Доступ: Сессия
Запрос
Без телаУспешный ответ
Новые метаданные и raw token.Старый токен немедленно становится недействительным.
DELETE/v1/mcp/tokenОтозвать account MCP-токенТребуется авторизация
Доступ: Сессия
Запрос
Без телаУспешный ответ
204 No Content.Повторный отзыв возвращает MCP_TOKEN_NOT_FOUND.
GET/v1/mcp/oauth/authorizeПолучить OAuth codeТребуется авторизация
Доступ: Сессия
Запрос
Query: client_id, точный зарегистрированный HTTPS redirect_uri, response_type=code, code_challenge base64url 43–128, code_challenge_method=S256, scope=account:read, resource; state необязателен.Успешный ответ
302 на redirect_uri?code=…&state=…Code одноразовый, живёт 5 минут; resource совпадает с MCP_OAUTH_AUDIENCE.
POST/v1/mcp/oauth/tokenОбменять code на токенПубличный
Доступ: Публичный
Запрос
JSON запросаПоказать
{
"grant_type": "authorization_code",
"code": "…",
"client_id": "…",
"redirect_uri": "https://…",
"code_verifier": "43–128 символов",
"resource": "simpleclaw-mcp-account"
}Успешный ответ
JSON ответаПоказать
{
"access_token": "mcp_…",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "account:read",
"resource": "simpleclaw-mcp-account"
}Проверяются client, redirect_uri, code, audience и PKCE S256. Ошибки OAUTH_INVALID_REQUEST, OAUTH_INVALID_CLIENT, OAUTH_INVALID_GRANT.