안녕하세요.
웹사이트를 AI 에이전트와 함께 다루려면 보통 화면을 클릭하게 하거나, 별도의 API와 MCP 서버를 연결해야 했습니다.
최근 OpenAI 문서에 소개된 Site tools는 이 흐름에 한 가지 선택지를 더합니다.
웹사이트가 현재 페이지에서 할 수 있는 작업을 구조화된 도구로 등록하고, ChatGPT Work나 Codex가 그 도구를 발견해 실행하는 방식입니다.
이때 사용되는 제안 규격이 WebMCP입니다.
아래 이미지는 OpenAI가 공개한 Site tools 문서의 대표 이미지입니다.

WebMCP는 무엇인가
WebMCP는 웹페이지가 자신의 기능을 AI 에이전트에게 도구 형태로 제공하는 웹 API 제안입니다.
예를 들어 문서 편집기는 특정 섹션 찾기, 수정 제안하기, 댓글 남기기 같은 작업을 도구로 등록할 수 있습니다.
대시보드라면 날짜 범위를 바꾸거나 차트의 원본 데이터를 읽는 기능을 제공할 수 있죠.
OpenAI의 Site tools는 이 WebMCP 제안을 ChatGPT 데스크톱 앱의 내장 브라우저에 구현한 기능입니다.
사용자와 에이전트가 같은 페이지와 로그인 세션을 보면서 작업한다는 점이 핵심입니다.
다만 2026년 9월 1일 현재 WebMCP는 W3C 정식 표준이 아니라 Web Machine Learning Community Group의 초안 보고서입니다.
OpenAI 내장 브라우저도 전체 규격이 아닌 일부 API만 지원하므로, 이미 완성된 범용 표준처럼 이해하면 안 됩니다.
기존 MCP와 무엇이 다른가
이름은 비슷하지만 MCP와 WebMCP는 연결되는 위치와 수명주기가 다릅니다.
차이를 한눈에 보면 아래와 같습니다.

MCP는 로컬이나 원격 서버가 도구를 제공하므로 특정 웹페이지를 열지 않아도 동작할 수 있습니다.
서비스 전체를 검색하거나 레코드를 관리하는 백그라운드 통합에 잘 맞습니다.
반대로 WebMCP의 도구는 현재 열려 있는 페이지가 제공합니다.
에이전트가 그 페이지를 방문했을 때 도구를 발견하고, 화면 상태와 로그인 세션을 그대로 활용합니다.
그래서 캔버스 편집, 대시보드 탐색, 문서 공동 작업처럼 사용자와 AI가 같은 화면을 봐야 하는 작업에 적합합니다.
둘 중 하나를 선택해야 하는 관계는 아닙니다.
한 서비스가 페이지 안의 작업은 WebMCP로 제공하고, 페이지와 무관한 서비스 통합은 MCP 서버로 함께 제공할 수도 있습니다.
브라우저에서는 어떻게 동작하나
WebMCP 도구가 실행되는 흐름은 다음과 같습니다.

- 웹사이트가 현재 페이지의 JavaScript에서 도구를 등록합니다.
- 내장 브라우저가 도구의 이름, 설명, 입력 스키마를 발견합니다.
- ChatGPT Work나 Codex가 사용자 요청에 맞는 도구와 인자를 선택합니다.
- 브라우저가 호출을 중개하고 실행 전 안전 검토를 거칩니다.
- 페이지의 기존 앱 로직이 실행되고, 에이전트는 반환값과 화면 변화를 확인합니다.
내장 브라우저 주소 표시줄의 Site tools 메뉴를 열면 현재 사이트가 제공하는 도구를 볼 수 있습니다.
Available site tools에서는 개별 도구를 확인하고, 최근 사용 기록이 제공되는 경우 Recently used의 Sources에서 호출 내역도 살펴볼 수 있습니다.
도구는 등록한 페이지에 속합니다.
페이지를 닫거나 다른 곳으로 이동하면 해당 도구를 더 이상 사용할 수 없을 수 있습니다.
적절한 도구가 없을 때는 일반 브라우저 조작으로 작업할 수 있지만, 그 동작은 WebMCP 도구 호출과는 구분됩니다.
웹사이트에는 어떻게 추가하나
가장 단순한 형태는 페이지의 JavaScript 모듈에서 지원 여부를 확인한 뒤 document.modelContext.registerTool()로 도구를 등록하는 것입니다.
아래 예시는 현재 페이지 제목을 읽어 반환합니다.
if (typeof document.modelContext?.registerTool === "function") {
await document.modelContext.registerTool({
name: "get_page_title",
description: "현재 페이지 제목을 읽습니다.",
inputSchema: {
type: "object",
properties: {},
additionalProperties: false,
},
annotations: { readOnlyHint: true },
execute: async () => ({ title: document.title }),
});
}
name과 description은 에이전트가 도구를 고를 때 사용하는 정보입니다.
inputSchema는 허용할 인자를 좁게 정의하고, execute는 실제 앱 기능을 호출합니다.
새로운 우회 경로를 따로 만들기보다 기존 애플리케이션의 인증, 권한 확인, 입력 검증 로직을 그대로 재사용하는 편이 안전합니다.
실행 결과에는 에이전트와 사용자가 작업 성공 여부를 확인할 수 있는 정보도 담아야 합니다.
지원하지 않는 브라우저와 일반 사용자를 위한 기존 UI 역시 그대로 유지해야 합니다.
처음부터 많은 도구를 만들 필요는 없습니다.
사람이 현재 UI에서 이미 수행할 수 있는 읽기 작업 하나부터 등록해 보는 것이 이해하기 쉽습니다.
현재 사용할 때 알아둘 점
2026년 9월 1일 기준으로 OpenAI의 Site tools를 사용하려면 다음 조건을 확인해야 합니다.
- 최신 ChatGPT 데스크톱 앱의 내장 브라우저를 사용해야 합니다.
- ChatGPT Work 또는 Codex에서 사용할 수 있습니다.
- 모델은 GPT-5.6 Sol 또는 GPT-5.6 Terra를 사용해야 합니다.
- GPT-5.6 Luna에서는 현재 WebMCP가 비활성화되어 있습니다.
- Enterprise와 Edu 워크스페이스에서는 제공되지 않습니다.
- 실제 사용 가능 여부는 단계적 배포와 현재 페이지가 제공하는 도구에 따라 달라집니다.
현재 내장 브라우저에는 구현 제한도 있습니다.
HTML 폼 속성으로 도구를 정의하는 Declarative API는 Site tools로 노출되지 않습니다.
동일 출처와 교차 출처를 포함해 iframe 안에서 등록한 도구도 발견하지 않습니다.
따라서 지금은 최상위 페이지의 JavaScript에서 도구를 등록해야 합니다.
도구 이름만 보고 안전하다고 믿으면 안 된다
웹사이트가 제공하는 도구 설명과 실행 결과는 신뢰할 수 없는 콘텐츠로 취급해야 합니다.
도구 이름이 읽기 전용처럼 보이거나 readOnlyHint가 붙어 있어도 실제 동작을 보증하지는 않습니다.
OpenAI 내장 브라우저는 각 호출을 실행하기 전에 안전 검토를 거칩니다.
메시지 전송, 구매, 삭제, 권한 변경처럼 결과가 큰 작업에는 기존 접근 제어와 확인 정책도 계속 적용됩니다.
다만 이런 검사가 사이트 자체를 신뢰할 수 있게 만들어 주는 것은 아닙니다.
개발자는 입력을 최소화하고 부수 효과를 설명하며, 기존 권한과 검증을 우회하지 않아야 합니다.
사용자는 Settings > Browser > Permissions > Enable site tools에서 이 기능을 끌 수 있습니다.
WebMCP는 별도 서버 연결 없이 현재 웹페이지의 기능을 에이전트에게 전달한다는 점에서 흥미로운 접근입니다.
아직 제안 단계이고 지원 범위도 제한적이지만, AI와 사람이 같은 화면을 보며 작업해야 하는 웹앱이라면 작은 읽기 도구부터 시험해 볼 만합니다.
참고 문서
'DevLog' 카테고리의 다른 글
| 이커머스 DB 스키마 구성 전략: Olist 사례 분석 (3) | 2025.06.04 |
|---|---|
| 잘못 만든 AWS 인스턴스 청구 요금 면제 받기 (3) | 2024.12.20 |
| SQL 코딩 테스트 연습 - 10월 셋째 주 (3) | 2024.10.21 |
| Selenium을 활용한 크림 판매정보 크롤링 (2) | 2024.09.11 |
