AI 도구 연결
Claude Code, Codex, Gemini CLI 등 MCP 클라이언트를 연결하고, AI로 스크린샷 프로젝트를 만들고 편집한 뒤 브라우저에서 확인하고 웹사이트 에디터에서 내보내세요.
AI 도구 연결
이 AppScreenshots 배포에서 MCP가 활성화되어 있으면, 호환되는 AI 도구에 아래 엔드포인트를 등록합니다:
https://appscreenshots.net/api/mcpHTTP / Streamable HTTP와 OAuth를 선택하세요. 브라우저에서 AppScreenshots 계정으로 로그인하고, 도구가 사용할 프로젝트와 에셋을 선택하고, 프로젝트 생성 허용 여부를 정합니다. 데이터베이스 접근이나 API 키는 필요하지 않습니다.
개요와 예시 프롬프트는 MCP 랜딩 페이지를 참고하세요.
클라이언트 연결
아래 명령으로 각 클라이언트에 엔드포인트를 등록합니다. 연결 후 클라이언트가 브라우저 로그인을 보여주면 완료하세요.
claude mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcp그다음 Claude Code에서 /mcp를 실행하고 승인합니다. 프로젝트 범위 연결은 사용자 범위 등록 대신 .mcp.json을 병합하는 방식을 쓰세요. 범위를 덮어쓸 의도가 없다면 둘 다 설정하지 마세요.
codex mcp add appscreenshots --url https://appscreenshots.net/api/mcp
codex mcp login appscreenshots클라이언트의 config.toml에 url = "..."가 포함된 [mcp_servers.appscreenshots] 섹션을 병합해도 됩니다.
gemini mcp add --transport http --scope user appscreenshots https://appscreenshots.net/api/mcpGemini 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에 서버를 병합하거나, Settings → MCP에서 appscreenshots라는 HTTP 서비스를 추가합니다:
{
"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, 터미널에서 서버를 점검하는 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, 스크립트를 편집 지시로 사용하지 마세요.
오류
오류는 {code, message} JSON과 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 | 호출 과다 — Retry-After와 함께 HTTP 429 |
인증과 제한
서버는 OAuth 2.1 + PKCE 브라우저 로그인을 사용합니다:
- 스코프:
projects:read,projects:write(생성·편집을 허용한 경우만),assets:read,offline_access. - 액세스 토큰은 1시간, 리프레시 토큰은 30일 동안 유효합니다.
- 액세스 토큰은 유효한 그랜트를 요구합니다. 연결을 취소하면 기존 토큰은 즉시 작동을 멈춥니다.
- 속도 제한: 무료 플랜 분당 60회, 유료 플랜 분당 120회 MCP 호출. 초과 시
Retry-After: 60과 함께 HTTP 429를 반환합니다. - 요청 본문은 2 MB, 프로젝트는 20프레임·프레임당 100요소가 한도입니다.
플랜 권한은 그대로 적용됩니다. 프로젝트 수, 유료 템플릿, 사용자 지정 폰트, 일괄 내보내기 제한은 변하지 않고, 호스팅 AI 요금도 없습니다 — 디자인과 카피는 연결된 AI가 제공합니다.
스크린샷 먼저 준비하기
원본 스크린샷은 먼저 웹사이트 에디터에 업로드하세요. 해당 프로젝트를 승인하거나 동의 페이지에서 개별 에셋을 선택합니다. MCP는 바이너리 업로드 도구를 제공하지 않으며, 채팅에 첨부된 파일은 자동으로 사용할 수 없습니다.
이런 프롬프트를 시도해 보세요:
승인된 에셋을 사용해 사용 가능한 템플릿으로 영어 App Store 스크린샷 프로젝트를 만들어 줘. 짧은 헤드라인과 깔끔한 레이아웃을 쓰고, 사용 가능한 브라우저 도구로 에디터를 열어 스크린샷을 점검하고 시각적 문제를 수정한 뒤, 웹사이트에서 내보낼 수 있는 프로젝트 링크를 줘.
디자인과 카피는 연결된 AI가 만들고 MCP는 편집 가능한 프로젝트를 저장합니다. get_project_preview는 이미지 바이트가 아니라 에디터 링크와 검토 안내를 반환합니다. 브라우저 도구가 있는 에이전트는 에디터를 열어 스크린샷을 확인하고 MCP로 수정한 뒤 안전하게 다시 불러와 검토할 수 있습니다. 브라우저 로그인은 MCP OAuth와 별개이며, 다시 불러오기 전에 저장되지 않은 편집은 보존해야 합니다. 미리보기와 내보내기는 사용자가 웹사이트 에디터에서 합니다.
접근 관리
Settings → Connected AI tools에서 프로젝트와 에셋 범위를 바꾸거나 연결을 취소할 수 있습니다. 도구는 선택되지 않은 프로젝트에 접근할 수 없습니다. 웹사이트와 AI 도구가 같은 프로젝트를 동시에 편집할 때는 저장 전에 최신 버전을 다시 읽으세요.
브라우저 검토에는 Browserless나 백그라운드 렌더링 대기열이 필요하지 않습니다. 이 MCP는 프로젝트 도구와 브라우저 검토 안내를 제공하며 클라우드 렌더링은 제공하지 않습니다. 브라우저/이미지 도구가 없다면 에이전트는 검증을 주장하는 대신 에디터 링크를 돌려주고 시각 확인이 미완료라고 보고해야 합니다.
문제 해결
| 증상 | 조치 |
|---|---|
invalid_redirect_uri: web clients require https redirect URIs | 루프백 주소(http://127.0.0.1:<포트>/callback 또는 http://localhost:<포트>/callback)를 쓰고 루프백 등록을 네이티브 클라이언트 기본값에 맡기기 |
WWW-Authenticate: Bearer resource_metadata=…와 함께 401 | 미인증 호출에 대한 정상 디스커버리 응답 — 클라이언트에서 OAuth 흐름을 완료하면 됨 |
| 인증이 반복해서 만료됨 | 클라이언트에서 다시 연결. 그랜트 취소·만료로 리프레시 토큰이 무효화됨 |
| 클라이언트가 브라우저 로그인을 취소함 | 빠르게 로그인 완료(일부 클라이언트는 약 180초 후 취소) 후 다시 연결 |
429 RATE_LIMITED | Retry-After(60초)를 기다렸다가 재시도. 유료 플랜은 분당 120회까지 |
클라이언트별 안내와 최신 검증 매트릭스는 연결 키트 문제 해결 가이드를 참고하세요.
AppScreenshots 문서