Skip to main content
Glama

개발자를 위한 AI 터미널, 워프

MacOS, Linux 및 Windows에서 사용 가능

극작가 MCP 서버 🎭

대장간 배지

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

스크린샷

극작가 + 클로드

Related MCP server: Puppeteer MCP Server

문서 | API 참조

설치

npm, mcp-get 또는 Smithery를 사용하여 패키지를 설치할 수 있습니다.

npm 사용하기:

지엑스피1

mcp-get을 사용합니다.

npx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server

대장간 사용

Smithery를 통해 Claude Desktop용 Playwright MCP를 자동으로 설치하려면:

npx @smithery/cli install @executeautomation/playwright-mcp-server --client claude

VS Code에 설치

다음 버튼 중 하나를 사용하여 VS Code에 Playwright MCP 서버를 설치하세요.

또는 VS Code CLI를 사용하여 Playwright MCP 서버를 설치할 수 있습니다.

# For VS Code
code --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"playwright","command":"npx","args":["@executeautomation/playwright-mcp-server"]}'

설치 후 ExecuteAutomation Playwright MCP 서버를 VS Code의 GitHub Copilot 에이전트와 함께 사용할 수 있습니다.

Playwright Server를 사용하기 위한 구성

Playwright 서버를 사용하기 위한 Claude Desktop 구성은 다음과 같습니다.

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

테스트

이 프로젝트에서는 Jest를 사용하여 테스트합니다. 테스트는 src/__tests__ 디렉터리에 있습니다.

테스트 실행

다음 명령 중 하나를 사용하여 테스트를 실행할 수 있습니다.

# Run tests using the custom script (with coverage)
node run-tests.cjs

# Run tests using npm scripts
npm test           # Run tests without coverage
npm run test:coverage  # Run tests with coverage
npm run test:custom    # Run tests with custom script (same as node run-tests.cjs)

테스트 커버리지 보고서는 coverage 디렉토리에 생성됩니다.

실행 평가

evals 패키지는 index.ts 파일을 실행하는 mcp 클라이언트를 로드하므로 테스트 사이에 다시 빌드할 필요가 없습니다. npx 명령 앞에 접두사를 붙여 환경 변수를 로드할 수 있습니다. 전체 문서는 여기에서 확인할 수 있습니다.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools/codegen/index.ts

스타 역사

별 역사 차트

Available Tools

32 tools
clear_codegen_sessionC

Clear a code generation session without generating a test

Inputs: sessionId (required).

end_codegen_sessionC

End a code generation session and generate the test file

Inputs: sessionId (required).

get_codegen_sessionC

Get information about a code generation session

Inputs: sessionId (required).

playwright_assert_responseB

Wait for and validate a previously initiated HTTP response wait operation.

Inputs: id (required), value.

playwright_clickC

Click an element on the page

Inputs: selector (required).

playwright_click_and_switch_tabA

Click a link and switch to the newly opened tab

Inputs: selector (required).

playwright_closeB

Close the browser and release all resources

Inputs: no named parameters.

playwright_console_logsC

Retrieve console logs from the browser with filtering options

Inputs: clear, limit, search, type.

playwright_custom_user_agentC

Set a custom User Agent for the browser

Inputs: userAgent (required).

playwright_deleteC

Perform an HTTP DELETE request

Inputs: url (required).

playwright_dragC

Drag an element to a target location

Inputs: sourceSelector (required), targetSelector (required).

playwright_evaluateC

Execute JavaScript in the browser console

Inputs: script (required).

playwright_expect_responseB

Ask Playwright to start waiting for a HTTP response. This tool initiates the wait operation but does not wait for its completion.

Inputs: id (required), url (required).

playwright_fillC

fill out an input field

Inputs: selector (required), value (required).

playwright_getC

Perform an HTTP GET request

Inputs: url (required).

playwright_get_visible_htmlC

Get the HTML content of the current page. By default, all tags are removed from the output unless removeScripts is explicitly set to false.

Inputs: cleanHtml, maxLength, minify, removeComments, +4 more.

playwright_get_visible_textB

Get the visible text content of the current page

Inputs: no named parameters.

playwright_go_backB

Navigate back in browser history

Inputs: no named parameters.

playwright_go_forwardA

Navigate forward in browser history

Inputs: no named parameters.

playwright_hoverC

Hover an element on the page

Inputs: selector (required).

playwright_iframe_clickC

Click an element in an iframe on the page

Inputs: iframeSelector (required), selector (required).

playwright_iframe_fillC

Fill an element in an iframe on the page

Inputs: iframeSelector (required), selector (required), value (required).

playwright_navigateC

Navigate to a URL

Inputs: url (required), browserType, headless, height, +3 more.

playwright_patchC

Perform an HTTP PATCH request

Inputs: url (required), value (required).

playwright_postC

Perform an HTTP POST request

Inputs: url (required), value (required), headers, token.

playwright_press_keyC

Press a keyboard key

Inputs: key (required), selector.

playwright_putC

Perform an HTTP PUT request

Inputs: url (required), value (required).

playwright_save_as_pdfC

Save the current page as a PDF file

Inputs: outputPath (required), filename, format, margin, +1 more.

playwright_screenshotC

Take a screenshot of the current page or a specific element

Inputs: name (required), downloadsDir, fullPage, height, +4 more.

playwright_selectC

Select an element on the page with Select tag

Inputs: selector (required), value (required).

playwright_upload_fileC

Upload a file to an input[type='file'] element on the page

Inputs: filePath (required), selector (required).

start_codegen_sessionC

Start a new code generation session to record Playwright actions

Inputs: options (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 32 tools

    Disambiguation4/5

    Most tools have distinct purposes, with clear separation between navigation, interaction, HTTP requests, and code generation functions. However, some overlap exists between playwright_click and playwright_iframe_click, and between playwright_fill and playwright_iframe_fill, which could cause minor confusion about when to use the iframe variants versus regular versions.

    Naming Consistency5/5

    Excellent naming consistency throughout. All tools follow a clear snake_case pattern with 'playwright_' prefix for browser operations and descriptive verb_noun combinations. The three codegen tools also follow a consistent pattern with 'codegen_session' suffix.

    Tool Count3/5

    32 tools is quite large for an MCP server, bordering on heavy. While Playwright is a comprehensive browser automation library, this many tools may overwhelm agents and could potentially be consolidated (e.g., HTTP methods could be a single tool with method parameter).

    Completeness5/5

    The tool surface provides comprehensive coverage of Playwright's core functionality including navigation, element interaction, iframe handling, HTTP requests, debugging (console logs), file operations, PDF/screenshot generation, and code generation. No obvious gaps exist for typical browser automation workflows.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
      19
      Apache 2.0
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Puppeteer, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
      7
      28,579 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.
      31
      13,875 npm
      MIT