Safari Technology Preview 247: Safari MCP 서버 소개

Safari Technology Preview 247: Safari MCP 서버 소개

Apple은 Safari Technology Preview 247에서 Safari MCP 서버를 출시하여 AI 에이전트가 Safari 브라우저 창과 직접 상호작용할 수 있도록 했습니다. 이 통합을 통해 에이전트는 실시간 브라우저 데이터에 액세스하여 웹 애플리케이션을 자율적으로 디버깅할 수 있으며, 개발자가 브라우저 상태를 LLM에 수동으로 전달해야 하는 필요성을 줄여줍니다.

자율 웹 디버깅 및 테스트

Safari MCP 서버는 AI 에이전트에게 코드가 Safari에서 어떻게 렌더링되는지에 대한 직접적인 가시성을 제공함으로써, 브라우저, 개발자 도구, 코드 에디터 사이를 전환하는 반복적인 과정인 "디버깅 댄스"를 제거합니다. 이를 통해 에이전트는 다음과 같은 고가치 작업을 자율적으로 수행할 수 있습니다:

  • Cross-Browser Compatibility: 에이전트는 개발자가 수동으로 창을 전환하지 않고도 Safari에서 계산된 스타일과 레이아웃을 검사하여 브라우저별 버그를 식별하고 수정할 수 있습니다.
  • Performance Analysis: 페이지의 JavaScript를 평가함으로써, 에이전트는 탐색 타이밍과 리소스 로드 시간을 파악하여 성능 병목 현상을 찾아낼 수 있습니다.
  • Accessibility Auditing: 에이전트는 누락된 레이블, 부적절한 ARIA 속성, 낮은 색상 대비를 자동으로 스캔할 수 있습니다.
  • State Verification: 에이전트는 선택자를 사용하여 요소를 쿼리하고, 폼 상태를 확인하며, 복잡한 사용자 흐름(예: 결제 프로세스)을 검증하여 애플리케이션이 예상대로 작동하는지 확인할 수 있습니다.

사용 가능한 MCP 도구

Safari MCP 서버는 MCP 호환 클라이언트가 브라우저를 제어하고 데이터를 추출하는 데 사용할 수 있는 포괄적인 도구 세트를 제공합니다:

Tool Description
browser_console_messages 현재 또는 지정된 탭의 버퍼링된 콘솔 로그를 반환합니다
browser_dialogs 브라우저 다이얼로그를 나열하고 응답합니다 (accept, dismiss, 또는 input text)
evaluate_javascript 페이지 내에서 JavaScript 코드를 실행하고 결과를 반환합니다
get_network_request 기록된 단일 네트워크 요청에 대한 전체 세부 정보(헤더, 본문, 타이밍)를 가져옵니다
get_page_content Markdown, HTML 또는 JSON과 같은 형식으로 페이지 텍스트를 추출합니다
list_network_requests 네트워크 요청 요약(URL, method, status, timing)을 나열합니다
page_interactions DOM 상호작용(click, type, scroll, hover, keyPress)을 수행합니다
screenshot 현재 페이지의 PNG 스크린샷을 캡처합니다
set_viewport_size CSS 픽셀 단위로 브라우저 뷰포트 크기를 설정합니다
navigate_to_url URL로 이동하고 로드된 페이지 콘텐츠를 반환합니다

다른 사용 가능한 도구로는 close_tab, create_tab, list_tabs, page_info, set_emulated_media, switch_tab, 및 wait_for_navigation이 있습니다.

설치 및 설정

Safari MCP 서버를 사용하려면 사용자는 Safari Technology Preview를 설치하고 다음 설정을 활성화해야 합니다:

  1. Advanced: "Show features for web developers"를 활성화합니다.
  2. Developer: "Remote automation and external agents"를 활성화합니다.

구성 예시

Claude의 경우, 다음 터미널 명령어를 사용하십시오: claude mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

Codex의 경우, 다음을 사용하십시오: codex mcp add safari-mcp-stp -- "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver" --mcp

다른 에이전트의 경우, mcp.json 또는 config.json 파일에 다음을 추가하십시오:

{
  "safari-mcp-stp": {
    "command": "/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver",
    "args": ["--mcp"]
  }
}

개인정보 보호 및 보안

Safari MCP 서버는 사용자의 로컬 머신에서 실행되며 독립적인 네트워크 호출을 하지 않습니다. AutoFill 또는 일반 브라우저 기록과 같은 개인적인 Safari 데이터에 액세스할 수 없습니다. 캡처된 모든 데이터(스크린샷, 로그, 페이지 콘텐츠)는 실행 중인 에이전트에게 직접 전송됩니다. Apple은 이 데이터를 받지 않습니다. 에이전트가 브라우저 상태에 대한 전체 액세스 권한을 갖게 되므로, 사용자는 신뢰할 수 있는 에이전트만 사용하도록 권장됩니다.

커뮤니티 관점 및 대안

Safari MCP 서버가 Apple 생태계 개발자들에게 네이티브 Path를 제공하지만, 커뮤니티는 기존의 대안안과 브라우저 자동화의 광 넓은 트렌드를 강조했습니다:

  • Cross-Browser Tooling: 일부 개발자들은 이미 다른 브라우저를 위한 유사한 MCP 서버를 사용하고 있으며, Safari를 추가함으로써 Chrome 및 Firefox MCP 서버와 함께 호환성 테스트 스위트를 완성하게 된다고 언급했습니다.
  • Existing Drivers: 일부 사용자들은 safaridriver가 W3C WebDriver 구현체로서 수년 동안 존재해 왔지만, MCP 구현은 LLM을 위한 인터페이스를 단순화한다는 점을 지정했습니다.
  • Alternative Frameworks: 일부 개발자들은 더 빠른 실행 속도를 위해 Playwright-CLI를 사용하거나 Chrome DevTools Protocol (CDP)와 직접 상호작용하는 것을 선호합니다.

Sources