mcp-playwright-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-playwright-serverGo to fillout.com/pricing and scrape the pricing tables"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š MCP Playwright Server
MCP (Model Context Protocol) server that enables Claude Code to control a browser via Playwright. Perfect for web scraping, automation, and research in research-modular.
Features
ā Navigate: Load any website and wait for dynamic content
ā Screenshot: Capture full pages or viewport screenshots
ā Scrape: Extract text, links, images, forms with structured output
ā Form Fill: Interact with forms, fill fields, submit
ā PDF Export: Generate PDFs from any page
ā Session Management: Multiple browser sessions simultaneously
ā Output Formats: JSON, Markdown, HTML
Related MCP server: Playwright Plus Python MCP
Installation
Option 1: npm (once published)
npm install -g mcp-playwright-serverOption 2: Direct from GitHub (now)
npx -y github:Jens0110/mcp-playwright-serverOption 3: Local development
git clone https://github.com/Jens0110/mcp-playwright-server
cd mcp-playwright-server
npm install
npm run build
npm startSetup with Claude Code
1. Add MCP server to Claude config
claude mcp add playwright -- npx -y github:Jens0110/mcp-playwright-serverOr manually in ~/.claude/config.json:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "github:Jens0110/mcp-playwright-server"]
}
}
}2. Restart Claude Code
The browser automation tools are now available in Claude Code.
Usage Examples
Navigate to a website
use_mcp_tool: playwright_navigate
{
"url": "https://www.fillout.com",
"timeout": 30000
}Take a screenshot
use_mcp_tool: playwright_screenshot
{
"session_id": "default",
"full_page": true,
"filename": "fillout-homepage.png"
}Scrape content
use_mcp_tool: playwright_scrape
{
"session_id": "default",
"extract_text": true,
"extract_links": true,
"extract_forms": true,
"format": "json"
}Fill and submit a form
use_mcp_tool: playwright_form_fill
{
"session_id": "default",
"selectors": {
"input[name='email']": "user@example.com",
"input[name='password']": "secret123",
"input[type='checkbox']": "on"
},
"submit_selector": "button[type='submit']",
"wait_for_navigation": true
}Generate PDF
use_mcp_tool: playwright_pdf
{
"session_id": "default",
"filename": "page-export.pdf",
"format": "A4"
}Integration with research-modular
Perfect for competitive analysis:
/research-modular
"Analyze Fillout's pricing page"
ā navigate to fillout.com/pricing
ā screenshot
ā scrape pricing tables
ā extract feature comparison
ā ā Add to Feature-Matrix
ā ā Generate Positioning MapOutput Locations
Screenshots:
~/.cache/research-modular/screenshots/PDFs:
~/.cache/research-modular/pdfs/Scraped data: JSON output (in-memory)
Session Management
Each session maintains its own browser context:
// Session 1: Analyze Competitor A
playwright_navigate({ url: "competitor-a.com", session_id: "competitor-a" })
playwright_scrape({ session_id: "competitor-a" })
// Session 2: Analyze Competitor B (parallel!)
playwright_navigate({ url: "competitor-b.com", session_id: "competitor-b" })
playwright_scrape({ session_id: "competitor-b" })Performance
First page load: ~3-5 seconds (browser startup)
Subsequent pages: ~1-2 seconds
Screenshot generation: ~500ms
PDF generation: ~1-2 seconds
Memory: ~200MB per active session
Limitations
No support for authenticated browsing yet (Session 2)
JavaScript execution limited to DOM manipulation (no custom scripts)
Form interactions limited to standard inputs (no complex JS-heavy forms)
Troubleshooting
"Browser launch failed"
# Install browser dependencies
npm install -D @playwright/test
npx playwright install chromium"Connection timeout"
Increase
timeoutparameter (in milliseconds)Check internet connection
Website might be blocking automated access
"Form fill not working"
Verify CSS selector is correct
Try waiting longer with navigation
Check if form requires JavaScript initialization
Future Enhancements
Session persistence (cookies/auth)
Custom JavaScript execution
Network interception & HAR export
Performance metrics collection
Video recording
Mobile device emulation
Architecture
Claude Code
ā
[MCP Protocol]
ā
Playwright Server
ā
[Browser Pool]
ā
Chromium Browser
ā
[websites]Contributing
Contributions welcome! Please:
Fork the repo
Create a feature branch
Add tests
Submit PR
License
MIT
Support
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceProvides browser automation capabilities using Playwright, enabling users to navigate websites, extract content, take screenshots, and interact with web pages through natural language prompts.Last updated24MIT
- AlicenseBquality-maintenanceEnables browser automation and web scraping through Playwright, supporting navigation, screenshots, element interaction, form filling, JavaScript execution, and content extraction.Last updated8
- Alicense-qualityCmaintenanceEnables browser automation and web interaction control through Playwright, allowing Claude Code to navigate, click, fill forms, take screenshots, and manage sessions.Last updated686MIT
- Alicense-qualityCmaintenanceEnables natural language browser automation through Claude, wrapping Playwright to execute commands like navigation, clicking, form filling, and screenshots.Last updated930MIT
Related MCP Connectors
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to iā¦
AI-powered browser automation ā navigate, click, fill forms, and extract data from any website.
Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Jens0110/mcp-playwright-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server