Документация / 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/mcp02
Пример для подключённого 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.305
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.ru06
Ручная настройка: 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 ради обхода квоты.