Підключення агента до Course Creator

Що це дає

MebliPoint Course Creator MCP підключає зовнішнього AI-агента до ваших знань, каталогу та Academy. Агент може знаходити джерела, готувати Native lesson package, створювати лише приховану чернетку уроку та передавати її в Native Lesson Studio для перевірки.

Агент не публікує уроки для учнів, не змінює каталог і не отримує доступ до repository MebliPoint, Supabase keys або .env.local.

Кому доступно зараз

Поточний pilot доступний тільки користувачам MebliPoint з роллю super_admin. Кожна людина або агент входить через власний OAuth account. Спільного токена, PAT або client secret не потрібно.

Одна адреса для всіх клієнтів

Усі підтримувані AI-клієнти використовують цей remote MCP endpoint:

https://meblipoint.com.ua/api/mcp/course-creator

Конфігурація однакова за змістом, але файл конфігурації залежить від конкретного клієнта. OAuth access і refresh tokens клієнт зберігає у власному credential storage.

Codex

У user-level file ~/.codex/config.toml додайте окремий server. На Windows це зазвичай C:\\Users\\<user>\\.codex\\config.toml.

[mcp_servers.meblipoint_course_creator_oauth]
url = "https://meblipoint.com.ua/api/mcp/course-creator"
oauth_resource = "https://meblipoint.com.ua/api/mcp/course-creator"
scopes = ["openid", "email", "profile"]
required = false
default_tools_approval_mode = "writes"
startup_timeout_sec = 30
tool_timeout_sec = 300

required = false робить необов'язковим лише запуск цього MCP разом із Codex. Коли server справний і авторизований, його tools доступні як раніше. Якщо OAuth застарів або server тимчасово недоступний, Codex може відкрити інші чати й виконувати задачі, які не потребують Course Creator. Scopes, роль super_admin, write approvals і server-side обмеження від цього не змінюються.

Перезапустіть Codex, відкрийте MCP settings для meblipoint_course_creator_oauth і натисніть Authenticate. У browser flow увійдіть до MebliPoint як super_admin та підтвердьте доступ. Не додавайте bearer_token_env_var: він потрібен тільки для резервного PAT-сценарію.

Покроковий сценарій, який можна передати співробітнику без доступу до repository: Підключення Course Creator MCP у Codex.

Google Antigravity

В Antigravity відкрийте agent panel, далі ...MCP StoreManage MCP ServersView raw config. Це відкриває global MCP config ~/.gemini/config/mcp_config.json; на Windows зазвичай C:\\Users\\<user>\\.gemini\\config\\mcp_config.json.

Додайте server у наявний mcpServers object, не видаляючи інші сервери:

{
  "mcpServers": {
    "meblipoint_course_creator_oauth": {
      "serverUrl": "https://meblipoint.com.ua/api/mcp/course-creator"
    }
  }
}

Antigravity підтримує OAuth Dynamic Client Registration для remote MCP. Після збереження конфігурації натисніть Authenticate, завершіть MebliPoint consent як super_admin, вставте authorization code назад у Antigravity, якщо клієнт його попросить, і відкрийте новий agent chat. Формат конфігурації та OAuth flow описані в офіційній документації Antigravity.

Перша безпечна перевірка

Після входу дайте агенту тільки read-only запит:

Використай MCP server meblipoint_course_creator_oauth.
Нічого не створюй і не змінюй.
Покажи кількість і назви доступних інструментів.
Виклич course_creator_get_instructions.
Повідом версії remote MCP, contract bundle та block catalog.

Очікувано: 12 tools, remote_course_creator_mcp_v1_0, course_creator_contract_bundle_v0_5, native_lesson_block_catalog_v0_1.

Кожна задача, яка справді має створювати або змінювати урок, спочатку повинна переконатися, що Course Creator tools доступні, і виконати цей read-only smoke. Якщо server або course_creator_get_instructions недоступний, агент має зупинитися до аналізу джерел, планування й авторингу та вивести окремим помітним рядком точний текст:

⛔ Course Creator MCP недоступний — курс не створюється

Це fail-visible контракт: без успішного preflight заборонені silent fallback, вигаданий результат, локальна підміна MCP та будь-які Academy effects.

Відновлення після stale OAuth

Якщо Codex повідомляє про помилку refresh token, invalid_grant або не може ініціалізувати OAuth server, простого toggle може бути недостатньо: активна задача здатна зберігати старий credential. Виконайте у terminal Codex:

codex mcp logout meblipoint_course_creator_oauth
codex mcp login meblipoint_course_creator_oauth

Після успішного browser consent повністю закрийте й перезапустіть Codex, а потім відкрийте нову задачу та повторіть read-only smoke. Не продовжуйте створення курсу в старій задачі, доки вона не бачить актуальні tools.

Стартовий prompt для Дениса

Скопіюйте цей prompt першим повідомленням у нову задачу створення курсу:

Це окрема задача Course Creator. До будь-якого аналізу, планування або створення уроку виконай обов'язковий MCP preflight.

1. Перевір, що доступний MCP namespace/server meblipoint_course_creator_oauth і tool course_creator_get_instructions.
2. Нічого не створюй і не змінюй. Виклич тільки course_creator_get_instructions.
3. Якщо namespace/tool відсутній або виклик завершився помилкою, виведи окремим рядком точно:
⛔ Course Creator MCP недоступний — курс не створюється
Після цього зупинися. Не використовуй silent fallback, локальну підміну, вигадані дані або Academy tools.
4. Якщо виклик успішний, виведи MCP PREFLIGHT PASS, версії remote MCP, contract bundle і block catalog, кількість доступних tools та authentication method. Зупинися й дочекайся мого опису курсу.

Опціональний строгий Course Creator project

Глобальний user config має залишатися required = false. Якщо на комп'ютері є окрема trusted project/folder лише для Course Creator, у її .codex/config.toml можна повторити повну OAuth server configuration з required = true. Тоді лише задачі, відкриті з цього project, fail startup при недоступному MCP; звичайні Codex tasks не блокуються. Не додавайте strict override до загального MebliPoint repository. Named --profile підтримується CLI, але для звичайного Codex Desktop workflow тут не використовується.

Prompt для агента-установника

Нижче prompt можна віддати локальному агенту, якому дозволено редагувати user configuration. Він не потребує repository MebliPoint.

Підключи remote MebliPoint Course Creator MCP через OAuth. Працюй тільки з user-level MCP configuration поточного AI-клієнта, не з repository і не з server secrets.

Endpoint:
https://meblipoint.com.ua/api/mcp/course-creator

Правила безпеки:
1. Не використовуй PAT, Authorization headers, Supabase keys, .env.local або service-role credentials.
2. Не видаляй та не перезаписуй наявні MCP servers. Спочатку прочитай конфіг, потім додай або онови тільки server `meblipoint_course_creator_oauth`.
3. Якщо потрібен дозвіл на запис user config поза workspace, попроси користувача надати його.
4. Після конфігурації не викликай жодних write tools. Лише допоможи користувачу пройти Authenticate і зроби read-only smoke check.

Для Codex на Windows використовуй `%USERPROFILE%\\.codex\\config.toml` і додай:
[mcp_servers.meblipoint_course_creator_oauth]
url = "https://meblipoint.com.ua/api/mcp/course-creator"
oauth_resource = "https://meblipoint.com.ua/api/mcp/course-creator"
scopes = ["openid", "email", "profile"]
required = false
default_tools_approval_mode = "writes"
startup_timeout_sec = 30
tool_timeout_sec = 300

Для Google Antigravity відкрий Manage MCP Servers → View raw config або file `%USERPROFILE%\\.gemini\\config\\mcp_config.json`. У mcpServers додай:
"meblipoint_course_creator_oauth": {
  "serverUrl": "https://meblipoint.com.ua/api/mcp/course-creator"
}

Попроси користувача перезапустити клієнт або відкрити fresh chat, натиснути Authenticate, увійти в MebliPoint як super_admin та підтвердити consent. Потім виклич лише course_creator_get_instructions і повідом, чи сервер бачить 12 tools. Якщо server або tool недоступний, прямо повідом про це й зупинися до роботи над курсом. Зупинися до будь-якого створення, upload або публікації.

Обмеження pilot

  • Доступ надається лише super_admin.
  • Перший write-результат може бути лише hidden Native lesson draft.
  • Публікація уроку, runtime materialization, зміна каталогу та довільний SQL недоступні.
  • Якщо інструкція або клієнт пропонують вставити секрет у конфігураційний файл, зупиніться: для OAuth це не потрібно.

Пов'язані статті