[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73570":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},73570,"mcp-playwright","executeautomation\u002Fmcp-playwright","executeautomation","Playwright Model Context Protocol Server - Tool to automate Browsers and APIs in Claude Desktop, Cline, Cursor IDE and More 🔌","https:\u002F\u002Fexecuteautomation.github.io\u002Fmcp-playwright\u002F",null,"TypeScript",5545,519,33,23,0,4,5,39,12,39.15,"MIT License",false,"main",true,[],"2026-06-12 02:03:15","\u003Cdiv align=\"center\" markdown=\"1\">\n  \u003Ctable>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"middle\">\n        \u003Ca href=\"https:\u002F\u002Fmseep.ai\u002Fapp\u002Fexecuteautomation-mcp-playwright\">\n          \u003Cimg src=\"https:\u002F\u002Fmseep.net\u002Fpr\u002Fexecuteautomation-mcp-playwright-badge.png\" alt=\"MseeP.ai Security Assessment Badge\" height=\"80\"\u002F>\n        \u003C\u002Fa>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\">\u003Csub>MseeP.ai Security Assessment\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Chr>\n\n# Playwright MCP Server 🎭\n\n[![Trust Score](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fapi\u002Fbadge\u002Fquality\u002Fexecuteautomation\u002Fmcp-playwright)](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fexecuteautomation__mcp-playwright)\n[![smithery badge](https:\u002F\u002Fsmithery.ai\u002Fbadge\u002F@executeautomation\u002Fplaywright-mcp-server)](https:\u002F\u002Fsmithery.ai\u002Fserver\u002F@executeautomation\u002Fplaywright-mcp-server)\n\nA Model Context Protocol server that provides browser automation capabilities using Playwright. This server enables LLMs to interact with web pages, take screenshots, generate test code, web scrapes the page and execute JavaScript in a real browser environment.\n\n\u003Ca href=\"https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fyh4lgtwgbe\">\u003Cimg width=\"380\" height=\"200\" src=\"https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fyh4lgtwgbe\u002Fbadge\" alt=\"mcp-playwright MCP server\" \u002F>\u003C\u002Fa>\n\n## ✨ What's New in v1.0.10\n\n### 🎯 Device Emulation with 143 Real Device Presets!\n\nTest your web applications on **real device profiles** with a simple command:\n\n```javascript\n\u002F\u002F Test on iPhone 13 with automatic user-agent, touch support, and device pixel ratio\nawait playwright_resize({ device: \"iPhone 13\" });\n\n\u002F\u002F Switch to iPad with landscape orientation\nawait playwright_resize({ device: \"iPad Pro 11\", orientation: \"landscape\" });\n\n\u002F\u002F Test desktop view\nawait playwright_resize({ device: \"Desktop Chrome\" });\n```\n\n**Natural Language Support for AI Assistants:**\n- \"Test on iPhone 13\" \n- \"Switch to iPad view\"\n- \"Rotate to landscape\"\n\n**Supports 143 devices:** iPhone, iPad, Pixel, Galaxy, and Desktop browsers with proper emulation of viewport, user-agent, touch events, and device pixel ratios.\n\n📚 [View Device Quick Reference](https:\u002F\u002Fexecuteautomation.github.io\u002Fmcp-playwright\u002Fdocs\u002Fplaywright-web\u002FDevice-Quick-Reference) | [Prompt Guide](https:\u002F\u002Fexecuteautomation.github.io\u002Fmcp-playwright\u002Fdocs\u002Fplaywright-web\u002FResize-Prompts-Guide)\n\n## Screenshot\n![Playwright + Claude](image\u002Fplaywright_claude.png)\n\n## [Documentation](https:\u002F\u002Fexecuteautomation.github.io\u002Fmcp-playwright\u002F) | [API reference](https:\u002F\u002Fexecuteautomation.github.io\u002Fmcp-playwright\u002Fdocs\u002Fplaywright-web\u002FSupported-Tools)\n\n## Installation\n\nYou can install the package using either npm, mcp-get, or Smithery:\n\nUsing npm:\n```bash\nnpm install -g @executeautomation\u002Fplaywright-mcp-server\n```\n\nUsing mcp-get:\n```bash\nnpx @michaellatman\u002Fmcp-get@latest install @executeautomation\u002Fplaywright-mcp-server\n```\nUsing Smithery\n\nTo install Playwright MCP for Claude Desktop automatically via [Smithery](https:\u002F\u002Fsmithery.ai\u002Fserver\u002F@executeautomation\u002Fplaywright-mcp-server):\n\n```bash\nnpx @smithery\u002Fcli install @executeautomation\u002Fplaywright-mcp-server --client claude\n```\n\nUsing Claude Code:\n```bash\nclaude mcp add --transport stdio playwright npx @executeautomation\u002Fplaywright-mcp-server\n```\n\n\n#### Installation in VS Code\n\nInstall the Playwright MCP server in VS Code using one of these buttons:\n\n\u003C!--\n\u002F\u002F Generate using?:\nconst config = JSON.stringify({ name: 'playwright', command: 'npx', args: [\"-y\", \"@executeautomation\u002Fplaywright-mcp-server\"] });\nconst urlForWebsites = `vscode:mcp\u002Finstall?${encodeURIComponent(config)}`;\n\u002F\u002F Github markdown does not allow linking to `vscode:` directly, so you can use our redirect:\nconst urlForGithub = `https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=${encodeURIComponent(urlForWebsites)}`;\n-->\n\n[\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"Install in VS Code\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540executeautomation%252Fplaywright-mcp-server%2522%255D%257D) \n[\u003Cimg alt=\"Install in VS Code Insiders\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522playwright%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540executeautomation%252Fplaywright-mcp-server%2522%255D%257D)\n\nAlternatively, you can install the Playwright MCP server using the VS Code CLI:\n\n```bash\n# For VS Code\ncode --add-mcp '{\"name\":\"playwright\",\"command\":\"npx\",\"args\":[\"@executeautomation\u002Fplaywright-mcp-server\"]}'\n```\n\n```bash\n# For VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"playwright\",\"command\":\"npx\",\"args\":[\"@executeautomation\u002Fplaywright-mcp-server\"]}'\n```\n\nAfter installation, the ExecuteAutomation Playwright MCP server will be available for use with your GitHub Copilot agent in VS Code.\n\n## Browser Installation\n\n### Automatic Installation (Recommended)\n\nThe Playwright MCP Server **automatically installs browser binaries** when you first use it. When the server detects that a browser is missing, it will:\n\n1. Automatically download and install the required browser (Chromium, Firefox, or WebKit)\n2. Display installation progress in the console\n3. Retry your request once installation completes\n\n**No manual setup required!** Just start using the server, and it handles browser installation for you.\n\n### Manual Installation (Optional)\n\nIf you prefer to install browsers manually or encounter any issues with automatic installation:\n\n```bash\n# Install all browsers\nnpx playwright install\n\n# Or install specific browsers\nnpx playwright install chromium\nnpx playwright install firefox\nnpx playwright install webkit\n```\n\n### Browser Storage Location\n\nBrowsers are installed to:\n- **Windows:** `%USERPROFILE%\\AppData\\Local\\ms-playwright`\n- **macOS:** `~\u002FLibrary\u002FCaches\u002Fms-playwright`\n- **Linux:** `~\u002F.cache\u002Fms-playwright`\n\n## Configuration to use Playwright Server\n\n### Standard Mode (stdio)\n\nThis is the **recommended mode for Claude Desktop**.\n\n```json\n{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@executeautomation\u002Fplaywright-mcp-server\"]\n    }\n  }\n}\n```\n\n**Note:** In stdio mode, logging is automatically directed to files only (not console) to maintain clean JSON-RPC communication. Logs are written to `~\u002Fplaywright-mcp-server.log`.\n\n### HTTP Mode (Standalone Server)\n\nWhen running headed browser on systems without display or from worker processes of IDEs, you can run the MCP server as a standalone HTTP server:\n\n> **Note for Claude Desktop Users:** Claude Desktop currently requires stdio mode (command\u002Fargs configuration). HTTP mode is recommended for VS Code, custom clients, and remote deployments. See [CLAUDE_DESKTOP_CONFIG.md](CLAUDE_DESKTOP_CONFIG.md) for details.\n\n#### Starting the HTTP Server\n\n```bash\n# Using npx\nnpx @executeautomation\u002Fplaywright-mcp-server --port 8931\n\n# Or after global installation\nplaywright-mcp-server --port 8931\n```\n\nThe server will start and display available endpoints:\n\n```\n==============================================\nPlaywright MCP Server (HTTP Mode)\n==============================================\nPort: 8931\n\nENDPOINTS:\n- SSE Stream:     GET  http:\u002F\u002Flocalhost:8931\u002Fsse\n- Messages:       POST http:\u002F\u002Flocalhost:8931\u002Fmessages?sessionId=\u003Cid>\n- MCP (unified):  GET  http:\u002F\u002Flocalhost:8931\u002Fmcp\n- MCP (unified):  POST http:\u002F\u002Flocalhost:8931\u002Fmcp?sessionId=\u003Cid>\n- Health Check:   GET  http:\u002F\u002Flocalhost:8931\u002Fhealth\n==============================================\n```\n\n#### Client Configuration for HTTP Mode\n\n> **⚠️ CRITICAL:** The `\"type\": \"http\"` field is **REQUIRED** for HTTP\u002FSSE transport!\n\n**For VS Code GitHub Copilot:**\n```json\n{\n  \"github.copilot.chat.mcp.servers\": {\n    \"playwright\": {\n      \"url\": \"http:\u002F\u002Flocalhost:8931\u002Fmcp\",\n      \"type\": \"http\"\n    }\n  }\n}\n```\n\n**For Custom MCP Clients:**\n```json\n{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"url\": \"http:\u002F\u002Flocalhost:8931\u002Fmcp\",\n      \"type\": \"http\"\n    }\n  }\n}\n```\n\n**Important:** Without `\"type\": \"http\"`, the connection will fail.\n\n**For Claude Desktop:** Use stdio mode instead (see Standard Mode above)\n\n#### Use Cases for HTTP Mode\n\n- Running headed browsers on systems without display (e.g., remote servers)\n- Integrating with VS Code GitHub Copilot\n- Running the server as a background service\n- Accessing the server from multiple clients\n- Debugging with the `\u002Fhealth` endpoint\n- Custom MCP client integrations\n\n**Monitoring:** The server includes a monitoring system that starts on a dynamically allocated port (avoiding conflicts). Check the console output for the actual port.\n\n**Note:** For Claude Desktop, continue using stdio mode (Standard Mode above) for now.\n\n## Troubleshooting\n\n### \"No transport found for sessionId\" Error\n\n**Symptom:** 400 error with message \"Bad Request: No transport found for sessionId\"\n\n**Solution:**\n1. **Check configuration includes `\"type\": \"http\"`**\n   ```json\n   {\n     \"url\": \"http:\u002F\u002Flocalhost:8931\u002Fmcp\",\n     \"type\": \"http\"  \u002F\u002F ← This is REQUIRED!\n   }\n   ```\n\n2. **Verify server logs show connection:**\n   ```bash\n   # Should see these in order:\n   # 1. \"Incoming request\" - GET \u002Fmcp\n   # 2. \"Transport registered\" - with sessionId\n   # 3. \"POST message received\" - with same sessionId\n   ```\n\n3. **Restart both server and client**\n\n### Connection Issues\n\n- **Server not starting:** Check if port 8931 is available\n- **External access blocked:** This is by design (security). Server binds to localhost only\n- **For remote access:** Use SSH tunneling:\n  ```bash\n  ssh -L 8931:localhost:8931 user@remote-server\n  ```\n\n## Testing\n\nThis project uses Jest for testing. The tests are located in the `src\u002F__tests__` directory.\n\n### Running Tests\n\nYou can run the tests using one of the following commands:\n\n```bash\n# Run tests using the custom script (with coverage)\nnode run-tests.cjs\n\n# Run tests using npm scripts\nnpm test           # Run tests without coverage\nnpm run test:coverage  # Run tests with coverage\nnpm run test:custom    # Run tests with custom script (same as node run-tests.cjs)\n```\n\nThe test coverage report will be generated in the `coverage` directory.\n\n### Running evals\n\nThe evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found [here](https:\u002F\u002Fwww.mcpevals.io\u002Fdocs).\n\n```bash\nOPENAI_API_KEY=your-key  npx mcp-eval src\u002Fevals\u002Fevals.ts src\u002Ftools\u002Fcodegen\u002Findex.ts\n```\n\n## Contributing\n\nWhen adding new tools, please be mindful of the tool name length. Some clients, like Cursor, have a 60-character limit for the combined server and tool name (`server_name:tool_name`).\n\nOur server name is `playwright-mcp`. Please ensure your tool names are short enough to not exceed this limit.\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=executeautomation\u002Fmcp-playwright&type=Date)](https:\u002F\u002Fstar-history.com\u002F#executeautomation\u002Fmcp-playwright&Date)\n","executeautomation\u002Fmcp-playwright 是一个基于 Playwright 的 Model Context Protocol 服务器，旨在为 Claude Desktop、Cline 和 Cursor IDE 等环境提供浏览器和 API 自动化功能。其核心功能包括网页自动化、截图生成、测试代码编写、网页数据抓取及在真实浏览器环境中执行 JavaScript 代码等。项目特别强调了对143种真实设备预设的支持，使用户能够通过简单的命令或自然语言指令轻松模拟不同设备（如 iPhone、iPad、Pixel、Galaxy 及桌面浏览器）的视口、用户代理、触摸事件及设备像素比。该工具非常适合需要跨平台进行Web应用测试、开发辅助以及自动化任务处理的场景。采用TypeScript编写，并遵循MIT许可证开放源码。",2,"2026-06-11 03:46:11","high_star"]