local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
This is a MCP server implementation that provides browser automation capabilities through Puppeteer, enabling various web interactions including navigation, screenshots, clicking elements, filling forms, and executing JavaScript in browser contexts.
퍼펫티어 MCP 서버
이 MCP 서버는 Puppeteer를 통해 브라우저 자동화 기능을 제공하여 새로운 브라우저 인스턴스와 기존 Chrome 창 모두와의 상호 작용을 허용합니다.
승인
이 프로젝트는 @modelcontextprotocol/server-puppeteer 에서 영감을 받아 실험적으로 구현한 것입니다. 유사한 목표와 개념을 공유하지만, Model Context Protocol을 통해 브라우저 자동화에 대한 대안적인 접근 방식을 모색합니다.
특징
- 웹 페이지 탐색
- 스크린샷 찍기
- 클릭 요소
- 양식 작성
- 옵션 선택
- 호버 요소
- JavaScript 실행
- 스마트한 Chrome 탭 관리:
- 활성 Chrome 탭에 연결
- 기존 Chrome 인스턴스 보존
- 지능형 연결 처리
프로젝트 구조
지엑스피1
설치
옵션 1: npm에서 설치
npx를 사용하면 설치 없이 바로 실행할 수도 있습니다.
옵션 2: 소스에서 설치
- 이 저장소를 복제하거나 소스 코드를 다운로드하세요
- 종속성 설치:
- 프로젝트를 빌드하세요:
- 서버를 실행합니다:
MCP 서버 구성
Claude와 함께 이 도구를 사용하려면 MCP 설정 구성 파일에 추가해야 합니다.
Claude 데스크톱 앱용
Claude Desktop 구성 파일(Windows에서는 %APPDATA%\Claude\claude_desktop_config.json
, macOS에서는 ~/Library/Application Support/Claude/claude_desktop_config.json
)에 다음을 추가합니다.
npm을 통해 전역적으로 설치하는 경우:
npx 사용(설치 없이):
소스에서 설치한 경우:
Claude VSCode 확장 프로그램용
Claude VSCode 확장 MCP 설정 파일에 다음을 추가합니다(Windows에서는 %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
에 있고, macOS에서는 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
에 있음).
npm을 통해 전역적으로 설치하는 경우:
npx 사용(설치 없이):
소스에서 설치한 경우:
소스 설치의 경우, path/to/puppeteer-mcp-server
이 도구를 설치한 실제 경로로 바꾸세요.
용법
표준 모드
서버는 기본적으로 새로운 브라우저 인스턴스를 시작합니다.
활성 탭 모드
기존 Chrome 창에 연결하려면:
- 기존 Chrome 인스턴스를 완전히 닫습니다.
- 원격 디버깅을 활성화하여 Chrome을 실행합니다.Copy
- Chrome에서 원하는 웹 페이지로 이동합니다.
puppeteer_connect_active_tab
도구를 사용하여 연결합니다.Copy
서버는 다음을 수행합니다.
- 원격 디버깅이 활성화된 Chrome 인스턴스를 감지하고 연결합니다.
- Chrome 인스턴스를 보존합니다(닫지 않음)
- 확장 기능이 없는 탭을 찾아 연결
- 연결에 실패하면 명확한 오류 메시지를 제공합니다.
사용 가능한 도구
퍼펫티어_커넥트_액티브_탭
원격 디버깅이 활성화된 기존 Chrome 인스턴스에 연결합니다.
- 선택 과목:
targetUrl
- 연결할 특정 탭의 URLdebugPort
- Chrome 디버깅 포트(기본값: 9222)
꼭두각시 조종자_탐색
URL로 이동합니다.
- 필수:
url
- 이동할 URL
인형 조종사 스크린샷
현재 페이지나 특정 요소의 스크린샷을 찍습니다.
- 필수:
name
- 스크린샷의 이름 - 선택 과목:
selector
- 스크린샷을 찍을 요소에 대한 CSS 선택기width
- 픽셀 단위 너비(기본값: 800)height
- 픽셀 단위 높이(기본값: 600)
꼭두각시_클릭
페이지에서 요소를 클릭합니다.
- 필수:
selector
- 클릭할 요소에 대한 CSS 선택기
인형극_채우기
입력 필드를 작성하세요.
- 필수의:
selector
- 입력 필드용 CSS 선택기value
- 입력할 텍스트
꼭두각시 선택
드롭다운 메뉴를 사용하세요.
- 필수의:
selector
- 선택 요소에 대한 CSS 선택기value
- 선택할 옵션 값
인형극 배우기_호버
요소 위에 마우스를 올려놓으세요.
- 필수:
selector
- 마우스를 올려놓을 요소에 대한 CSS 선택기
인형극 평가자
브라우저 콘솔에서 JavaScript를 실행합니다.
- 필수:
script
- 실행할 JavaScript 코드
보안 고려 사항
원격 디버깅을 사용하는 경우:
- 신뢰할 수 있는 네트워크에서만 활성화
- 고유한 디버깅 포트를 사용하세요
- 사용하지 않을 때 디버깅 포트를 닫습니다.
- 디버깅 포트를 공개 네트워크에 노출하지 마십시오.
로깅 및 디버깅
파일 기반 로깅
서버는 Winston을 사용하여 포괄적인 로깅을 구현합니다.
- 위치:
logs/
디렉토리 - 파일 패턴:
mcp-puppeteer-YYYY-MM-DD.log
- 로그 회전:
- 매일 회전
- 최대 크기: 파일당 20MB
- 보관 기간: 14일
- 오래된 로그의 자동 압축
로그 수준
- DEBUG: 자세한 디버깅 정보
- INFO: 일반 운영 정보
- WARN: 경고 메시지
- 오류: 오류 이벤트 및 예외
기록된 정보
- 서버 시작/종료 이벤트
- 브라우저 작업(시작, 연결, 닫기)
- 탐색 시도 및 결과
- 도구 실행 및 결과
- 스택 추적을 포함한 오류 세부 정보
- 브라우저 콘솔 출력
- 리소스 사용량(스크린샷, 콘솔 로그)
오류 처리
서버는 다음에 대한 자세한 오류 메시지를 제공합니다.
- 연결 실패
- 누락된 요소
- 잘못된 선택자
- JavaScript 실행 오류
- 스크린샷 실패
각 도구 호출은 다음을 반환합니다.
- 성공/실패 상태
- 실패 시 자세한 오류 메시지
- 성공 시 작업 결과 데이터
모든 오류는 다음과 같은 로그 파일에 기록됩니다.
- 타임스탬프
- 오류 메시지
- 스택 추적(사용 가능한 경우)
- 컨텍스트 정보
기여하다
기여를 환영합니다! 풀 리퀘스트 제출, 문제 보고, 프로젝트 참여 방법에 대한 자세한 내용은 기여 가이드라인을 참조하세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
You must be authenticated.
Tools
Puppeteer를 통해 브라우저 자동화를 지원하고 탐색, 양식 상호작용, 활성 Chrome 인스턴스에 대한 연결을 지원하여 포괄적인 웹 페이지 상호작용을 구현합니다.
- Acknowledgment
- Features
- Project Structure
- Installation
- MCP Server Configuration
- Usage
- Available Tools
- Security Considerations
- Logging and Debugging
- Error Handling
- Contributing
- License