Skip to main content
Glama
rodneyrdx

safari-ios-webinspector-mcp

by rodneyrdx

Safari iOS Web Inspector MCP

macOS 전용 MCP 서버로, Safari Web Inspector를 통해 iPhone Safari 및 iPhone Chrome 세션을 검사하고 자동화합니다.

상태

이 저장소에는 다음 기능을 갖춘 최초 구현이 포함되어 있습니다.

  • macOS, Xcode, idevice_id, ios_webkit_debug_proxy 환경 검사

  • libimobiledevice에서 가져온 실제 UDID 및 iOS 버전으로 신뢰 기기 정보 보강

  • iOS WebKit 브리지 수명주기 관리

  • ios_webkit_debug_proxy를 통한 기기 및 페이지 검색

  • Apple safaridriver를 통한 관리형 iPhone Safari 세션

  • 원시 WebKit Automation 도메인을 통한 관리형 iPhone Safari 세션

  • 프로토콜 기반 런타임 평가, 콘솔 캡처 및 네트워크 이벤트 버퍼링

  • 런타임에 주입된 JavaScript를 통한 DOM 스냅샷 및 페이지 수준 자동화

  • 크래시 감지, 재시도 및 스크린샷을 위한 Safari/Web Inspector UI 폴백

  • 디버그 번들 내보내기

현재 제한 사항:

  • 브리지는 프로토콜 우선 방식으로 실용적으로 구현되었습니다. 여러 WebKit 이벤트 형태를 정규화하지만, iOS/WebKit 프로토콜 차이로 인해 페이지별 사용 가능한 기능이 줄어들 수 있습니다.

  • 현재 연결된 실제 iPhone에서는 정상 Safari 페이지가 transportMode: broker_only로 다운그레이드되므로 런타임/페이지 자동화가 의도적으로 비활성화되고 서버는 증거 수집/복구 워크플로로 폴백합니다.

  • 새로 추가된 관리형 safaridriver 경로는 새 Safari 자동화 창에서 안전한 브라우저 전용 자동화를 제공하지만, 기존 활성 Safari 탭에는 아직 연결되지 않습니다.

  • 새로 추가된 launch_automation_page 경로도 새롭게 분리된 Automation 컨텍스트에서 안전한 브라우저 전용 자동화를 제공하지만, Safari WebDriver와 마찬가지로 기존 일반 Safari 탭을 채택하지 않습니다.

  • 콘솔 및 네트워크 스트리밍은 safaridriver 관리형 백엔드에서 아직 사용할 수 없습니다.

  • 콘솔 및 네트워크 스트리밍은 원시 Automation 관리형 백엔드에서도 사용할 수 없습니다.

안전 경계:

  • 이 프로젝트는 설계상 브라우저 전용입니다.

  • 리셋, 복원, 페어링 변경, 펌웨어 또는 일반적인 iPhone 시스템 자동화는 범위에 포함되지 않습니다.

Related MCP server: MCP Safari Server

설치

npm install
npm run build

로컬에서 실행:

npm run dev

빌드 후 MCP 서버로 사용:

[mcp_servers.safari-ios-webinspector]
command = "node"
args = ["/absolute/path/to/dist/src/index.js"]

문서

실기기 테스트

연결된 iPhone에서 실기기 테스트 실행:

npm run shakeout

정상 페이지를 대상으로 원시 브로커 추적 캡처:

npm run trace:broker

원시 iPhone Automation 셰임 직접 프로브:

npm run probe:automation -- --udid <DEVICE_UDID>

출처 및 개인정보 보호

이 공개 저장소에는 문서화된 WebKit 동작과 선언된 종속성의 공개 인터페이스를 기반으로 독립적으로 작성된 구현이 포함되어 있습니다. 연구 노트는 프로토콜 조사에 참고가 된 업스트림 프로젝트 및 문서로 연결됩니다.

기기 식별자, 로컬 경로, 캡처된 페이지, 디버그 번들, 고객 또는 애플리케이션별 자료는 포함되어 있지 않습니다. 테스트에는 합성 기기 데이터와 example.com URL이 사용됩니다.

라이선스

MIT. LICENSE를 참조하세요. 타사 패키지는 package-lock.json 및 해당 배포본에 명시된 각각의 라이선스를 따릅니다.

Related MCP Connectors

Related MCP Servers