Черновик. Документация пишется вместе с платформой. Поля, шаги и названия могут измениться до запуска.

Агенты, MCP и API-ключи

Агент может менять контент CMS, работать с коллекциями и готовить статический сайт к публикации. MCP запускается локально как процесс stdio и обращается к API. Права проверяет API при каждом запросе.

Создайте ключ в кабинете

В кабинете партнёра откройте «Агенты и MCP» (/partner/agents):

  1. Укажите название подключения, например устройство или имя агента.
  2. Выберите сайты. Без явного выбора ключ не создаётся; новые сайты не добавляются в него автоматически.
  3. Разрешите нужные действия. По умолчанию включено только чтение.
  4. Выберите срок: 1, 7, 30 или 90 дней. По умолчанию 30 дней.
  5. Создайте ключ и сохраните его из одноразового диалога. Повторно показать секрет нельзя.
Право APIДействия
read · Читатьвыбранные сайты, контент, коллекции, история, состояния задач; обязательно
draft · Редактироватьчерновики CMS, коллекции, медиа и превью
deploy · Загружать проектыархивы, источник Git, получение файлов и подключение своего домена
publish · Публиковатьпубликация подготовленного сайта и откат версии

Права независимы: подготовка архива требует deploy, его публикация требует publish. Редактору CMS обычно достаточно read и draft. Ограниченный ключ не даёт доступа к платежам, CRM-контактам, приглашениям, управлению ключами, созданию бизнеса и удалениям.

В списке ключей видны выбранные сайты, операции, срок и последнее использование. «Отозвать» сразу закрывает доступ по ключу. Истёкший или отозванный ключ получает 401; сессия владельца в том же браузере его не заменяет. Опубликованный сайт продолжает работать. Уже выданные публичные ссылки превью CMS сохраняют свой срок; ссылки превью архивов, выданные по ключу агента, прекращают открываться при его отзыве или истечении.

Старые ключи без ограничений сохраняют прежние партнёрские права. Замените их ключами с выбранными сайтами и сроком. Ключ загрузки бизнеса alit_site_… для MCP не подходит.

Подключите MCP 0.2.0

Установите uv, чтобы клиент мог запускать uvx. Пакет распространяется как wheel: askia_mcp-0.2.0-py3-none-any.whl. Требуется Python 3.13 или новее; uvx --python 3.13 подготовит нужную версию.

Передайте ключ через окружение ASKIA_MCP_TOKEN или через ASKIA_MCP_TOKEN_FILE с абсолютным путём к закрытому файлу. На macOS и Linux файл должен иметь права 600. Ключ хранится вне проекта; в переписку с агентом и репозиторий он не попадает.

Пример конфигурации Codex:

[mcp_servers.askia]
command = "uvx"
args = ["--python", "3.13", "--from", "https://askia.ru/downloads/askia_mcp-0.2.0-py3-none-any.whl", "askia-mcp"]
env_vars = ["ASKIA_MCP_TOKEN", "ASKIA_MCP_TOKEN_FILE", "ASKIA_MCP_ARCHIVE_ROOTS"]

[mcp_servers.askia.env]
ASKIA_MCP_API_URL = "https://api.askia.ru/api/v1"

Клиент должен получить эти переменные при запуске. Если приложение не наследует окружение терминала, задайте ASKIA_MCP_TOKEN_FILE с путём к файлу в блоке mcp_servers.askia.env. После замены ключа перезапустите MCP.

Для чтения локальных архивов задайте ASKIA_MCP_ARCHIVE_ROOTS как JSON-массив абсолютных папок, например ["/Users/me/Projects/client-site/dist"]. Без него загрузка локальных файлов запрещена. Для других MCP-клиентов используйте те же command, args и env в их настройках сервера stdio.

27 инструментов

ГруппаИнструменты
Проверка и каталогwhoami, list_clients, list_sites, list_templates, get_site
Контент и коллекцииget_content, update_content, get_collections, update_collections
Версии CMSpreview_site, get_job, publish_site, list_versions, rollback_site
Архивыupload_static_archive, list_uploads, preview_upload, publish_upload
Gitget_source, configure_git_source, fetch_git_source, get_source_fetch
Доменыcheck_domains, attach_existing_domain
Созданиеcreate_client, create_template_site, create_custom_site

Наличие инструмента в пакете не выдаёт право на действие. Инструменты создания недоступны ограниченным ключам: сначала создайте клиента и сайт в кабинете, затем выберите сайт при выпуске ключа. Сервер также запрещает обращаться к соседнему сайту того же клиента, если его нет в ключе.

Сценарии работы

CMS. get_content → update_content(expected_version_id, content) → preview_site → get_job → просмотр превью → publish_site(confirm_publish=true). Для коллекций: get_collections → update_collections(expected_version_id, extensions), затем тот же путь превью и публикации. При 409 draft_changed агент заново читает черновик и совмещает изменения. Схема описана отдельно.

Статический сайт из архива. Агент собирает проект локально или в CI, затем вызывает upload_static_archive → preview_upload → после просмотра publish_upload(confirm_publish=true) → get_job. Архив загружается как черновик. list_uploads показывает историю; публикация сохранённого старого архива возвращает прежнюю сборку, если её файлы ещё доступны.

Готовая статика из GitHub. get_source → configure_git_source(expected_revision, repository, output_directory) → fetch_git_source → get_source_fetch до ready → preview_upload(upload_id) → отдельный publish_upload. Этот инструмент настройки рассчитан на публичный GitHub-репозиторий с готовой статикой. Приватный Git и сборку исходников настраивают в кабинете; у MCP 0.2.0 нет параметров установки зависимостей, серверной сборки или Node runtime.

Публикация и откат требуют confirm_publish=true; решение о выпуске принимает пользователь MCP-клиента. Покупок доменов и платежей в MCP нет. Подключение существующего домена не изменяет DNS у регистратора.

Ошибки и повторные запросы

  • 403 agent_scope: выбранный ключ не разрешает действие. Операцию выполняют в кабинете или выпускают ключ с нужными правами.
  • 404: объект отсутствует или не доступен ключу. Проверьте сайт и ID связанного ресурса.
  • 401 token_expired: срок истёк. Выпустите новый ключ и замените его в окружении MCP.
  • result_unknown: запрос мог выполниться. Сначала проверьте сайт, историю или задачу; не повторяйте создание вслепую. Для повторной публикации архива сохраняйте прежний idempotency_key.