한국어

사이트 도구

사이트 도구는 제안된 WebMCP 표준을 ChatGPT에서 구현한 기능입니다. WebMCP를 사용하면 웹사이트에서 사람들이 이미 사용하는 인터페이스와 함께 유용한 작업을 AI 에이전트에 직접 제공할 수 있습니다. 사용자와 에이전트가 동일한 실시간 페이지와 로그인된 세션에서 함께 작업할 수 있습니다.

ChatGPT 데스크톱 앱의 내장 브라우저에서 ChatGPT Work와 Codex는 이러한 도구가 제공될 때 이를 찾아 사용할 수 있습니다.

WebMCP와 MCP 비교

Model Context Protocol (MCP)은 AI 애플리케이션을 로컬 또는 원격 서버에 연결합니다. 해당 도구는 서비스 검색이나 API를 통한 레코드 관리처럼 웹페이지가 열려 있지 않아도 독립적으로 작동할 수 있습니다.

WebMCP를 사용하면 웹사이트가 자체 기능을 사전 정의된 도구 집합으로 에이전트에 제공할 수 있습니다. 에이전트는 사이트를 방문할 때 이러한 도구를 찾을 수 있으므로, 사용자가 해당 기능을 이용하기 위해 별도의 MCP 서버를 설치하거나 다른 연결을 설정할 필요가 없습니다.

이 방식은 캔버스를 편집하거나 대시보드를 살펴볼 때처럼 사용자와 에이전트가 동일한 내용을 확인해야 하는 경우에 유용합니다. MCP 서버가 포함된 플러그인은 페이지가 열려 있지 않아도 작동하는 통합 기능을 제공할 수 있습니다. 웹사이트는 두 방식을 모두 지원할 수 있습니다.

브라우저에서 작동하는 방식

내장 브라우저에서 웹사이트를 열고 ChatGPT Work 또는 Codex에 작업 지원을 요청하세요. 페이지에서 사이트 도구를 제공하면 에이전트가 현재 보고 있는 웹사이트에서 관련 작업을 찾아 사용할 수 있습니다. 예를 들어 문서 편집기에서는 에이전트가 섹션을 찾거나 사용자가 검토할 댓글을 남길 수 있습니다.

브라우저의 주소 표시줄에서 사이트 도구를 선택하여 웹사이트에서 제공하는 기능을 확인하세요. 개별 도구를 살펴보려면 사용 가능한 사이트 도구를 선택합니다. 브라우저는 웹사이트가 각 요청을 실행하기 전에 요청을 검사하며, 에이전트는 페이지를 확인하여 변경된 내용을 파악할 수 있습니다. 최근 활동이 있으면 최근 사용 항목을 선택하여 소스를 열고 해당 호출을 검토하세요.

이 예에서는 사용 가능한 사이트 도구를 펼쳐 Margin에서 제공하는 도구를 살펴봅니다.

도구는 이를 제공하는 페이지에 속합니다. 페이지를 닫거나 다른 페이지로 이동하면 해당 도구를 사용할 수 없게 될 수 있습니다. 적합한 도구가 없더라도 에이전트가 일반적인 브라우저 기능을 사용할 수는 있습니다.

예시: OpenAI 문서 살펴보기

ChatGPT Learn과 OpenAI Developers는 문서를 찾고 읽기 위한 사이트 도구를 제공합니다. 작성기에서 ChatGPT에서 열기를 선택하면 전송할 준비가 된 다음 프롬프트와 함께 새 채팅 옆에 있는 데스크톱 앱의 브라우저에서 Learn이 열립니다.

프롬프트:

Find the documentation for building reusable skills, open the relevant page, and explain when I should turn a skill into a plugin.

에이전트는 다음 도구를 사용하여 관련 페이지를 검색하고 읽고 열 수 있습니다.

도구 기능
search_openai_docs OpenAI 문서를 검색합니다.
lookup_page 경로나 URL로 문서 페이지를 읽습니다.
lookup_context 현재 문서 경로와 선택한 텍스트를 읽습니다.
navigate_to_page 현재 문서 사이트에서 일치하는 페이지를 엽니다.
generate_custom_guide 사용자 지정 빌드 또는 학습 가이드를 시작하고 상태와 링크를 반환합니다.

Docs Agent는 사용자 지정 가이드를 비동기식으로 생성합니다. 링크를 받았다고 해서 생성이 완료된 것은 아닙니다.

보안 및 사용자 제어

웹사이트에서 제공하는 도구 정의와 결과는 신뢰할 수 없는 콘텐츠입니다. 도구의 이름이나 데이터를 읽기만 한다는 설명만으로 실제 동작을 입증할 수는 없습니다. 웹사이트의 지침은 에이전트에 관련 없는 정보를 공유하거나 민감한 작업을 수행할 권한을 부여하지 않습니다.

내장 브라우저에서는 각 도구 호출이 실행되기 전에 안전성 검토를 거칩니다. 메시지 전송, 구매, 데이터 삭제 또는 권한 변경처럼 중대한 결과를 초래할 수 있는 작업을 포함하여 일반적인 웹사이트 접근 및 확인 정책이 계속 적용됩니다. 브라우저는 각 호출을 호출이 시작된 페이지 및 도구 등록과 연결합니다. 이러한 검사는 위험을 줄이지만 웹사이트나 그 출력의 신뢰성을 보장하지는 않습니다.

Settings > Browser > Permissions에서 Enable site tools를 끌 수 있습니다. 민감한 정보를 공유하거나 변경 사항을 신뢰하기 전에 사이트, 요청된 작업 및 결과를 검토하세요.

보안 취약점은 OpenAI의 Security Bug Bounty 프로그램을 통해 신고하세요. AI 안전 위험에 대해서는 Safety Bug Bounty 프로그램을 참조하세요. 각 프로그램의 범위와 제출 지침을 따르세요.

웹사이트에 WebMCP 추가하기

Codex에 현재 작업 중인 웹 앱이나 Site에 WebMCP 지원을 추가해 달라고 요청할 수 있습니다. 에이전트가 수행할 수 있어야 하는 작업을 설명하고, 애플리케이션의 기존 로직과 권한을 재사용하도록 Codex에 요청하세요.

먼저 애플리케이션에서 이미 지원하는 작업부터 시작합니다. 예를 들면 다음과 같습니다.

  • 에이전트가 날짜 범위를 설정하고 차트의 기반 데이터를 살펴볼 수 있는 대시보드
  • 에이전트가 섹션을 찾거나 편집을 제안하거나 사용자가 검토할 댓글을 남길 수 있는 문서 편집기
  • 사용자가 지도를 살펴보는 동안 에이전트가 옵션을 비교하고 여행 일정을 업데이트할 수 있는 여행 플래너

직접 코드를 작성할 수도 있습니다. 페이지의 JavaScript 모듈에서 브라우저 지원 여부를 확인하고 도구를 등록하세요. 다음 읽기 전용 예시는 현재 페이지의 제목을 반환합니다.

if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "get_page_title",
    description: "Read the title of the current page.",
    inputSchema: {
      type: "object",
      properties: {},
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async () => ({ title: document.title }),
  });
}

호환되는 에이전트는 get_page_title 도구를 찾아 페이지의 현재 제목을 받을 수 있습니다. 인수를 받는 도구의 경우 입력 스키마에서 인수를 설명하고 execute 핸들러에서 이를 사용하여 애플리케이션의 기존 로직을 호출하세요.

입력 범위를 좁게 유지하고 부작용을 설명하며 결과를 검증하기에 충분한 정보를 반환하세요. 애플리케이션의 기존 인증, 권한 부여 및 입력 유효성 검사를 사용하세요. WebMCP를 지원하지 않는 사용자와 브라우저를 위해 일반 인터페이스를 유지하세요.

API 세부 정보와 예시는 WebMCP 명세Chrome 개발자 가이드를 참조하세요.