Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"playwright": {
"args": [
"run",
"--project",
"/path/to/playwright-dockerless-mcp"
],
"command": "dotnet"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A lightweight Model Context Protocol (MCP) server for browser automation using Microsoft Playwright, built with .NET 8 C#. This server allows AI agents to interact with web browsers locally without requiring npm, Docker, or other external dependencies.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in browser
Browser automation with Puppeteer for web scraping and testing
Self-hosted URL- and file-to-Markdown service for humans and AI agents - web pages, documents, images, audio, YouTube. PWA + REST + MCP + Claude Code skill, Reddit-aware, refreshable share links.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Quickly reads webpages and converts to markdown for fast, token efficient web scraping
MCP Security Weekly
Get CVE alerts and security updates for PlaywrightMcpServer and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A lightweight Model Context Protocol (MCP) server for browser automation using Microsoft Playwright, built with .NET 8 C#. This server allows AI agents to interact with web browsers locally without requiring npm, Docker, or other external dependencies.
browser_install tool)# Clone the repository
git clone https://github.com/kolatts/playwright-dockerless-mcp.git
cd playwright-dockerless-mcp
# Build the project
dotnet build
# Run the server
dotnet run
Before using the browser tools, you need to install the browser binaries. You can do this by:
browser_install tool via MCP or HTTP APIpwsh bin/Debug/net8.0/playwright.ps1 install
PlaywrightMcpServer [options]
Options:
--browser, -b <type> Browser type: chromium, firefox, webkit (default: chromium)
--headed Run browser in headed mode (default: headless)
--http Run as HTTP server instead of MCP stdin/stdout mode
--port, -p <port> HTTP server port (default: 5000, only used with --http)
--help, -h Show this help message
--version, -v Show version information
The default mode communicates via stdin/stdout using the MCP protocol, suitable for integration with MCP-compatible clients.
# Run in MCP mode
dotnet run
# With specific browser
dotnet run -- --browser firefox
The HTTP server mode provides a REST API that can be easily called by AI agents or any HTTP client.
# Start HTTP server on default port 5000
dotnet run -- --http
# Start on custom port with headed browser
dotnet run -- --http --port 8080 --headed
Add the server to your MCP client configuration. For example, in Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"playwright": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/playwright-dockerless-mcp"]
}
}
}
Or if you've published the executable:
{
"mcpServers": {
"playwright": {
"command": "/path/to/PlaywrightMcpServer",
"args": ["--browser", "chromium"]
}
}
}
When running in HTTP mode (--http), the following endpoints are available:
GET /health
Returns server health status.
Response:
{
"status": "healthy",
"version": "1.0.0"
}
GET /tools
Returns all available browser automation tools with their schemas.
Response:
{
"tools": [
{
"name": "browser_navigate",
"description": "Navigate to a URL",
"inputSchema": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "The URL to navigate to" }
},
"required": ["url"]
}
},
...
]
}
POST /tools/{toolName}
Content-Type: application/json
Execute a specific tool with the provided arguments.
Example - Navigate to URL:
curl -X POST http://localhost:5000/tools/browser_navigate \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
**Respo