Install
npx -y @modelcontextprotocol/server-puppeteer누구에게 맞나
모델이 로컬 실제 브라우저에서 웹페이지를 열고, 콘솔을 보거나 스크린샷을 남기게 하려는 사람에게 맞다. 증거는 다음을 명시한다: 이것은 Puppeteer로 브라우저 자동화를 하는 MCP 서버이며, 모델은 페이지와 상호작용하고 스크린샷을 찍으며 실제 브라우저 환경에서 JavaScript를 실행할 수 있다.
당신 기계에서 돌아가므로 로컬 파일과 로컬/내부 IP에도 닿을 수 있다. 이 프라이버시 경계를 받아들이고 민감 데이터를 지킬 수 있을 때만 연결하라. 증거는 클라이언트 목록을 내지 않으며, 범위는 MCP를 설정할 수 있는 클라이언트가 이미 있고 npx를 실행할 수 있는 경우까지다.
공식 페이지는 servers-archived 트리에 있다. 증거는 유지보수 상태나 대체 구현을 따로 쓰지 않으므로, 지금도 갱신되는 현행 제품으로 보지 마라.
3분 만에 첫 시도 마치기
증거가 준 NPX 경로를 따른다. 클라이언트 MCP 설정에서 다음을 사용한다:
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
동시에 Docker를 주 경로로 쓰지 마라. 증거가 보충하는 것은 Docker가 헤드리스 Chromium을 쓰고 NPX는 브라우저 창을 연다는 것뿐이다.
전제 조건: 로컬에 Node/npx가 있다. 첫 시도는 접근 권한이 있고 폼 제출이나 로그인을 하지 않는 공개 페이지만 연다. 시작 후 로컬에서 브라우저가 돌며 로컬 파일과 내부 주소에 접근할 수 있다.
설정 위치: 클라이언트의 MCP 서버 설정(stdio 명령과 인자). 저장 후 클라이언트를 재시작하거나 다시 로드한다.
저위험 첫 호출: 증거가 완전히 적은 puppeteer_navigate만 호출해 바로 위에서 말한 URL로 이동한다. 증거는 그 도구의 매개변수 필드를 주지 않는다. collect 요약은 screenshot, click, hover, fill, select, evaluate도 언급하지만 해당 locator는 펼쳐지지 않았다. 첫 시도에서 호출하지 마라.
성공 신호: NPX 경로에서는 로컬 브라우저 창이 열리고 당신이 준 주소에 머물러야 한다. 이어서 리소스 console://logs(텍스트 콘솔 출력) 또는 screenshot://<name>(PNG)를 읽을 수 있다. 창이 없으면 먼저 NPX인지 Docker가 아닌지 확인하라.
사용 사례
사례 1: 모델이 지정한 공개 페이지를 열게 한다. puppeteer_navigate를 호출한다. 증거가 보장하는 것은 「브라우저에서 임의의 URL로 이동」뿐이며 타임아웃, 리다이렉트, 로컬 cookie 포함 여부는 쓰지 않는다. 확인할 수 있는 것은 탐색이 로컬 실제 브라우저에서 일어난다는 것이다. 격리된 클라우드 세션이라고 가정하지 마라.
사례 2: 페이지를 연 뒤 콘솔을 확인하거나 스크린샷을 남긴다. 첫 증거는 스크린샷과 JavaScript 실행이 가능하다고 하며, 리소스 증거는 console://logs(브라우저의 모든 콘솔 메시지)와 screenshot://<name>(캡처된 스크린샷 PNG)를 준다. 증거는 스크린샷 도구 이름, <name> 생성 방법, evaluate 매개변수를 쓰지 않는다. 따라서 두 번째는 이 리소스만 읽거나 「증거는 스크린샷/JS 실행만 보장한다」는 층에서 멈추고, 선택자나 스크립트를 지어내지 마라.
사용 경계
로컬 브라우저는 로컬 파일과 로컬/내부 IP에 접근할 수 있어 민감 데이터가 유출될 수 있다. NPX는 보이는 창을 열고 Docker는 헤드리스 Chromium이다. 행동이 다르므로 섞은 뒤 창을 성공 신호로 쓰지 마라. 증거가 완전히 지명한 도구는 puppeteer_navigate뿐이다. 상호작용 능력(클릭, 입력)에는 매개변수가 있는 locator가 없고 실행하면 페이지 부작용이 있다. 리소스는 콘솔과 스크린샷만 있다. 되돌리기, cookie 정리, 브라우저 종료 단계는 없다. 증거는 클라이언트 목록, 권한 모델, 보관 후 대체 패키지를 쓰지 않는다.