Skip to Content
MCP ServersCommunityplaywright-server MCP server

playwright-server MCP server

View original on GitHub 

\A MCP server with playwright tools\

Playwright Server MCP server

Components

Resources

The server implements a simple note storage system with:

  • Custom note:// URI scheme for accessing individual notes
  • Each note resource has a name, description and text/plain mimetype

Prompts

The server provides a single prompt:

  • summarize-notes: Creates summaries of all stored notes
    • Optional β€œstyle” argument to control detail level (brief/detailed)
    • Generates prompt combining all current notes with style preference

Tools

The server implements the following tools:

  • playwright_navigate: Navigates to a specified URL. This operation will automatically create a new session if there is no active session.
    • Requires a url argument (string).
  • playwright_screenshot: Takes a screenshot of the current page or a specific element.
    • Requires a name argument (string) for the screenshot file name.
    • Optional selector argument (string) to specify a CSS selector for the element to screenshot. If no selector is provided, a full-page screenshot is taken.
  • playwright_click: Clicks an element on the page using a CSS selector.
    • Requires a selector argument (string) to specify the CSS selector for the element to click.
  • playwright_fill: Fills out an input field.
    • Requires a selector argument (string) to specify the CSS selector for the input field.
    • Requires a value argument (string) to specify the value to fill.
  • playwright_evaluate: Executes JavaScript code in the browser console.
    • Requires a script argument (string) to specify the JavaScript code to execute.
  • playwright_click_text: Clicks an element on the page by its text content.
    • Requires a text argument (string) to specify the text content of the element to click.
  • playwright_get_text_content: Get the text content of all visiable elements.
  • playwright_get_html_content: Get the HTML content of the page.
    • Requires a selector argument (string) to specify the CSS selector for the element.

Configuration

[TODO: Add configuration details specific to your implementation]

Quickstart

Install

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration

``` "mcpServers": { "playwright-server": { "command": "uv", "args": [ "--directory", "C:\Users\xxxxx\Documents\project\python\mcp\playwright-server", "run", "playwright-server" ] } } ```

Published Servers Configuration

``` "mcpServers": { "playwright-server": { "command": "uvx", "args": [ "playwright-server" ] } } ```

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You’ll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector .

You can launch the MCP Inspector via npm with this command:

npx @modelcontextprotocol/inspector uv --directory C:\Users\YUNYING\Documents\project\python\mcp\playwright-server run playwright-server

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Last updated on