Puppeteer MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables execution of JavaScript code in the browser console to manipulate web pages and extract information.

  • Provides browser automation capabilities including page navigation, screenshot capture, form interaction, and JavaScript execution in a real browser environment.

Puppeteer MCP 서버(Python 구현)

Playwright(Puppeteer에 해당하는 Python 버전)를 사용하여 브라우저 자동화 기능을 제공하는 모델 컨텍스트 프로토콜(MLP) 서버입니다. 이 서버를 통해 LLM은 실제 브라우저 환경에서 웹 페이지와 상호 작용하고, 스크린샷을 찍고, JavaScript를 실행할 수 있습니다.

개요

이 Python 구현은 TypeScript 버전에 대한 안정적인 대안을 제공하며, 향상된 오류 처리 및 로깅 기능을 통해 동일한 기능을 제공합니다. Puppeteer의 Python 버전인 Playwright를 사용하여 강력한 브라우저 자동화 기능을 제공합니다.

주요 특징

  • 전체 브라우저 자동화
  • 페이지 탐색
  • 스크린샷 캡처(전체 페이지 또는 요소)
  • 양식 상호작용(클릭 및 채우기)
  • JavaScript 실행
  • 콘솔 로그 모니터링
  • 구성 가능한 시간 초과
  • 자세한 오류 처리
  • 종합 로깅

필수 조건

  • 파이썬 3.8 이상
  • pip(Python 패키지 설치 프로그램)

설치

  1. 필요한 패키지를 설치하세요:

지엑스피1

  1. Playwright 브라우저 설치:
playwright install

용법

서버 시작

서버를 직접 실행합니다.

python puppeteer_server.py

클로드 데스크톱 구성

Claude 구성 파일에 다음을 추가하세요.

{ "mcpServers": { "puppeteer": { "command": "python", "args": ["path/to/puppeteer.py"] } } }

사용 가능한 도구

꼭두각시 조종자_탐색

브라우저에서 원하는 URL로 이동합니다.

{ "name": "puppeteer_navigate", "arguments": { "url": "https://example.com", "timeout": 60000 // optional, defaults to 60000ms } }

인형극단 스크린샷

전체 페이지 또는 특정 요소의 스크린샷을 캡처합니다.

{ "name": "puppeteer_screenshot", "arguments": { "name": "my_screenshot", "selector": "#specific-element", // optional "width": 1280, // optional, default: 1280 "height": 720, // optional, default: 720 "timeout": 30000 // optional, defaults to 30000ms } }

꼭두각시_클릭

페이지의 요소를 클릭합니다.

{ "name": "puppeteer_click", "arguments": { "selector": ".button-class", "timeout": 30000 // optional, defaults to 30000ms } }

인형극_채우기

입력 필드를 작성하세요.

{ "name": "puppeteer_fill", "arguments": { "selector": "#input-id", "value": "text to fill", "timeout": 30000 // optional, defaults to 30000ms } }

인형극 평가자

브라우저 콘솔에서 JavaScript를 실행합니다.

{ "name": "puppeteer_evaluate", "arguments": { "script": "document.title", "timeout": 30000 // optional, defaults to 30000ms } }

오류 처리

서버는 일반적인 시나리오에 대한 자세한 오류 메시지를 제공합니다.

  • 내비게이션 실패
  • 요소를 찾을 수 없습니다
  • 시간 초과 오류
  • JavaScript 실행 오류
  • 스크린샷 실패

벌채 반출

포괄적인 로깅은 다양한 수준으로 구현됩니다.

  • 정보: 표준 작업
  • 오류: 작업 실패
  • DEBUG: 자세한 실행 정보

노트

  • 더 나은 디버깅을 위해 브라우저가 헤드리스 모드가 아닌 모드로 시작됩니다.
  • 기본 뷰포트 크기는 1280x720입니다.
  • 모든 시간 초과는 구성 가능합니다.
  • 콘솔 로그가 캡처되어 저장됩니다.
  • 스크린샷은 base64 인코딩으로 메모리에 저장됩니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출하기 전에 저장소의 기여 지침을 꼭 읽어주세요.

특허

이 프로젝트는 Apache 2.0 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

Playwright를 사용하여 브라우저 자동화 기능을 제공하는 모델 컨텍스트 프로토콜 서버로, LLM이 웹 페이지와 상호 작용하고, 스크린샷을 찍고, 실제 브라우저 환경에서 JavaScript를 실행할 수 있도록 합니다.

  1. Overview
    1. Key Features
      1. Prerequisites
        1. Installation
          1. Usage
            1. Starting the Server
            2. Claude Desktop Configuration
          2. Available Tools
            1. puppeteer_navigate
            2. puppeteer_screenshot
            3. puppeteer_click
            4. puppeteer_fill
            5. puppeteer_evaluate
          3. Error Handling
            1. Logging
              1. Notes
                1. Contributing
                  1. License
                    ID: l6pb307pqw