Начать подключение из приложения агента. PKCE S256 обязателен. Открывает существующий login?type=mcp. Verifier хранит агент.
GET navigation /mcp-auth.php?method=authorize
| Название | Описание | Тип | Обязательный |
| response_type | Всегда code | Строка | Да |
| client_id | Зарегистрированный клиент. В пилоте: iq-academy-pilot | Строка | Да |
| redirect_uri | Callback агента. В пилоте: http://127.0.0.1:PORT/callback или http://[::1]:PORT/callback, PORT 1024–65535. При обмене кода должен совпасть полностью. | Строка | Да |
| scope | read или read write | Строка | Да |
| resource | Всегда https://api.iq.academy/mcp.php | Строка | Да |
| state | Случайное значение, которое создаёт и проверяет агент при возврате | Строка | Да |
| code_challenge | BASE64URL(SHA256(code_verifier)), без padding. Verifier остаётся у агента. | Строка | Да |
| code_challenge_method | Всегда S256 | Строка | Да |
Условные значения REQUEST_ID_FROM_LOGIN_URL, IQ_SESSION_TOKEN, ONE_TIME_CODE и MCP_ACCESS_TOKEN замените своими. Пример PKCE-пары иллюстративный; агент создаёт собственную случайную пару для каждого подключения.
GET https://api.iq.academy/mcp-auth.php?method=authorize&response_type=code&client_id=iq-academy-pilot&redirect_uri=http%3A%2F%2F127.0.0.1%3A49231%2Fcallback&scope=read+write&resource=https%3A%2F%2Fapi.iq.academy%2Fmcp.php&state=RANDOM_STATE&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&code_challenge_method=S256
HTTP/1.1 302 Found Location: https://app.iq.academy/login?type=mcp&request_id=REQUEST_ID_FROM_LOGIN_URL
| Код | Описание |
| invalid_request | Некорректные параметры или формат запроса. |
| server_error / temporarily_unavailable | Сервис временно недоступен. |
{"error": "invalid_request", "error_description": "Invalid request parameters."}
Доступ требует enable_mcp=yes у авторизованного пользователя и выбранного курса, а также роли владельца или администратора. Секреты не сохраняются формой. Для реального запроса используйте request_id и PKCE-параметры своего приложения агента.
Введите данные и нажмите выполнить |