Skip to main content
Glama
Rev4nchist

Fourth Playwright MCP Server

by Rev4nchist

Playwright Web MCP

General-purpose web automation MCP server built on FastMCP v3 and @playwright/mcp.

Gives Claude browser automation capabilities over HTTP — navigate websites, fill forms, extract data, and interact with any web application.

Architecture

Claude.ai / Cowork Plugin
    │  Streamable HTTP
    ▼
FastMCP v3 (Python)
    │
    ├── 70+ playwright_* tools (proxied via subprocess)
    ├── 19 web_* orchestration tools
    ├── 1 browser_wait_for wrapper
    └── Skills (MCP resources)

Tools

Web Automation (custom orchestration)

Tool

Purpose

web_login

Navigate to login page, discover form fields (auto_fill option)

web_check_auth_state

Check if user is authenticated

web_navigate_and_wait

Navigate + SPA-aware content waiting

web_wait_for_ready

Wait for page content after any action

web_discover_navigation

Identify menus, tabs, pagination

web_extract_table

Extract table data (rows/csv/markdown, DOM mode)

web_extract_page_data

Extract targeted page content

web_extract_links

Extract links via DOM (structured data)

web_discover_form

Identify form fields, types, refs

web_fill_form

Batch-fill form fields

web_search

Search Google/DuckDuckGo with filters

web_search_and_extract

Search + multi-page content extraction

web_extract_article

Clean article text via DOM parsing

web_extract_metadata

Page metadata (OG, JSON-LD, meta tags)

web_save_pdf

Save page as PDF

web_save_session

Save browser session state

web_load_session

Restore saved session

web_execute_js

Run JavaScript with error handling

web_extract_structured_data

CSS selector-based data extraction

Playwright Primitives (proxied)

All 70+ @playwright/mcp tools are available with a playwright_ prefix: playwright_browser_navigate, playwright_browser_snapshot, playwright_browser_click, playwright_browser_type, playwright_browser_take_screenshot, and more.

Utility

Tool

Purpose

browser_wait_for

Type-safe wrapper for playwright_browser_wait_for

Deployment

Railway (production)

The server deploys to Railway via Dockerfile. Set these environment variables:

Variable

Required

Default

Description

PORT

No

Set by Railway

HTTP port

HOST

No

0.0.0.0

Bind address

OAUTH_CLIENT_ID

No

OAuth client ID (omit to disable auth)

OAUTH_CLIENT_SECRET

No

OAuth client secret

OAUTH_AUTHORIZATION_ENDPOINT

No

Google OIDC

Authorization endpoint

OAUTH_TOKEN_ENDPOINT

No

Google OIDC

Token endpoint

BASE_URL

No

http://127.0.0.1:8000

Server public URL (for OAuth redirects)

Local development

# Install dependencies
uv sync

# Start server
uv run python src/server.py
# → http://localhost:8000/health

Docker

docker build -t playwright-web-mcp .
docker run -p 8000:8000 playwright-web-mcp

Usage

Claude.ai Custom Connector

Add as a Custom Connector in Claude.ai Project settings:

  • URL: https://<your-app>.railway.app/mcp

  • Auth: OAuth 2.1 (if configured)

Cowork Plugin

Reference the MCP endpoint in your plugin's .mcp.json:

{
  "mcpServers": {
    "web": {
      "url": "https://<your-app>.railway.app/mcp"
    }
  }
}

Development

# Run tests
uv run pytest

# Lint
uv run ruff check src/

# Type check
uv run ruff format --check src/

License

Internal use — Fourth Enterprises.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rev4nchist/fourth-playwright-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server