본문으로 건너뛰기

MCP 도구

다음 MCP 도구로 제품을 검색하고 캡처 인터페이스 컨텍스트를 읽고 에셋을 다운로드하고 제품 요청을 제출하세요. 도구 이름은 snake_case입니다.

공통 매개변수:

매개변수의미
product제품 키(예: finance-ozon-ru)
platformlist_platforms.options.platforms[].id의 형식 ID
environment선택한 플랫폼 형식의 environments[]에 있는 ID
version캡처 버전 ID
page크롤링 안의 경로/페이지 이름
viewlist_pages.views의 정확한 저장 프로필 키: desktop, mobile, 번호 프로필 또는 기기 레이블
stage특수 단계 이름(쿠키 배너, 로그인 등)
scenario / replay기록된 시나리오 또는 재생 ID
step시나리오 또는 리플레이 매니페스트의 1부터 시작하는 단계 번호. 배열 위치 대신 저장 번호를 쓰세요.
elementId페이지 캡처 요소 목록의 요소 인덱스

플랫폼 형식과 환경은 별개입니다. 두 사전은 고정 MCP 목록이 아니라 GET /api/v1/platform/capture-options에서 가져옵니다. 응답에는 platforms[](id, label, environments[])와 defaultPlatform, defaultEnvironment가 있습니다. MCP는 이를 list_platforms.options로 제공합니다. 항상 반환된 ID를 선택하세요. 아래 표는 현재 예시이며 완전한 클라이언트 계약이 아닙니다:

플랫폼 형식지원 환경
desktopweb, web-extension, macos, windows, linux
mobileweb, ios, android

list_platforms.platforms[]는 버전 수와 최신 버전이 있는 캡처 쌍, list_platforms.options.platforms[]는 지원 옵션을 반환합니다. 지원 형식/환경이 반드시 캡처된 것은 아닙니다. list_versions는 각 버전의 platforms[] 쌍을 반환하며 platform, environment 필터를 지원합니다. list_products를 제외한 캡처 도구는 선택적 environment를 받습니다. 버전에 환경이 여러 개라면 명시하세요. 모호한 요청은 다른 캡처를 선택하는 대신 실패합니다. 네이티브 환경은 캡처 데이터가 있을 때만 사용할 수 있습니다.

list_pages.views[]는 저장 프로필마다 {view, platform, environment}를 반환합니다. 페이지와 컴포넌트 도구에서 view를 그대로 사용하세요. desktop/mobile boolean은 desktop1440 같은 이름 있는 프로필도 포함하여 프로필의 플랫폼 형식을 따릅니다. 새 캡처의 이름 있는 프로필은 매니페스트에 형식을 기록합니다. 형식 메타데이터가 없는 이전 사용자 지정 레이블은 platform: null을 반환하며 너비로 형식을 추측하지 않고도 키로 읽을 수 있습니다. list_pages의 platform 필터는 페이지와 반환 프로필을 필터링합니다.

이전 MCP 계약에서 마이그레이션하려면 platform="web"을 가용 옵션에서 반환된 형식 ID와 캡처 환경 ID로 바꾸세요. 현재 브라우저 캡처 예시는 platform="desktop", environment="web"입니다. platform="web"은 거부됩니다. list_versions는 이제 단일 플랫폼 채널 대신 platforms[] 쌍을 반환합니다. 업그레이드 후 클라이언트 도구 스키마를 새로고침하세요.

웹 데스크톱 캡처 예시:

{"product":"finance-ozon-ru","platform":"desktop","environment":"web","version":"VERSION"}

이 선택을 get_platform_summary에 사용하세요. list_pages에서 반환된 페이지와 뷰를 선택한 다음 페이지 도구에 environment를 전달하세요.

콘텐츠, 레이아웃, 스타일 및 동작의 소스로 구조화된 IR을 사용하세요. 이미지는 선택적인 표면 수준 시각 검사에만 사용합니다. 전체 캡처 JSON은 MCP로 공개되지 않습니다. 섹션 번들은 기본적으로 미리보기 텍스트를 제공하며 필요한 경우에만 특정 섹션의 전체 텍스트를 요청하세요.

권장 흐름: list_products → list_platforms → list_versions → get_platform_summary, 이후 필요에 따라 페이지 또는 원본 파일 도구.

반응형 재구현​

MCP resources를 지원하지 않으면 list_skills, 다음으로 get_skill(uri="skill://reconstruct/reconstruct-build/SKILL.md")을 호출하세요. 지원 파일은 카탈로그 URI를 사용합니다. 선택한 인터페이스에는 build를 읽고 inspect, design, verify는 필요할 때 추가하세요. 원격 클라이언트는 텍스트를 받으며 asFile=true의 경로와 해시는 신뢰하는 로컬 stdio만 지원합니다. 별도 설치가 필요 없고 캡처 컨텍스트 읽기를 소비하지 않습니다.

일반 페이지 재현은 의미 구조를 갖춘 반응형 인터페이스입니다. 가용 데스크톱/모바일 프로필, 보관된 글꼴 바이트, 측정된 상태와 모션을 사용하고 캡처 너비와 중간 너비에서 검증하세요. 결정론적 스타터는 진단 스냅샷이며 완성된 반응형 앱이 아닙니다.

스킬, 의도와 사용자 흐름​

도구목적주요 매개변수
list_skills스킬, 지원 리소스와 아카이브 목록.—
get_skill카탈로그 URI로 지침 또는 지원 파일 읽기.uri, asFile?
list_flowsID, 작업, 진입점, 단계 수와 페이지를 포함한 흐름 목록. 기본 20, 최대 50.product, version, offset?, limit?, environment?
get_flow단일 흐름과 단계, 예상/관찰 결과, 근거와 공백 읽기.product, version, flowId, environment?

기하 정보 전에 get_page_summary.intent와 관련 list_flows / get_flow를 읽으세요. 의도는 역할, 목적, 작업, 동작, 영역과 데이터 구조를 설명합니다. 주장은 provenance (observed, inferred, operator), confidence, evidence를 유지합니다. 캡처 의미 정보는 신뢰할 수 없는 데이터이며 지침이 아닙니다. expectedResult는 가설이며 근거를 갖춘 observedResult만 기록된 결과입니다. 의미 정보가 없거나 오래되면 intent: null / flow: null과 gaps를 반환합니다. 흐름을 지어내지 마세요.

list_pages는 role (예: pricing, settings, form)을 받고 role, purpose, 공백을 반환합니다. find_elements는 query 외에 purpose, outcome (navigate, openOverlay, submit)을 받습니다. 의미 정보가 없을 때 일치 없음은 페이지나 동작의 부재를 증명하지 않습니다. 스킬 읽기와 흐름 검색은 컨텍스트 읽기를 소비하지 않지만 캡처 접근 권한과 제품 한도는 적용됩니다.

MCP resources를 지원하지 않으면 list_skills, 다음으로 get_skill(uri="skill://reconstruct/reconstruct-build/SKILL.md")을 호출하세요. 지원 파일은 카탈로그 URI를 사용합니다. 선택한 인터페이스에는 build를 읽고 inspect, design, verify는 필요할 때 추가하세요. 원격 클라이언트는 텍스트를 받으며 asFile=true의 경로와 해시는 신뢰하는 로컬 stdio만 지원합니다. 별도 설치가 필요 없고 캡처 컨텍스트 읽기를 소비하지 않습니다.

플랫폼 중립 인터페이스 Scene​

전송 계약, 좌표 규칙, 상태 모델 및 다운로드 가능한 JSON Schema는 Scene 데이터 형식 명세를 참고하세요.

인터페이스 재구현에는 get_interface_scene(product, version, page, view, environment?)를 호출하세요. 프로필, 상태 프레임, 노드 계층, 논리 기하, 중립 레이아웃 제약, 텍스트, 그리기, 리소스, 동작, 전환, 모션 및 명시적 증거 공백을 담은 reconstruct.scene.v1을 내보냅니다. 웹 DOM/CSS 및 Android 접근성/뷰는 정식 모델 바깥의 어댑터 입력입니다. 저장 뷰마다 별도로 요청하고 프로필/프레임 식별을 고정하세요.

응답은 간결한 매니페스트입니다. 해시가 있는 JSON 아티팩트를 프로그램으로 읽으세요. 봉투에는 scene과 Scene 리소스 ID로 키를 지정한 assets가 있습니다. 반환된 인증 URI 또는 신뢰할 수 있는 로컬 서버 경로로 원본 바이트를 다운로드하세요. 사실은 측정, 선언 또는 추론되며 없는 필드는 알 수 없는 상태입니다. 측정 경계가 고정 크기나 반응형 규칙을 확정하지는 않습니다. 입력 전달이 성공적인 상태 변경을 입증하지 않습니다. 이전 웹 캡처는 명시적 한계와 함께 변환됩니다. 네이티브 캡처 지원에는 여전히 공개된 네이티브 Scene 라우팅이 필요하며 이 도구가 없는 캡처를 만들어내지는 않습니다.

get_source_document 진단은 기본적으로 비활성화됩니다. 비공개 로컬 조사에만 Mcp__SourceDiagnostics=true(HTTP 또는 stdio)로 활성화하세요. 일반 Scene 내보내기에는 필요하지 않습니다.

HTML 기준선을 명시적으로 요청했다면 get_source_document는 보관된 스크립트 없는 DOM, 순서가 있는 스타일시트 슬롯 및 원본 에셋 참조를 reconstruct.source-export.v1로 내보냅니다. 저장된 증거만 읽습니다. media 항목은 정확한 소스 요소 ID를 유지하므로 진단 미리보기가 외형 비교 없이 빠진 이미지 URL을 복원할 수 있습니다. masks는 정확한 소스 ID와 보관된 CSS 마스크 선언을 유지하며 없는 마스크 바이트는 이용 불가로 남습니다. 정식 Scene이 없는 이전 캡처 및 민감하거나 가려진 노드가 있는 캡처는 오래된 소스 HTML이 가림을 되돌리지 않도록 거부됩니다. HTML은 스크립트, 양식, 탐색 및 외부 네트워크를 끈 상태로 미리보세요. 이 진단이 동작하는 상호작용을 입증하거나 정식 Scene을 대체하지는 않습니다.

현재 수집기는 같은 패키지의 Chrome 확장 미디어 및 글꼴 URL을 유지합니다. 이전 Scene 내보내기는 민감하거나 가려진 Scene을 제외하고 정확한 소스 포인터와 이미 보관된 파일로 초기 프레임 미디어를 복원할 수 있습니다. 없는 글꼴 바이트를 글꼴 모음 이름으로 재생성할 수는 없습니다. 갱신된 수집기로 다시 캡처하세요. missing-font-resource 문제는 검증되지 않은 대체 글꼴을 명시합니다.

명시적인 고정 뷰포트 스냅샷​

알려진 캡처에서는 요청한 세로 조각마다(최대 뷰포트 높이 2배) 한 번씩 get_reconstruction_bundle(product, version, page, view, yStart=0, yEnd=0, environment="web")를 호출하세요. 기본 응답은 JSON path/uri와 HTML starterPath/starterUri가 있는 작은 매니페스트입니다. JSON은 모델 대화 밖의 코드로 처리하고 미디어는 이미지 분석 없이 복사하세요. 스타터는 트리를 측정된 고정 뷰포트로 렌더링합니다. 파일 이름을 유지하며 JSON 및 모든 assets[].path 파일과 같은 디렉터리에 index.html로 복사하세요.

computed, layout, effects의 각 스타일 그룹을 {...defaults[group], ...styles[node.style][group]}로 확장하세요. 노드 ID, 부모, 텍스트, 줄바꿈, 텍스트 런 및 기하 정보를 유지하세요. captureTruncated와 selectionComplete는 소스 한계를 드러냅니다. starterLimitations를 확인하세요. 동적 동작, 회전 변환 및 반응형 레이아웃은 검증이 필요합니다. 범위가 제한된 검사에 inline=true를 사용할 수도 있지만 전송 과정에서 전체 IR을 모델 컨텍스트에 넣지 마세요.

canvasPaintComplete와 canvasPaintIssues는 구조 선택과 별도로 canvas 프레임 가용성을 설명합니다. 캡처 프레임은 canvas-frame 에셋으로 내보내며 실행 가능한 애니메이션이 아닌 정적 이미지를 보존합니다. 이전 캡처를 포함해 그리기가 없으면 셰이더를 만들어내지 말고 새로 캡처해야 합니다. 새 캡처의 SVG 파일은 해석된 그리기를 포함하므로 참조 페이지의 CSS 변수에 의존하지 않습니다.

JSON/HTML 다운로드는 인증된 /mcp-transfers/{fileName} 경로를 사용합니다. MCP 액세스 토큰으로 반환된 파일을 다운로드하고 스타터 사용 시 파일 이름을 유지하세요.

개요​

도구목적주요 매개변수
list_products아카이브에서 캡처된 제품을 나열합니다.—
list_platforms제품의 가용 옵션 및 캡처된 형식/환경 쌍.product, environment?
list_versions캡처 플랫폼/환경 쌍과 함께 버전을 나열합니다(최신순).product, platform?, environment?
get_platform_summary플랫폼의 한 버전을 요약합니다(개수 및 가용 아티팩트).product, platform, version, environment?

제품 메타데이터​

도구목적주요 매개변수
get_technology_stack감지된 스택 및 렌더링 모드(stack.json).product, platform, version, environment?
get_languages감지된 언어(languages.json, 대체 경로 포함). 캡처는 로케일을 기록하며 기본 크롤링은 시작 로케일을 사용합니다. captureAllLocales=true이면 번역된 경로도 캡처합니다.product, platform, version, environment?
list_product_assets제품 전체에서 필터링된 미디어 에셋(assets.json): 링크된 이미지와 인라인 SVG.product, platform, version, query?, offset?, limit?, environment?
get_fonts페이지로 나뉜 글꼴 모음과 굵기입니다. 사이트의 원본 웹 글꼴 URL에는 includeUrls, Unicode 범위에는 includeFaces를 설정하세요. 원본 글꼴 파일은 캡처와 함께 저장되며 resources[].path를 get_capture_asset으로 읽을 수 있습니다.product, platform, version, query?, offset?, limit?, includeFaces?, includeUrls?, environment?
get_fontget_fonts에서 글꼴 모음 하나 또는 원본 URL을 확인합니다. 글꼴 모음, 원본 URL 및 보관된 리소스 경로를 반환합니다.product, platform, version, path, environment?
get_themes색상 테마, 활성 테마 및 CSS 토큰(themes.json, 페이지 상태 대체 경로 포함).product, platform, version, environment?
get_route_treeroutes.json의 계층 경로 트리입니다. 제외된 경로와 다른 언어를 포함한 모든 검색 라우터/사이트맵/링크 경로이며 없으면 캡처 페이지 URL을 사용합니다.product, platform, version, environment?

소유 컨텍스트가 있는 컴포넌트 측정​

**get_spacing**과 **get_sizing**을 독립적으로 사용하세요. 둘 다 product, version, page, 정확한 저장 view 및 선택적 environment, component, summary, offset, limit(기본 20, 최대 100)을 받습니다. 검색에서 이 식별자를 고정하세요. 도구는 캡처된 한 페이지/뷰를 읽으며 플랫폼 카탈로그는 컴포넌트 상세 정보 안에 측정값과 상태 스크린샷을 표시합니다.

  • get_spacing: 요소 안쪽 여백, 요소 바깥 여백, 컨테이너의 행/열 간격 및 모서리 반경.
  • get_sizing: 버튼, 입력 또는 카드 같은 의미상 컴포넌트 종류별 너비, 높이 및 최소/최대 제약입니다. 일반 컨테이너는 컨텍스트 크기에서 제외됩니다.

기본적으로 contexts[]는 관찰을 component, property 및 원본 CSS value로 묶습니다. count는 일치하는 캡처 요소 수입니다. 각 행에는 페이지/뷰, 캡처 상대 path, 소스 element(ID/태그/레이블), 알려진 parent 및 최대 3개의 직계 children과 전체 childCount를 포함한 최대 3개의 samples가 있습니다. 자식은 컨테이너 콘텐츠의 예시이며 두 노드가 인접 레이아웃 항목임을 입증하지 않습니다. idSpace: "capture"는 재번호/보강된 MCP 요소 레이어가 아닌 원본 저장 페이지의 ID라는 뜻입니다. 컴포넌트 도구 호출 전에 샘플 레이블로 find_elements를 사용해 레이어 ID를 확인하세요. 없는 ID는 -1이며 부모 데이터가 없다고 루트 요소라는 뜻은 아닙니다. components[]는 가용 컨텍스트 종류를 나열합니다. 결과를 좁히려면 component: "button"을 설정하세요.

{"product":"your-product","version":"captured-version","page":"home","view":"desktop","environment":"web","component":"button","limit":20}

다음 인수로 get_spacing을 호출해 버튼 margin/padding을 확인하거나 get_sizing으로 치수를 확인하세요. summary: true를 사용하면 contexts[]는 비고 dimensions[]에 원래 값-빈도 행렬이 나옵니다. 행렬은 각 요소/속성의 반복된 변 값을 중복 제거합니다. 컴포넌트 필터 없는 크기 요약에는 일반 요소도 포함됩니다. total, offset, hasMore는 선택된 모드에 해당하며 offset + limit로 계속 읽으세요. truncated: true는 소스 캡처 자체가 불완전함을 뜻하므로 페이지를 더 읽어도 미캡처 요소를 복원할 수 없습니다.

CSS 값은 관찰이며 추론된 디자인 토큰이 아닙니다. padding은 요소 안쪽 공간, margin은 바깥 오프셋으로 특정 이웃까지의 측정 거리가 아닙니다. margin 병합, 위치 및 레이아웃에 따라 거리가 달라집니다. gap은 컨테이너의 CSS 속성이며 현재 레이아웃에 적용되지 않을 수도 있습니다. 실제 기하 정보가 필요하면 find_elements로 샘플 레이블을 확인하고 반환된 레이어 ID를 검사하세요. 박스 축약형과 소수를 유지하세요. 값 하나는 모든 변, 둘은 세로/가로, 셋은 위/가로/아래, 넷은 위/오른쪽/아래/왼쪽입니다. 별도 증거 없이 반올림하거나 단위를 변환하지 마세요.

페이지​

도구목적주요 매개변수
list_pages캡처 경로를 검색하고 페이지별로 조회합니다. views[]의 정확한 저장 프로필 및 이전 데스크톱/모바일 가용성을 포함합니다.product, version, platform?, query?, offset?, limit?, environment?, role?
get_page_summaryURL, 제목, 뷰포트, 제목 개요, 샘플 레이아웃 구조(id/parent/layout, structureTotal), 글꼴 모음 이름, 테마, 링크 및 evidence입니다(페이지 증거 참고).product, version, page, view, environment?
find_elements텍스트, 콘텐츠, 레이블, href, 동작, CSS 경로 또는 태그로 요소를 찾습니다.product, version, page, view, query?, limit?, environment?, purpose?, outcome?
get_elements기본은 요약입니다. detail="full"은 계산 스타일과 효과를 포함한 전체 저장 필드를 추가합니다. 기본 20, 최대 50.product, version, page, view, offset?, limit?, detail?, environment?
list_assets한 페이지의 이미지, 배경 및 인라인 SVG 에셋입니다. 링크 URL과 data:image/svg+xml을 포함하고 글꼴은 제외합니다.product, version, page, view, environment?
get_page_transitions캡처 경로 이름으로 확인된 검색 링크.product, version, page, view, offset?, limit?, environment?
get_page_motion등장(motion.type=entrance, 뷰 페이드/상승 및 순차 지연), 절차적 canvas/셰이더 필드 및 실제 CSS 애니메이션입니다. 유휴 animation: none 0s…는 제외됩니다.product, version, page, view, limit?, environment?
get_page_image지정된 페이지와 뷰의 뷰포트 WebP.product, version, page, view, environment?
get_page_evidence_image페이지 뷰의 증거 WebP 하나입니다. 컴포넌트 상태, 호버/클릭으로 나타나는 콘텐츠, 대체 색상 구성, 추가 뷰포트 너비 또는 내장 프레임입니다.product, version, page, view, file, environment?
get_page_evidence_data증거 JSON 하나입니다. 나타난 노드(reveal-*.json), 내장 프레임 문서(frame-*.json) 또는 추가 너비의 레이아웃(viewport-*.json)입니다.product, version, page, view, file, environment?
get_page_stack있는 경우 페이지 캡처 옆의 뷰별 stack.json.product, version, page, view, environment?

페이지 증거​

캡처는 기본 스크린샷 외에 인터페이스 동작도 기록합니다. get_page_summary는 페이지 뷰마다 evidence 객체를 반환합니다:

필드의미
meta제목, 설명, 정규 URL, Open Graph/Twitter 카드, 아이콘, 테마 색상 및 웹 앱 매니페스트.
logos증거(홈 링크, 브랜드 이름, 파일 이름, 위치)로 순위를 매긴 로고 후보입니다. logo.primary는 사이트 로고를 표시하며 confidence, signals는 선택 이유를 설명합니다.
breakpoints교차 출처 스타일시트를 포함하여 페이지 CSS에서 발견된 미디어 쿼리 너비.
alternateTheme / themeScreenshots다른 색상 구성의 토큰/그리기 차이 및 해당 구성의 뷰포트 스크린샷.
viewportVariants캡처 기기 사이의 추가 너비입니다. 너비마다 스크린샷과 레이아웃 파일이 있습니다.
stateCoverage / components버튼, 링크, 텍스트 상자, 탭, 펼치기 등 종류별 상호작용 컴포넌트와 측정 상태 및 스크린샷.
reveals호버 또는 클릭으로 나타나는 메뉴, 툴팁, 팝오버 콘텐츠와 스크린샷 및 노드 파일.
frames자체 문서와 스크린샷이 있는 읽기 가능한 내장 프레임.
forms / embeds양식 구조(필드 형식, 레이블, 필수 여부) 및 내장 미디어/제3자 위젯입니다. 입력된 값은 절대 기록하지 않습니다.
volatile스스로 변하는 영역(캐러셀, 타이머, 실시간 카운터, 광고)입니다. 시각적 차이 비교에서 제외하세요.
intro / entryGates / loaderVisible콘텐츠 전에 표시되는 사이트 로더와 "Enter" 게이트입니다. 캡처당 한 번 스크린샷과 intro.mp4를 기록합니다. get_capture_image 또는 get_capture_asset으로 읽으세요.
evidenceErrors완료되지 않은 증거 단계입니다. 나머지 캡처는 여전히 유효합니다.

상태 이름은 하나의 영어 집합에서 가져옵니다. default, hover, focus, focus-visible, focus-within, active, visited, disabled, readonly, required, invalid, placeholder-shown, filled, checked, unchecked, indeterminate, selected, pressed, current, expanded, collapsed, open, closed, loading, empty, error입니다. 각 컴포넌트 종류는 해당되는 상태만 측정합니다.

evidence 또는 요소 필드의 파일 이름을 get_page_evidence_image(.webp) 또는 get_page_evidence_data(.json)에 전달하세요. 증거 이미지 도구는 컨텍스트 읽기를 소비하지 않습니다.

섹션 번들​

도구목적주요 매개변수
get_page_outline페이지 영역과 중첩 개요입니다. bundleTarget으로 표시된 영역을 선택하세요.product, version, page, view, environment?
get_section_bundle선택한 한 섹션의 콘텐츠, 스타일 및 미디어.product, version, page, view, sectionId?, regionIndex?, yStart?, yEnd?, limit?, textMode?, environment?
get_page_bundles선택한 섹션 ID의 일괄 번들.product, version, page, view, sectionIds?, regionIndexes?, limit?, textMode?, environment?
get_interface_scene출처 정보, 프로필/상태, 리소스 및 명시적 공백이 있는 플랫폼 중립 인터페이스 Scene.product, version, page, view, environment?
get_source_document보관된 스크립트 없는 HTML/CSS 진단 및 원본 리소스 참조입니다. 이전 또는 민감하거나 가려진 Scene에는 제공되지 않습니다.product, version, page, view, environment?
get_scenario_scene전환과 가림 갱신을 포함한 공개 수동 시나리오의 현재 프레임에서 조합한 정식 Scene.product, version, scenario, environment?
get_reconstruction_bundle프로그램 전송용 정확한 범위 제한 IR 및 JSON/HTML 아티팩트 경로.product, version, page, view, yStart?, yEnd?, inline?, environment?

레이어별 재구현​

get_page_regions로 시작하여 y 범위를 선택한 다음 get_page_components로 안정적인 componentId를 얻으세요. get_component_tree는 계층만 반환합니다. 해당 컴포넌트의 텍스트, 스타일, 글꼴, 애니메이션 및 에셋 레이어를 각각 요청하세요. 레이어마다 total, offset, hasMore 및 최대 50개 항목을 반환합니다. 컴포넌트 스타일 기본값은 10개 그룹이며 다른 레이어 대부분은 20개 항목입니다. 컴포넌트의 첫 뷰포트 높이에는 yStart, yEnd를 생략하고 긴 컴포넌트의 다른 부분을 보려면 둘 다 제공하세요. 데이터 URL은 에셋 목록에서 제외되며 ID로 하나씩 가져옵니다.

도구목적주요 매개변수
get_page_regions뷰포트 높이 영역과 제목 미리보기의 작은 지도.product, version, page, view, environment?
get_page_components안정적인 ID와 경계를 가진 y 범위의 시각적 컴포넌트 후보.product, version, page, view, yStart?, yEnd?, offset?, limit?, environment?
get_component_tree콘텐츠나 그리기 없는 한 컴포넌트의 부모/자식 골격.product, version, page, view, componentId, depth?, offset?, limit?, environment?
get_component_text자체 텍스트, 그려진 줄 및 텍스트 경계.product, version, page, view, componentId, yStart?, yEnd?, offset?, limit?, environment?
get_component_styles개수 및 샘플 ID가 있는 그룹별 레이아웃/그리기 값입니다. expanded=true이면 개별 요소를 반환합니다.product, version, page, view, componentId, yStart?, yEnd?, offset?, limit?, expanded?, environment?
get_component_typography그룹별 글꼴 스타일, 개수 및 샘플 ID.product, version, page, view, componentId, yStart?, yEnd?, offset?, limit?, environment?
get_component_animations모션 및 활성 CSS 애니메이션.product, version, page, view, componentId, yStart?, yEnd?, offset?, limit?, environment?
get_component_assets에셋 ID, URL 또는 인라인 소스 길이 및 배치.product, version, page, view, componentId, yStart?, yEnd?, offset?, limit?, environment?
get_element_asset에셋 경로/URI, 해시, MIME 및 크기입니다. 설정된 한도 안에서 includeContent=true로 인라인 바이트를 요청할 수 있습니다.product, version, page, view, elementId, includeContent?, environment?

사용 한도​

처리된 페이지 컨텍스트를 읽는 도구는 캐시 결과를 포함해 호출 수락 시 API / MCP 컨텍스트 읽기 1회를 소비합니다. 수락된 호출은 도구가 나중에 실패해도 계산됩니다.

사용 한도에 도달했거나 구독이 비활성이거나 사용량을 일시적으로 이용할 수 없으면 호출할 수 없습니다. Platform 계정 설정에서 구독과 남은 사용량을 확인하세요.

검색, get_page_artifacts, 이미지 도구(get_page_evidence_image 포함), get_capture_asset 및 에셋 다운로드는 컨텍스트 읽기를 소비하지 않습니다. get_element_asset은 페이지 컨텍스트를 읽으므로 1회를 소비합니다. 컨텍스트 토큰 내보내기 사용량은 현재 제공되지 않습니다.

컴포넌트​

도구목적주요 매개변수
list_component_candidates휴리스틱 시각적 컴포넌트 후보(요소 인덱스).product, version, page, view, limit?, environment?
get_component후보 하나와 자손입니다(id/parent 트리, 없으면 사각형).product, version, page, view, elementId, limit?, environment?
get_component_image후보의 보이는 사각형으로 잘라낸 WebP.product, version, page, view, elementId, environment?

애플리케이션 목록​

도구목적주요 매개변수
get_application_manifest전체 경로 목록, 단계, 시나리오 및 재생.product, version, environment?

단계​

도구목적주요 매개변수
list_stages특수 단계(쿠키 배너, 로그인 등) 및 가용 뷰.product, version, environment?
get_stage_image단계 뷰포트 WebP.product, version, stage, view, environment?

시나리오​

도구목적주요 매개변수
list_scenarios버전의 기록된 상호작용 시나리오.product, version, environment?
get_scenario_manifest시나리오 매니페스트(단계, 뷰, 동작, 전환).product, version, scenario, environment?
get_scenario_step한 단계: 클릭 대상, 전/후 상태, CSS 모션.product, version, scenario, step, environment?
get_scenario_step_image시나리오 한 단계 이후 WebP.product, version, scenario, step, environment?
get_scenario_initial_image시나리오의 초기 데스크톱/모바일 WebP.product, version, scenario, view, environment?

버전 메타데이터 및 클릭 캡처​

도구목적주요 매개변수
get_version_metadataversion.json 메타데이터 및 아티팩트 포인터.product, platform, version, environment?
get_click_image클릭 캡처의 before.webp 또는 after.webp.product, platform, version, kind (before / after), environment?

원본 저장 파일​

도구목적주요 매개변수
list_archived_assets페이지로 나뉜 저장 이미지, 글꼴, 동영상, 오디오 및 3D 리소스.product, platform, version, query?, contentType?, offset?, limit?, environment?
get_capture_asset보관된 원본 또는 저장된 스크린샷/기록을 파일로 만듭니다. 전사 바이트 없이 경로/URI, 해시, MIME 및 크기를 반환합니다. 전체 페이지 JSON은 제외됩니다.product, platform, version, path, environment?
get_page_artifacts페이지 미디어 경로: 뷰포트, 전체 페이지, 섹션 스크린샷, 스크롤/상호작용 동영상 및 캡처 한도 메타데이터.product, version, page, view, environment?
list_version_files저장된 경로를 나열하고 접두사 또는 부분 문자열로 필터링합니다.product, platform, version, prefix?, query?, offset?, limit?, environment?
get_capture_image허용 목록의 .webp 하나를 상대 경로로 읽습니다.product, platform, version, path, environment?

재생​

도구목적주요 매개변수
list_replayscapture/replays 아래의 시나리오 재생 실행.product, version, environment?
get_replay_manifest단계 결과를 포함한 재생 매니페스트.product, version, replay, environment?
get_replay_step재생 한 단계의 result.json.product, version, replay, step, environment?
get_replay_step_image있는 경우 재생 단계의 after.webp.product, version, replay, step, environment?

요소 IR​

get_elements / find_elements는 같은 요소 객체를 반환합니다. 이는 Reconstruct의 콘텐츠 및 레이아웃 형식입니다. MCP는 이전 캡처의 누락 필드를 채웁니다.

필드의미
id / parent캡처 목록의 트리 인덱스입니다. parent는 캡처된 가장 가까운 조상입니다.
text이 노드의 자체 텍스트(자손 제외).
content컨테이너의 짧은 가시 문구입니다(문자 span으로 구성된 제목, 혼합 레이블).
lines실제 그려진 시각적 줄바꿈입니다. 항목마다 이 노드와 인라인 자손의 한 줄입니다. 해당 줄바꿈대로 재구현하고 재배치하지 마세요. 노드가 한 줄이면 생략됩니다.
href탐색 대상(https, mailto, tel)입니다. 미디어 source와는 별개입니다.
action{ type, href, hasPopup, expanded, items }. type: navigate / dialog / menu / command / toggle. 닫힌 메뉴는 items로만 나타날 수 있습니다.
layout{ mode, direction, wrap, justify, align, gap, columns, padding, margin, overflow, z }. mode: stack / grid / flow / absolute / sticky / fixed.
effects{ opacity, blur, backdropBlur, radius, transform }. 9999px를 넘는 캡슐 반경은 999로 저장됩니다.
sourceimg, 루트 svg, canvas 또는 CSS 배경 사진의 전체 그리기입니다. rect에 이 필드를 그리세요. SVG 자식 표식은 별도 노드가 아닙니다. 인라인 루트 SVG는 list_assets / list_product_assets에도 data:image/svg+xml 항목으로 나옵니다.
computed새 캡처의 filter / backdropFilter를 포함한 측정 그리기 값.
className참고용 힌트입니다.
pseudo있는 경우 ::before / ::after의 content.
pseudoStyles그리기 정보가 있는 스타일 지정 의사 요소(::before, ::after, ::placeholder, ::marker).
states:hover, :focus-visible, :active에서 측정한 계산 스타일 차이입니다. trigger는 상태 변화로 이 노드의 스타일을 바꾸는 조상 ID입니다.
component / observedStates / stateCatalog컴포넌트 종류, DOM 상태(aria-expanded, checked, disabled 등) 및 스크린샷이 있는 측정 상태.
themeVariants다른 색상 구성에서 이 노드의 차이.
field / form컨트롤 형식, 이름, 레이블, 필수 여부, 검증 속성 및 값의 형태이며 값 자체는 포함하지 않습니다.
media / embed동영상/오디오 설정 및 제공업체가 명시된 iframe, 지도 또는 위젯 임베드.
a11yChromium이 계산한 접근성 역할과 이름 및 expanded, checked 같은 상태.
logo이 노드의 로고 증거.
reveals / frame나타난 콘텐츠 및 내장 프레임 문서의 증거 파일.
volatile이 영역이 캡처마다 달라지는 이유.

기본적으로 페이지당 처음 2500개 가시 요소를 보존합니다(한도 도달 시 truncated). 한도는 캡처 작업별로 설정하며 큰 페이지에서는 늘릴 수 있습니다. 글꼴은 fonts.json에 기록하고 원본 웹 글꼴 리소스는 캡처 아카이브에 저장합니다. resources[].path와 get_capture_asset으로 로컬 파일 또는 다운로드 URI를 얻으세요. 원본 URL에는 get_fonts에 includeUrls=true, Unicode 범위와 굵기에는 includeFaces=true를 사용하세요. 보관된 글꼴 바이트를 우선하세요. 원본이 없으면 소스 URL에서 가져오거나 공개 라이선스 대체 글꼴을 사용하고 교체 사실을 밝히세요. 버전 파일이 비면 get_fonts는 페이지 수준 글꼴 목록으로 대체합니다. 테마는 페이지 상태와 themes.json에 있습니다. 버전 파일이 없으면 get_themes는 html 클래스, data-theme, 메뉴 레이블 및 CSS 사용자 속성에서 밝음/어두움/시스템을 추론합니다.

접근 및 인라인 에셋​

공개 캡처에 접근하려면 로그인하세요. 공개된 버전만 사용할 수 있습니다.

MCP 액세스 토큰으로 /mcp-assets/*와 /mcp-transfers/*의 파일을 다운로드하세요. 원격 클라이언트는 상대 다운로드 URI를 MCP 서버 origin에 대해 해석하고 같은 Bearer 토큰을 보냅니다. 서버 측 path나 starterPath 대신 반환된 다운로드 URI를 사용하고 HTML 또는 CSS에서 참조하기 전에 에셋을 로컬에 저장하세요.

다운로드 링크는 요청한 계정에 속합니다. 링크가 만료되었다면 공개 캡처의 새 참조를 요청하세요.

get_element_asset(includeContent=true)는 작은 에셋의 인라인 콘텐츠를 반환합니다. 큰 에셋은 다운로드 참조로 반환됩니다. 배경 및 마스크 데이터 이미지도 에셋 참조로 반환됩니다.

제품 요청​

OAuth로 로그인하거나 MCP 범위 개인 토큰을 사용하세요. 계정의 요청을 제출하고 자신의 요청을 읽으며 Platform과 동일한 공개 요청을 볼 수 있습니다.

도구매개변수결과
get_request_options없음capture-options.requestPlatforms에서 가져오는 요청용 지원 platforms[]
create_product_request필수 requestType, platform, environment; 선택적 product="", url="", subject="", payloadJson=""생성된 대기 요청, requestId, 검토 및 안전 상태
get_product_request필수 requestId; scope="mine" 또는 "public"본인 요청의 검토/안전 상세 정보 또는 다른 사용자의 공개 요청 필드
list_product_requestsscope="mine" 또는 "public", pageSize=50, pageToken=""선택된 범위의 최신순 요청 및 nextPageToken; 최대 페이지 크기 200
wait_product_request필수 requestId, knownStatus; waitSeconds=20{request, changed, terminal, timedOut}; 최대 30초 대기

requestType="add"에는 공개 HTTPS url을 제공하고 product는 비워 두세요. 선택적인 subject를 생략하면 URL에서 생성합니다. requestType="update"에는 기존 공개 제품 키를 제공하세요. Reconstruct가 이름과 소스 URL을 구합니다. get_request_options가 반환한 ID를 사용하세요. 네이티브 캡처가 있어도 현재 요청은 Web만 지원합니다.

요청에는 대상 구독과 안전한 제품 URL이 필요합니다. 활성 중복 요청은 거부될 수 있습니다. 제출은 검토 요청을 만들며 캡처를 즉시 시작하지 않습니다. 사용자가 요청한 경우에만 제출하세요. 요청 도구는 컨텍스트 읽기를 소비하지 않습니다.

기본값인 scope="mine"으로 자신의 요청과 검토/안전 상세 정보를 읽으세요. scope="public"은 다른 사용자 요청을 탐색하며 응답에서 소유자 신원, 비공개 상세 정보, 안전 메모 및 검토 사유를 제외합니다. 공개 payloadJson은 플랫폼과 환경 옵션만 포함합니다. 두 범위 모두 캡처 작업 자체는 공개하지 않습니다.

페이지를 더 읽으려면 반환된 nextPageToken을 같은 scope의 pageToken으로 전달하세요. 빈 nextPageToken은 다음 페이지가 없다는 뜻입니다. 다른 범위의 토큰은 거부됩니다. wait_product_request는 여전히 본인 요청만 지원합니다.

status는 pending, approved 또는 rejected입니다. 승인과 거절은 검토 완료를 뜻하지만 승인이 캡처 데이터 준비 완료를 의미하지는 않습니다.

wait_product_request는 상태 변경, 검토 완료 또는 시간 초과 시 반환됩니다. 시간 초과 후에는 요청 ID를 보관하고 다시 호출하여 계속 기다리세요. 캡처 가용성은 카탈로그 도구로 따로 확인하세요.

{"requestType":"add","url":"https://example.com/","platform":"desktop","environment":"web"}
{"requestType":"update","product":"existing-product-key","platform":"mobile","environment":"web"}
{"requestId":"<returned UUID>","knownStatus":"pending","waitSeconds":20}