Подключение ИИ-инструмента
Подключите Claude Code, Codex, Gemini CLI и другие MCP-клиенты, чтобы создавать и редактировать проекты скриншотов с ИИ, проверять их в браузере и экспортировать в веб-редакторе.
Подключение ИИ-инструмента
Когда MCP включён для этого развёртывания AppScreenshots, подключите совместимый ИИ-инструмент к:
https://appscreenshots.net/api/mcpВыберите HTTP/Streamable HTTP и OAuth. Войдите в аккаунт AppScreenshots в браузере, выберите проекты и ассеты, доступные инструменту, и решите, может ли он создавать проекты. Доступ к базе данных и API-ключ не нужны.
Обзор и примеры промптов — на лендинге MCP.
Подключение клиента
Команды ниже регистрируют эндпоинт в каждом клиенте. После подключения завершите вход через браузер, когда клиент его покажет.
claude mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpЗатем выполните /mcp внутри Claude Code и авторизуйте. Для подключения на уровне проекта используйте объединение файла .mcp.json, а не регистрацию пользовательского охвата; не настраивайте оба, если не хотите переопределить охват.
codex mcp add appscreenshots --url https://appscreenshots.net/api/mcp
codex mcp login appscreenshotsЛибо добавьте в config.toml клиента секцию [mcp_servers.appscreenshots] со строкой url = "...".
gemini mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpВнутри Gemini CLI выполните /mcp auth appscreenshots. Вариант с файлом настроек использует httpUrl для Streamable HTTP и "oauth": {"enabled": true}.
Откройте /mcp-config, добавьте HTTP-сервер с этим эндпоинтом и выполните /mcp-config login appscreenshots. Файл конфигурации — ~/.kimi-code/mcp.json:
{
"mcpServers": {
"appscreenshots": {
"url": "https://appscreenshots.net/api/mcp"
}
}
}После добавления конфигурации перезапустите сессию. Старые дистрибутивы kimi-cli используют kimi mcp add --transport http --auth oauth.
Объедините сервер в ~/.zcode/cli/config.json под mcp.servers или добавьте HTTP-сервис с именем appscreenshots в Settings → MCP:
{
"mcp": {
"servers": {
"appscreenshots": {
"type": "http",
"url": "https://appscreenshots.net/api/mcp",
"oauth": {
"type": "authorization_code",
"scope": "projects:read projects:write assets:read offline_access"
}
}
}
}
}Перезапустите сессию и завершите вход OAuth в браузере, когда клиент его покажет. Не медлите: настольный клиент отменяет ожидающую авторизацию примерно через 180 секунд.
Используйте доступный в аккаунте или воркспейсе пункт пользовательского MCP-подключения и выберите OAuth с указанным эндпоинтом. Доступность зависит от настроек аккаунта и воркспейса — публичный репозиторий на GitHub не создаёт запись в каталоге ChatGPT автоматически.
Интеграция клиентов описана по официальным справочникам и завершённому сквозному тесту на уровне протокола (OAuth, создание проекта, правки, предпросмотр на сайте, экспорт). Поиндивидуальная сертификация клиентов ещё идёт; текущий статус — в матрице верификации набора для подключения.
Набор для подключения
Публичный репозиторий appscreenshots-mcp содержит готовые файлы конфигурации для всех клиентов выше, опциональный Skill агента с описанием workflow скриншотов и команду doctor, проверяющую сервер из терминала:
git clone https://github.com/horace68/appscreenshots-mcp.git
node bin/appscreenshots.mjs config claude # вывести фрагмент конфигурации клиента
node bin/appscreenshots.mjs install-skill claude
node bin/appscreenshots.mjs doctorПомощник только печатает конфигурацию и устанавливает Skill. Это не локальный stdio-сервер — используйте штатное удалённое подключение клиента.
Инструменты
Девять инструментов ниже доступны через Streamable HTTP. Клиенты могут добавлять к именам префиксы. Источник истины для схем входных данных и прав аккаунта — хостируемый сервер.
| Инструмент | Тип | Назначение |
|---|---|---|
get_capabilities | Чтение | Права, границы дизайна (100–5000 px), устройства, типы элементов, maxFrames (20), maxElementsPerFrame (100), режимы предпросмотра/экспорта |
search_templates | Чтение | Поиск по метаданным публичных шаблонов (query, offset) |
get_template | Чтение | Чтение доступного шаблона по id |
list_projects | Чтение | Список авторизованных проектов, по 25 на страницу |
get_project | Чтение | Текущая ревизия и редактируемый макет, с editorUrl |
get_project_preview | Чтение | Ссылка на редактор, ревизия, кадры и инструкции для проверки в браузере — текст, а не изображение |
list_assets | Чтение | Список общих ассетов и ассетов авторизованных проектов, по 50 на страницу |
create_project | Запись | Создание из шаблона или с чистого холста (name, необязательный templateId, width, height, idempotencyKey) |
update_project | Запись | 1–100 структурированных операций за вызов, с expectedRevision и idempotencyKey |
Операции редактирования
update_project принимает различаемый список операций:
set_name— переименовать проектadd_frame/remove_frame/reorder_frames— управлять кадрамиupsert_element— вставить или заменить элемент; требует полной геометрии и сохраняет опущенные поля того же типаpatch_element— частичная правка поidэлемента; менять тип нельзяremove_element— удалить элементset_background— задать фон одного кадра; общие фоны фиксируются по кадрамset_locales— задать 1–20 языков и язык по умолчаниюset_canvas— размер холста (100–5000) и режим (separateилиcontinuous)
Элементы несут типографику, поля мокапов устройств, ссылки assetId на изображения, фигуры, иконки, rotation и stackOrder. Изображения указываются только авторизованным assetId — никогда URL или локальным путём; существующие ссылки хранятся на сервере, не отправляйте их обратно.
Каждая логическая запись должна использовать свежий ключ идемпотентности; повторно применяйте его только при идентичном повторе. После конфликта ревизий прочитайте свежую версию и продолжайте. Никогда не передавайте SQL, HTML или скрипты как инструкции правок.
Ошибки
Ошибки приходят телом JSON {code, message} с isError: true:
| Код | Значение |
|---|---|
REVISION_CONFLICT | Проект изменился после expectedRevision — перечитайте и повторите |
ASSET_NOT_AUTHORIZED | Ассет не выбран на странице согласия |
FRAME_NOT_FOUND / ELEMENT_NOT_FOUND | Указанный кадр или элемент не существует |
ELEMENT_TYPE_CHANGE_NOT_ALLOWED | patch_element не может менять тип элемента |
INVALID_FRAME_ORDER / INVALID_DEFAULT_LOCALE | Неверный порядок кадров или язык по умолчанию |
DUPLICATE_ID | id конфликтует с существующим |
PROJECT_SIZE_LIMIT | Превышен лимит кадров, элементов или нагрузки |
RATE_LIMITED | Слишком много вызовов — HTTP 429 с Retry-After |
Авторизация и лимиты
Сервер использует OAuth 2.1 с PKCE и входом через браузер:
- Скоупы:
projects:read,projects:write(только если вы разрешаете создание или правки),assets:readиoffline_access. - Токены доступа действуют один час, а токены обновления — 30 дней.
- Токенам доступа нужна действующая авторизация: после отзыва подключения существующие токены перестают работать немедленно.
- Лимиты: 60 вызовов MCP в минуту на бесплатном тарифе, 120 в минуту на платных. Превышение даёт HTTP 429 с
Retry-After: 60. - Тело запроса ограничено 2 МБ; проект — 20 кадрами и 100 элементами на кадр.
Права тарифа действуют как обычно: ограничения проектов, платных шаблонов, кастомных шрифтов и пакетного экспорта не меняются, платы за хостируемый ИИ нет — дизайн и тексты даёт подключённый ИИ.
Начните со своих скриншотов
Загрузите оригинальные скриншоты в веб-редактор. Затем авторизуйте этот проект или выберите отдельные ассеты на странице согласия. MCP не предоставляет инструменты бинарной загрузки; файл, приложенный к чату, автоматически сервису недоступен.
Попробуйте такой промпт:
Создай англоязычный проект скриншотов для App Store по доступному шаблону, используя мои авторизованные ассеты. Короткие заголовки и чистая вёрстка. Открой редактор доступными браузерными инструментами, проверь скриншоты, исправь визуальные недочёты и дай мне ссылку на проект для экспорта на сайте.
Дизайн и тексты создаёт подключённый ИИ; MCP сохраняет редактируемые проекты. get_project_preview возвращает ссылку на редактор и инструкции проверки, а не байты изображения. Агент с браузерными инструментами может открыть редактор, осмотреть скриншоты, поправить дизайн через MCP и безопасно перезагрузить страницу, чтобы увидеть свежую версию. Вход в браузере отделён от OAuth MCP, а несохранённые правки нужно сохранить перед перезагрузкой. Предпросмотр и экспорт выполняются в веб-редакторе.
Управление доступом
Откройте Settings → Connected AI tools, чтобы изменить выбранные проекты/ассеты или отозвать подключение. Инструмент не видит невыбранные проекты. Если сайт и ИИ-инструмент правят один проект одновременно, перед сохранением конфликтующих изменений перечитайте свежую версию.
Проверка в браузере не требует Browserless или фоновой очереди рендеринга. Этот MCP даёт инструменты проектов и руководство по браузерной проверке, а не облачный рендеринг. Без браузерных/графических инструментов агент должен вернуть ссылку на редактор и сообщить, что визуальная проверка не выполнена, а не утверждать обратное.
Устранение неполадок
| Симптом | Решение |
|---|---|
invalid_redirect_uri: web clients require https redirect URIs | Используйте loopback-адрес (http://127.0.0.1:<порт>/callback или http://localhost:<порт>/callback) и оставьте loopback-регистрациям нативный клиент по умолчанию |
401 с WWW-Authenticate: Bearer resource_metadata=… | Обычный discovery-ответ на неаутентифицированные вызовы — завершите OAuth-поток в клиенте |
| Авторизация постоянно истекает | Переподключитесь из клиента; отозванная или истёкшая авторизация инвалидирует refresh-токены |
| Клиент отменяет вход в браузере | Завершите вход быстро (некоторые клиенты отменяют через ~180 секунд) и переподключитесь |
Ответы 429 RATE_LIMITED | Дождитесь Retry-After (60 с) перед повтором; на платном тарифе — 120 вызовов/мин |
Заметки по клиентам и актуальная матрица верификации — в руководстве по устранению неполадок набора.
Документация AppScreenshots