For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
기본 탐색

사이트 도구

WebMCP로 AI 에이전트가 웹사이트에서 직접 작업할 수 있도록 하세요

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

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

사이트 도구에는 GPT-5.6 Sol 또는 GPT-5.6 Terra를 사용하세요. 현재 GPT-5.6 Luna에서는 WebMCP가 비활성화되어 있습니다. ChatGPT 데스크톱 앱을 최신 버전으로 업데이트하세요. 엔터프라이즈 또는 Edu 워크스페이스에서는 사이트 도구를 사용할 수 없습니다. 사용 가능 여부는 기능 배포 진행 상황과 현재 페이지에서 제공하는 도구에 따라서도 달라집니다.

WebMCP와 MCP 비교

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

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

캔버스 편집이나 대시보드 탐색처럼 사용자와 에이전트가 같은 화면을 봐야 할 때 이 방식이 유용합니다. MCP 서버가 포함된 플러그인은 열려 있는 페이지와 독립적으로 작동하는 연동 기능을 제공할 수 있습니다. 웹사이트는 두 방식 모두 지원할 수 있습니다.

브라우저에서의 작동 방식

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

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

이 예시에서는 사용 가능한 사이트 도구를 펼쳐 Margin에서 제공하는 도구를 살펴보세요.

사이트 도구
사이트 도구는 ChatGPT가 이 웹사이트에서 더 정확하게, 더 적은 단계로 작업을 완료하도록 돕습니다. 자세히 알아보기

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

예시: OpenAI 문서 살펴보기

ChatGPT 학습과 OpenAI 개발자 사이트는 문서를 찾고 읽는 데 사용할 수 있는 사이트 도구를 제공합니다. Composer에서 ChatGPT에서 열기를 선택하면 데스크톱 앱의 브라우저에 학습 사이트가 열리고, 그 옆에 새 채팅이 열립니다. 새 채팅에는 이 프롬프트가 바로 보낼 수 있는 상태로 준비되어 있습니다.

에이전트는 다음 도구로 관련 페이지를 검색하고, 읽고, 열 수 있습니다:

도구기능
search_openai_docsOpenAI 문서를 검색합니다.
lookup_page경로나 URL로 문서 페이지를 읽습니다.
lookup_context현재 문서 경로와 선택한 텍스트를 읽습니다.
navigate_to_page현재 문서 사이트에서 일치하는 페이지를 엽니다.
generate_custom_guide맞춤형 개발 가이드나 학습 가이드 생성을 시작하고 상태와 링크를 반환합니다.

문서 에이전트는 맞춤형 가이드를 비동기로 생성합니다. 링크를 받았다고 해서 생성이 완료된 것은 아닙니다.

보안 및 사용자 제어 기능

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

내장 브라우저에서는 모든 도구 호출이 실행 전에 안전성 검토를 거칩니다. 메시지 전송, 구매, 데이터 삭제, 권한 변경처럼 중요한 영향을 미치는 작업에도 일반적인 웹사이트 접근 및 확인 정책이 그대로 적용됩니다. 브라우저는 각 호출을 출처 페이지 및 도구 등록 정보와 연결합니다. 이러한 검사는 위험을 줄이지만, 웹사이트나 그 출력 결과의 신뢰성을 보장하지는 않습니다.

설정 > 브라우저 > 권한에서 사이트 도구 사용 옵션을 끌 수 있습니다. 민감한 정보를 공유하거나 변경 사항을 신뢰하기 전에 사이트, 요청된 작업, 결과를 검토하세요.

보안 취약점은 OpenAI의 보안 버그 바운티 프로그램을 통해 신고하세요. AI 안전성 위험에 대해서는 안전성 버그 바운티 프로그램을 참고하세요. 각 프로그램의 범위와 제출 지침을 따르세요.

제한 사항

ChatGPT의 내장 브라우저는 현재 WebMCP API 중 일부만 지원합니다. 다음 기능은 지원하지 않습니다:

  • 선언적 API: HTML 폼 속성으로 정의한 도구는 사이트 도구로 사용할 수 없습니다.
  • iframe 내부의 도구: 브라우저는 동일 출처 및 교차 출처 iframe을 포함해 iframe 내부에 등록된 도구를 찾지 않습니다.

다음 섹션의 예시처럼 JavaScript를 사용해 최상위 페이지에 도구를 등록하세요. ChatGPT Work와 Codex는 일반적인 브라우저 기능으로 폼과 상호작용할 수는 있지만, 이러한 상호작용은 WebMCP 도구 호출이 아닙니다.

WebMCP 사양과 Chrome 개발자 가이드는 내장 브라우저에서 현재 지원하지 않는 기능을 포함해 더 넓은 범위의 API를 다룹니다.

웹사이트에 WebMCP 추가하기

작업 중인 웹 앱이나 Site에 WebMCP 지원을 추가해 달라고 Codex에 요청할 수 있습니다. 에이전트가 수행할 수 있어야 하는 작업을 설명하고, 애플리케이션의 기존 로직과 권한을 재사용하도록 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 개발자 가이드를 참고하세요.