프로젝트 소개

Mac Developer Bridge는 ChatGPT를 실제 Mac 실행 환경에 연결하는 오픈소스 MCP(Model Context Protocol) 서버입니다. 이 서버는 두 번째 추론 루프를 추가하지 않고도 결정적 로컬 도구들—셸 명령, 파일시스템 작업, 대화형 PTY 세션, 백그라운드 작업 관리, 저장된 Codex 스레드 읽기, 선택적 백그라운드 Chrome 자동화—을 노출합니다. ChatGPT는 에이전트로 남고, Mac은 실행 환경입니다. 주요 기능은 다음과 같습니다: - 로그인된 macOS 사용자 권한으로 /bin/zsh -lc를 통한 임의 셸 명령 실행 - 지속적인 stdout/stderr 로그, 상태 확인, 프로세스 그룹 종료를 지원하는 분리형 백그라운드 작업 - 제한 없는 파일 읽기, 쓰기, 추가, 목록, 상태 확인, 복사, 이동, chmod, 심볼릭 링크, mkdir, 재귀 삭제 - git apply를 통한 통합 diff 적용 - 스레드를 재개하거나 Codex 모델 턴을 시작하지 않고 저장된 Codex 스레드 검색 및 읽기 - 단일 응답으로 처리하기에 너무 큰 기록을 위한 페이지네이션된 Codex 턴 검색 - 로컬 JSONL 감사 - OpenAI Secure MCP Tunnel을 통한 아웃바운드 전용 프라이빗 연결, 또는 Cloudflare Tunnel을 통해 HTTPS로 게시된 일반 HTTP 루프백 프런트 엔드 - macOS LaunchAgent를 통한 사용자별 지속성 - Fail-closed 잠금 치: bridge.mjs는 모든 도구 호출 전에 금 해제 파일을 다시 읽으므로, 파일을 제거하면 다음 호출을 거부하고 종료합니다 - 프런트 엔드, 브리지, 선택적 백그라운드 Chrome 네이티브 호스트, 분리형 shell_start 작업 그룹, 대화형 PTY 세션, 연합 자식 MCP 서버를 중지하는 로컬 스위치(scripts/disable.sh) 선택적 Background Chrome 통합은 작은 로 확장을 통해 동일한 로그인된 Chrome 프로필을 조작하며, 포커스를 빼앗지 않고 자동화를 백그라운드에서 유지합니다. 이는 임대 기반 접근, 10분 후 유휴 회수, 자가 치유 용량을 갖춘 지속적 탭 (기본 8개, 최대 32개)을 관리합니다. shell_exec를 통한 직접 Chrome 제어는 포커스 탈취 방지 경계를 구조적으로 강제하기 위해 항상 CHROME_BACKGROUND_REQUIRED와 함께 거부됩니다. 일반 HTTP/HTTPS 작업에는 완화된 접근이 기본이며, Strict approvals 모드는 15분 TTL의 사이트별 URL 권한 부여를 추가합니다. 대화형 미널 세션은 코어 Perl 헬퍼(lib/ptyhelper.pl)가 할당한 실제 PTY를 사용하며, 세션 시작, 읽기, 쓰기, 크기 조정, 신호 전송, 닫기를 위한 도구를 제공합니다. 1024바이트 정규 모드 라인 제한이 적용되며, 고정 링 버퍼가 최근 출력을 보관합니다. 이 프로젝트에는 실험적 기능도 포함됩니다: UI 타이핑이나 자격 증명 내보내기 없이 로그인된 페이지의 자사 런타임 액션을 통해 소비자 ChatGPT 대화를 시작하거나 계속하는 ChatGPT 대화 시작 도구(chatgpt_conversation_start), 그리고 Responses 지시/입력으로부터 상태 비저장 턴을 재구성하고 고정 JSON 결정 프로토콜을 통해 도구를 제시하는 명시적 OpenCodex 모델(chatgpt-browser 및 chatgpt-sol)용 별도 /v1/responses 어댑터. 보안 고려 사항: 이 브리지는 의도적으로 MCP 클라이언트에 macOS 사용자의 실효 권한을 부여합니다. 샌드박스가 아니며 명령 또는 경로 허용 목록이 없습니다. 사용자는 활성화하기 전에 SECURITY.md를 읽도록 안내됩니다. 더 엄격한 브라우저/앱 워크플로 제어를 위해 Strict approvals 모드를 사용할 수 있으며, 메뉴 바 앱에서 실시간 토글을 제공합니다. 이 프로젝트는 MIT 라이선스로 배포되며, 공식 OpenAI 또는 Cloudflare 제품이 아닌 독립 오소스 프로젝트입니다.