본문으로 이동

BLOG / sku-md-v0-10-webmcp-product-knowledge-and-page-actions.mdx

SKU.md v0.10 × WebMCP: 방문 전 상품 이해와 페이지에서 수행하는 구조화된 동작

SKU.md v0.10이 방문 전에 지속적이고 감사 가능한 상품 지식을 제공하고, WebMCP가 페이지를 연 뒤 현재 사용자에게 보이는 동작을 노출하는 방식을 설명합니다.

게시일

원래 사양 버전: v0.10

구매자가 에이전트에게 아이 방에 적합하고 교체형 필터가 있으며 특정 크기의 방에서 사용할 수 있는 조용한 공기청정기를 찾아 달라고 요청했다고 가정해 봅시다. 상점을 열기 전에 에이전트는 상품 사실과 광고 문구를 확실히 구분해야 합니다. 어떤 모델과 Variant가 조건에 맞는지, 소음 측정값이 무엇을 뜻하는지, 어떤 증거가 주장을 뒷받침하는지, 답변에 어떤 제한을 포함해야 하는지 알아야 합니다. 상품 페이지를 열면 과제가 달라집니다. 구매자는 필터 크기를 선택하고, 화면에 보이는 사양을 비교하고, 식별된 Variant를 Cart에 추가하도록 페이지에 요청할 수 있습니다. 첫 번째 문제는 지속적인 상품 이해이고, 두 번째 문제는 현재 페이지와 안전하게 상호작용하는 일입니다.

SKU.md v0.10과 WebMCP는 이 인계 지점에서 만나지만 같은 것이 되지는 않습니다. SKU.md는 판매자가 게시하는 상품 지식과 증거 계층입니다. WebMCP는 이미 사용자 앞에 열린 페이지에서 동작을 제공하는 브라우저 페이지 API입니다. 신뢰할 수 있는 에이전트는 전자로 증거에 근거한 의도를 만들고, 후자로 범위가 좁고 눈에 보이는 페이지 동작을 실행한 다음, 값이 달라질 수 있는 판단에는 실시간 커머스 시스템으로 돌아갑니다.

구매는 탭을 열기 전에 시작됩니다

첫 질문은 대부분 “어떤 버튼을 눌러야 하는가?”가 아닙니다. 이미 가진 기기와 상품이 호환되는지, 소재 관련 주장이 특정 시험으로 뒷받침되는지, 아동 안전 경고가 특정 구성에도 적용되는지 물을 수 있습니다. 이런 질문은 탭을 열기 전에 답할 수 있어야 하며, 답에는 출처, 적용 범위, 검토 날짜가 남아야 합니다. 유용한 상품 설명 옆에 있었다는 이유만으로 오래된 가격 표시나 재고 문구에 현재 견적의 권한을 주어서는 안 됩니다.

그것이 SKU.md v0.10의 역할입니다. 안정적인 Product, Variant, SKU, GTIN 식별자를 판매자가 검토한 사실, 주장, 고지 사항, 호환성 안내, 출처 자료, 검증 시각과 연결할 수 있습니다. 에이전트가 방문을 계획하거나, 구매자의 조건에 따라 상품을 비교하거나, 인용이 있는 설명을 준비하거나, 정확한 모델을 대상으로 하는지 확인할 때 유용합니다. 하지만 실행 가능한 세션도, 실시간 재고 응답도, 구매 지시도 아닙니다.

WebMCP는 그다음부터 시작합니다. Chrome의 WebMCP 개요는 브라우저 페이지 컨텍스트가 필요하다는 실용적 제한을 명확히 밝힙니다. 페이지가 이미 열려 있어야 합니다. 로컬 또는 원격 브라우저 세션이 이 컨텍스트를 제공할 수 있지만, WebMCP는 백엔드 API, 오프라인 호출 또는 방문 전 탐색 수단이 아닙니다. 즉 WebMCP는 백엔드 MCP 전송도, 정적 도구 목록도, 사이트 간 탐색도 아닙니다. 활성 페이지가 현재 UI 상태에서 의미 있는 동작을 노출하는 방법입니다.

이 구분은 편리해 보이지만 위험한 지름길을 막습니다. 에이전트가 SKU.md 기능 선언을 읽고 존재하지 않는 도구 호출을 지어내 사용자가 열지 않은 판매자 사이트를 조작할 수는 없습니다. 판매자 역시 오늘의 버튼 이름과 출력 Schema를 지속적인 상품 문서에 게시해서는 안 됩니다. 문서를 읽고 페이지를 방문하는 사이 사용자는 표시 언어를 바꾸고, 로그인하고, Variant를 선택하고, Cart를 비우거나 권한을 잃을 수 있습니다. 지금 어떤 동작이 존재하는지 아는 것은 문서가 아니라 실행 중인 페이지입니다.

WebMCP가 노출하는 것과 노출하지 않는 것

WebMCP Community Group 초안은 웹 애플리케이션이 에이전트에게 제공하는 JavaScript 기반 도구를 정의합니다. Imperative API는 document.modelContext.registerTool()로 도구를 등록합니다. 페이지는 이름, 설명, 입력 Schema, 실행 콜백, 선택적 주석을 제공합니다. 애플리케이션 로직, 상태 검사, 화면 이동 또는 세심하게 구조화된 결과가 필요한 동작에 적합합니다.

Declarative API는 일반 HTML 양식에 의미를 더합니다. toolname 속성은 동작 이름을, tooldescription은 목적을 설명합니다. 에이전트가 이를 호출하면 브라우저가 화면에 보이는 양식으로 초점을 옮겨 입력란을 채우므로 사용자는 어떤 일이 일어날지 확인할 수 있습니다. 어느 속성이든 제거하면 도구 등록이 해제됩니다. 상품 지원이나 식당 예약처럼 범위가 정해진 요청에는 유용하지만, 자율 브라우저가 검토 없이 모든 상거래 약속을 완료할 수 있다고 가장하는 기능은 아닙니다.

Chrome DevTools for agents는 디버깅 수단으로만 관련됩니다. 설정 문서는 검사와 테스트를 위해 에이전트를 Chrome에 연결하는 MCP 서버를 설명합니다. 이는 별도의 MCP 디버깅 브리지이며 판매자의 WebMCP 도구 엔드포인트도, 상품 탐색 프로토콜의 대안도 아닙니다. 팀이 등록 내용을 검사하고 개발 도구를 호출하며 구조화된 출력을 검토하는 데 도움을 줄 수 있지만, 페이지 도구를 백엔드나 오프라인 커머스 API로 바꾸지는 않습니다.

공식 데모를 보면 경계가 구체적으로 드러납니다. Smart Home 데모rearrangeDOMComponents 도구를 등록해 모의 대시보드에서 보이는 구성 요소를 바꾸지만 실제 기기를 제어하지 않습니다. French Bistro 데모는 날짜, 시간, 인원수, 좌석 선호, 특별 요청을 포함한 선언적이고 눈에 보이는 예약 요청 양식을 보여 주며, 기본 지원이 없을 때는 데모 페이지에서 폴리필을 사용합니다. 복잡한 페이지 상호작용을 구조화된 의도에 대응시킬 수 있음을 보여 주지만, 보편적 탐색, 사이트 간 실행, 확실한 이행, 결제 승인 또는 완료된 상거래를 입증하지는 않습니다. 데모는 실제 거래가 아닙니다.

명확한 책임 분담표

다음 분리는 의도적인 것입니다. 편리한 한 계층이 다른 계층에 권한이 있는 질문까지 답하게 하지 않기 위해서입니다.

대상 권한 있는 책임 에이전트가 해야 할 일
SKU.md 지식 증거: 검토된 사실, 주장, 고지 사항, 호환성, 출처, 안정적인 식별자. 설명하고 인용하며 정확한 Product, Variant, SKU, GTIN을 식별합니다.
WebMCP와 보이는 UI 현재 페이지 도구와 사용자에게 보이는 상호작용 상태. 페이지를 연 뒤 등록된 도구를 찾고 범위가 정해진 페이지 동작을 수행합니다.
실시간 Catalog와 판매자 백엔드 현재 가격, 재고, 자격, 배송 선택지, 세금 입력, 계정별 규칙. 정적 스냅샷을 믿지 말고 다시 조회합니다.
Checkout 최종 가격, 배송, 세금, 결제 승인, 동의, 구매 확인. 최종 상태를 제시하고 확인 경계를 유지합니다.

SKU.md의 출처 있는 문장은 제조사 권장 가격을 과거 또는 검토된 사실로 설명할 수 있지만 현재 가격이 되지는 않습니다. 재고, 약속된 배송 기간, 프로모션, 세금도 마찬가지입니다. 유용한 배경일 수 있지만 현재 Catalog, 백엔드 또는 Checkout 경로가 반환할 때만 실시간 상거래 사실입니다.

v0.10이 실제로 선언하는 것

SKU.md v0.10에는 방문 후 페이지 기능을 사용할 수 있음을 알리는 좁은 방법이 있습니다. capabilities[] 항목은 protocol: webmcp를 사용하고, page_runtime을 식별하며, scopepage_url_patterns로 기능을 제한하고, requires_user_presence: true를 요구할 수 있습니다. 이는 접근 힌트입니다. 사용자가 일치하는 URL을 연 후 판매자가 관련 페이지 런타임 기능을 노출할 수 있음을 소비자에게 알립니다.

의도적으로 동적 인터페이스를 복사하지 않습니다. 도구 이름, 입력·출력 Schema, 도구 설명, 등록 상태는 활성 페이지 실행 환경에 속하며 SKU.md에 복사되지 않습니다. v0.10 JSON Schema는 기계 판독 문서의 경계를 정의하고 영문 v0.10 사양만 규범 문서입니다. 실행 환경의 세부 사항을 SKU.md 밖에 두어 오래된 문서가 현재 도구 계약인 것처럼 가장하지 못하게 합니다. 소비자는 page_url_patterns를 탐색용 힌트로 취급해야 하며, 공개되지 않은 동작을 호출할 권한이나 나열된 모든 페이지가 지금 도구를 등록한다는 약속으로 보아서는 안 됩니다.

이 분담은 원칙뿐 아니라 실용적인 이유도 있습니다. 상품 페이지는 Variant를 고르기 전에 읽기 전용 비교 도구 하나를 등록하고, 선택이 유효해지면 구성 도구로 바꾸며, Cart 상태가 달라지면 동작 등록을 해제할 수 있습니다. 현재 도구 집합은 로그인 상태, 표시 언어, 재고, 접근성, 동의 상태를 반영할 수 있습니다. 정적 문서는 이를 안전하게 할 수 없습니다.

에이전트의 전체 경로

에이전트는 권한을 지어내지 않고 다음 순서를 따를 수 있습니다.

  1. SKU.md와 그 증거, 고지 사항, 적용 범위를 읽습니다.
  2. 정확한 Product, Variant, SKU, GTIN을 식별하고, 정체성이 모호하면 추측하지 말고 질문합니다.
  3. 사용자가 함께 있는 상태에서 안전한 페이지 URL 패턴에 맞는 판매자 페이지를 엽니다.
  4. 활성 페이지가 실제로 등록한 도구를 찾습니다.
  5. 요청된 페이지 동작과 설명이 맞는 도구 하나를 고른 뒤 보이는 UI에서 실행합니다.
  6. 현재 커머스 상태를 확인하기 위해 실시간 Catalog 또는 판매자 백엔드로 돌아갑니다.
  7. 최종 합계, 세금, 배송, 결제 승인에는 Checkout을 사용하고 마지막 사용자 확인을 받습니다.

이 단계는 하나의 “구매” 도구가 아닙니다. 도구는 식별된 Variant를 선택하고, 현재 보이는 비교 내용을 설명하고, 예약 요청을 시작하거나 Cart 화면을 열 수 있습니다. 최종 구매에는 새로운 견적과 거래를 확정하는 시점에 유효한 확인이 필요합니다. 최종 구매에서는 toolautosubmit 사용을 권장하지 않습니다. Declarative API 양식이 자동 제출을 지원하더라도, 이는 브라우저 동작일 뿐 판매자가 서버 측 검사나 구매자의 최종 결정을 생략해도 된다는 근거는 아닙니다.

경계를 유지하는 판매자 실무

첫째, 사람이 검토한 상품 사실과 증거를 게시합니다. 안정적인 식별자가 중요한 이유는 좋은 설명도 비슷한 모델이나 임의의 색상·사이즈 Variant에 안전하게 적용할 수 없기 때문입니다. 중요한 주장마다 출처와 제한을 포함하고, 에이전트가 광고 문구에서 추론하게 하지 말며, 고지 사항을 유지합니다. 사실 자체가 바뀌면 문서를 검토하고 갱신하되, 실시간 상태는 그 상태를 소유한 시스템에 맡깁니다.

둘째, 페이지 도구는 각각 하나의 책임만 맡도록 설계합니다. “식별된 Variant 선택”이나 “호환성 설명 표시”는 이해하기 쉽습니다. “검색, 구성, 할인, 결제, 주문”은 한 번의 호출 안에 너무 많은 약속을 숨깁니다. 사용자에게 보이는 상태에서 유효할 때만 도구를 등록하고 상태가 달라지면 등록을 해제합니다. 도구 메타데이터도 신뢰할 수 없는 입력입니다. 간결하고 정확한 설명과 Schema는 모호성을 줄이지만 프롬프트 인젝션이나 구현 위험을 없애지는 않습니다.

마지막으로 readOnlyHintuntrustedContentHint는 힌트일 뿐 보안 보장이 아닙니다. 읽기 전용 표시는 구현이 변경을 일으키지 않는다고 증명하지 않고, 신뢰할 수 없는 콘텐츠 표시는 출력을 무해하게 만들지 않습니다. 서버 측 검증, 권한 부여, 멱등성 처리, 부정 사용 방지, 감사 로그, 명시적인 고위험 확인을 유지합니다. 페이지는 효과를 정직하게 설명하고 백엔드는 비즈니스 규칙을 독립적으로 강제해야 합니다.

순위 주장이 아니라 보완 관계를 평가합니다

가치 있는 비교는 동일하고 범위가 제한된 구매 시나리오에서 WebMCP 단독과 WebMCP+SKU.md를 비교하는 것입니다. 에이전트가 요청된 Product와 Variant를 맞추는지, 올바른 출처를 인용하는지, 제한과 증거를 공개하는지, 적절한 현재 페이지 도구를 고르는지, 만료된 견적을 거부하는지, 확인 경계를 유지하는지 측정합니다. 테스트 데이터, 통제된 페이지, 기록으로 남긴 사람의 검토 결과로 확인할 수 있는 관찰 가능한 결과입니다.

이 평가를 순위, 구매 전환율 또는 채택 주장으로 바꾸어서는 안 됩니다. WebMCP는 이미 열린 인터페이스를 더 쉽게 조작하도록 만들 수 있습니다. SKU.md는 방문 전 상품 이해를 더 지속적이고 감사 가능하게 만들 수 있습니다. 어느 하나도 구매를 보장하지 않으며, 둘을 함께 사용해도 실시간 Catalog, 판매자 백엔드, Checkout을 대체하지 않습니다. 실용적인 약속은 더 좁고 그만큼 강합니다. 방문 전에 구매자가 뜻하는 상품을 알고, 페이지를 연 뒤 구매자가 볼 수 있는 현재 상태에 따라 행동합니다.

구현 가용성과 등록 세부 사항은 배포 시점의 Chrome WebMCP 오리진 트라이얼을 확인하십시오. 시험 제공 범위와 브라우저 동작은 바뀔 수 있습니다.

더 읽기

상품 지식에서 WebMCP 작업과 Checkout으로 이어지는 경계는 AI 커머스 권한 인계에서 확인하세요.