Документация / mcp

Подключите AIfra к агенту или облачному чату

Remote MCP для готовых файлов из чата и локальный MCP для папки проекта: HTTPS-превью на 48 часов после согласия.

Статус: Remote MCP включён; владелец подтвердил публикацию из ChatGPT. Локальный MCP опубликован в npm; проверка внутри Claude остаётся открытой.

01

Из облачного чата: remote MCP

Если приложение позволяет добавить свой MCP-сервер, укажите адрес ниже, транспорт Streamable HTTP и подключение без авторизации. Установка npm для этого способа не нужна. Список должен содержать шесть инструментов AIfra. Наличие такой настройки зависит от приложения и вашего доступа; AIfra не появляется во всех чатах автоматически.

Попросите агента подготовить HTML, CSS и JavaScript, объяснить условия и получить ваше согласие. create_preview только подготавливает запрос и возвращает approval_url. Откройте её, проверьте действие и список файлов, затем нажмите «Опубликовать на 48 часов». Агент получит результат через get_operation_status.

Передача files ограничена 1 MiB суммарно и 500 файлами; нужен index.html. Для ZIP есть archive_base64, до 50 MiB после декодирования. Скачивание файлов по ссылкам провайдеров пока выключено; локальный путь из чата передать нельзя. Для большого готового dist удобнее локальный CLI или MCP ниже.

В files передавайте реальные байты: текст HTML/CSS/JS с encoding: utf8 (по умолчанию), картинки — с encoding: base64. Это обычный base64 без data: и пробелов; лимит 1 MiB считается по сумме декодированных файлов. После подтверждения get_operation_status должен вернуть status: complete и result.url; только эту ссылку отправляйте получателю. Pending, expired или uncertain не означают публикацию. При uncertain не повторяйте запись автоматически.

https://api.aifra.ru/mcp

02

Пример для подключённого remote MCP

Пример передаёт сами готовые файлы. Вызывайте его только после явного согласия пользователя. Pending означает ожидание подтверждения, а не опубликованный сайт.

create_preview({"files":[{"path":"index.html","content":"<!doctype html><title>Demo</title><h1>Hello</h1>"}],"accept_terms":true})

03

Подтверждение, управление и хранение

После успешной публикации страница подтверждения позволяет скопировать публичную ссылку или сообщение получателю с точным сроком. Там же можно открыть QR-код: он создаётся в браузере и содержит только публичную ссылку. Ссылку подтверждения и ключ управления получателю не отправляйте.

Неподтверждённые файлы хранятся 2 часа; сведения о запросе — ещё час после выполнения или истечения срока подтверждения. Очистка выполняется на ближайшем проходе worker. При публикации начинает действовать обычный срок 48 часов. Все preview публичны по ссылке, но остаются noindex; до 3 активных preview на IP браузера, до 50 MiB на preview и до 150 MiB на IP.

Update и delete тоже возвращают ссылку подтверждения. Открывайте её в том же браузере: приватный ключ остаётся там, сервер хранит только хеш, агент ключ не получает. Очистка данных браузера лишает возможности управления. Обновление не продлевает срок. При uncertain не повторяйте действие автоматически: проверьте статус.

18 сентября 2026 года публичный remote endpoint проверен официальным MCP SDK и в браузере: создание, обновление, удаление, неизменный TTL, HTTPS, noindex и изоляция. Проверены запрет запроса без согласия, чужой Origin и отсутствие CSRF. Владелец сообщил об успешной публикации через подключённый ChatGPT. Проверка внутри Claude и передача вложений провайдеров остаются открытыми.

04

1. Установите пакет в проект

Нужен Node.js 24 и агент, умеющий запускать локальный MCP через stdio. Код MCP работает на вашем компьютере и отправляет только выбранную готовую папку напрямую в API.

Подойдут статический сайт, HTML-презентация или интерактивный макет с index.html. Срок — 48 часов, до 3 активных preview/IP, до 50 MiB на preview и 150 MiB активных файлов/IP. Backend, сборки на сервере, формы и постоянное хранение не поддерживаются.

npm install --save-dev --save-exact --ignore-scripts --no-audit --no-fund aifra@0.2.0-beta.3

05

2. Подготовьте настройки одной командой

Запустите команду из доверенной папки проекта после установки пакета. Она создаст новую папку aifra-setup с правильными абсолютными путями для Node.js и клиента. Ничего не загружается и существующие настройки не меняются.

Выберите claude-cursor.json для Claude Code/Cursor или codex.toml для Codex. Проверьте пути и добавьте только запись AIfra в настройки своего клиента. Не заменяйте остальные серверы. Папка aifra-setup должна оставаться вне публикуемого dist.

Если папка aifra-setup уже существует, команда откажется её перезаписывать. Для нового набора используйте --output с новым именем папки. После подключения проверьте наличие пяти инструментов.

node node_modules/aifra/aifra.cjs setup --api-origin https://api.aifra.ru

06

Ручная настройка: Claude Code или Cursor

Замените оба /absolute/path/to/project полным путём к доверенному проекту. Первый путь должен вести к установленному aifra.cjs. На Windows используйте прямые слеши, например D:/Projects/demo.

Добавьте конфигурацию в настройки MCP выбранного клиента: .mcp.json проекта для Claude Code или .cursor/mcp.json для Cursor. Если там уже есть другие серверы, добавьте только запись aifra и сохраните остальные.

{
  "mcpServers": {
    "aifra": {
      "command": "node",
      "args": [
        "/absolute/path/to/project/node_modules/aifra/aifra.cjs",
        "mcp"
      ],
      "env": {
        "AI_DEPLOY_API_ORIGIN": "https://api.aifra.ru",
        "AIFRA_PROJECT_ROOT": "/absolute/path/to/project"
      }
    }
  }
}

07

Или подключите Codex

Добавьте этот блок в конфигурацию MCP Codex, заменив пути. Сохраните существующие настройки других серверов. Затем перезапустите подключение и убедитесь, что видны пять инструментов AIfra.

Запуск клиента не означает согласия на публикацию. Перед отправкой файлов агент должен объяснить публичность ссылки, ограничения и запросить принятие условий.

[mcp_servers.aifra]
command = "node"
args = ["/absolute/path/to/project/node_modules/aifra/aifra.cjs", "mcp"]

[mcp_servers.aifra.env]
AI_DEPLOY_API_ORIGIN = "https://api.aifra.ru"
AIFRA_PROJECT_ROOT = "/absolute/path/to/project"

08

3. Попросите опубликовать готовый dist

После вашего явного согласия агент вызывает create_preview с directory: "dist" и accept_terms: true. Передаётся относительная папка внутри настроенного проекта, а не ZIP в тексте запроса.

После успеха агент возвращает ссылку и expires_at. Ключ управления сохраняется приватно вне загружаемой папки и не возвращается в ответы MCP.

Проверь готовую папку dist для AIfra.
Объясни условия и запроси моё согласие перед публикацией.
После согласия создай временное preview и верни ссылку со сроком удаления.

09

Пять инструментов

get_deploy_instructions объясняет контракт. create_preview создаёт ссылку; update_preview заменяет файлы без продления срока. Для обоих требуется accept_terms: true.

get_preview_status возвращает статус и срок. delete_preview требует confirm_delete: true и удаляет управляемое preview. Не передавайте management token агенту: клиент хранит его сам.

На один проект/API клиент хранит одну управляемую ссылку. После истечения срока сначала удалите старую локальную связь через delete_preview с подтверждением, затем отдельно подтвердите создание новой.

create_preview({ "directory": "dist", "accept_terms": true })
update_preview({ "directory": "dist", "accept_terms": true })
get_preview_status({ "preview_id": "<ID из ответа>" })
delete_preview({ "confirm_delete": true })
get_deploy_instructions({})

010

Проверки и ограничения подключения

18 сентября 2026 года установленный из npm клиент beta.2 с конфигурацией setup прошёл публичный цикл создания, обновления, статуса и удаления. Отдельно четыре локальные сессии Codex обработали сайт, HTML-презентацию, неясный запрос и неподдерживаемый backend; без согласия загрузки не было. Это небольшой тест, не гарантия выбора любым агентом.

Конфигурации Claude Code и Cursor подготовлены, но их проверка внутри самих приложений ещё не выполнена. Проверяйте подключение по списку инструментов.

Локальный stdio MCP имеет доступ к настроенной папке проекта. Remote MCP выше принимает переданные файлы и требует подтверждения в браузере. Публикация в npm не подключает сервис автоматически всем агентам.

При operation_busy проверьте, не идёт ли уже загрузка. Не удаляйте блокировку работающего процесса. При лимите IP дождитесь удаления своего preview; не меняйте VPN ради обхода квоты.