{"id":22670788,"url":"https://github.com/executeautomation/mcp-playwright","last_synced_at":"2025-05-12T13:32:29.376Z","repository":{"id":266359353,"uuid":"898077246","full_name":"executeautomation/mcp-playwright","owner":"executeautomation","description":"Playwright Model Context Protocol Server - Tool to automate Browsers and APIs in Claude Desktop, Cline, Cursor IDE and More 🔌","archived":false,"fork":false,"pushed_at":"2025-04-22T22:00:52.000Z","size":25603,"stargazers_count":3413,"open_issues_count":25,"forks_count":274,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-05-06T08:15:14.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://executeautomation.github.io/mcp-playwright/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/executeautomation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-03T18:43:20.000Z","updated_at":"2025-05-06T07:32:14.000Z","dependencies_parsed_at":"2024-12-21T18:24:47.326Z","dependency_job_id":"605b7f1c-e4da-4180-aba5-7f071ca2a2c6","html_url":"https://github.com/executeautomation/mcp-playwright","commit_stats":null,"previous_names":["executeautomation/mcp-playwright"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/executeautomation%2Fmcp-playwright","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/executeautomation%2Fmcp-playwright/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/executeautomation%2Fmcp-playwright/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/executeautomation%2Fmcp-playwright/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/executeautomation","download_url":"https://codeload.github.com/executeautomation/mcp-playwright/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514628,"owners_count":21920337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T16:01:15.962Z","updated_at":"2025-05-12T13:32:29.355Z","avatar_url":"https://github.com/executeautomation.png","language":"TypeScript","funding_links":[],"categories":["Browser Automation","Code Execution \u0026 Automation Mcp Servers","スター履歴","服务器实现","🔍 \u003ca name=\"search-web\"\u003e\u003c/a\u003eSearch \u0026 Web","A01_文本生成_文本对话","TypeScript","📚 Projects (1974 total)","Community Servers","MCP 服务器精选列表","Legend","HarmonyOS","MCP-Based Testing","MCP Servers","Developer Tools","カテゴリ","Utilities","🛠️ Developer Tools","🌐 Web Development","Uncategorized","MCP Ecosystem","🗂️ Extensions by Category","MCP Servers \u0026 Protocol","Table of Contents","Dev Tools (29)","Server Implementations"],"sub_categories":["Playwright","📂 \u003ca name=\"browser-automation\"\u003e\u003c/a\u003eブラウザ自動化","系统与硬件","大语言对话模型及数据","MCP Servers","🌐 浏览器自动化与网页交互","📂 \u003ca name=\"browser-automation\"\u003e\u003c/a\u003eBrowser Automation","How to Submit","Windows Manager","📂 Browser Automation","🛠️ \u003ca name=\"developer-tools\"\u003e\u003c/a\u003e開発ツール","System Tools","Uncategorized","Servers","Browser Automation","Browser and Web","🌐 Web Services"],"readme":"\u003cdiv align=\"center\" markdown=\"1\"\u003e\n   \u003csup\u003eSpecial thanks to:\u003c/sup\u003e\n   \u003cbr\u003e\n   \u003cbr\u003e\n   \u003ca href=\"https://www.warp.dev/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=mcp-playwright\"\u003e\n      \u003cimg alt=\"Warp sponsorship\" width=\"400\" src=\"https://github.com/user-attachments/assets/ab8dd143-b0fd-4904-bdc5-dd7ecac94eae\"\u003e\n   \u003c/a\u003e\n\n### [Warp, the AI terminal for developers](https://www.warp.dev/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=mcp-playwright)\n[Available for MacOS, Linux, \u0026 Windows](https://www.warp.dev/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=mcp-playwright)\u003cbr\u003e\n\n\u003c/div\u003e\n\u003chr\u003e\n\n# Playwright MCP Server 🎭\n\n[![smithery badge](https://smithery.ai/badge/@executeautomation/playwright-mcp-server)](https://smithery.ai/server/@executeautomation/playwright-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 scraps the page and execute JavaScript in a real browser environment.\n\n\u003ca href=\"https://glama.ai/mcp/servers/yh4lgtwgbe\"\u003e\u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/yh4lgtwgbe/badge\" alt=\"mcp-playwright MCP server\" /\u003e\u003c/a\u003e\n\n## Screenshot\n![Playwright + Claude](image/playwright_claude.png)\n\n## [Documentation](https://executeautomation.github.io/mcp-playwright/) | [API reference](https://executeautomation.github.io/mcp-playwright/docs/playwright-web/Supported-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/playwright-mcp-server\n```\n\nUsing mcp-get:\n```bash\nnpx @michaellatman/mcp-get@latest install @executeautomation/playwright-mcp-server\n```\nUsing Smithery\n\nTo install Playwright MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@executeautomation/playwright-mcp-server):\n\n```bash\nnpx -y @smithery/cli install @executeautomation/playwright-mcp-server --client claude\n```\n#### Installation in VS Code\n\nInstall the Playwright MCP server in VS Code using one of these buttons:\n\n\u003c!--\n// Generate using?:\nconst config = JSON.stringify({ name: 'playwright', command: 'npx', args: [\"-y\", \"@executeautomation/playwright-mcp-server\"] });\nconst urlForWebsites = `vscode:mcp/install?${encodeURIComponent(config)}`;\n// Github markdown does not allow linking to `vscode:` directly, so you can use our redirect:\nconst urlForGithub = `https://insiders.vscode.dev/redirect?url=${encodeURIComponent(urlForWebsites)}`;\n--\u003e\n\n[\u003cimg src=\"https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square\u0026label=Install%20Server\u0026color=0098FF\" alt=\"Install in VS Code\"\u003e](https://insiders.vscode.dev/redirect?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://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square\u0026label=Install%20Server\u0026color=24bfa5\"\u003e](https://insiders.vscode.dev/redirect?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/playwright-mcp-server\"]}'\n```\n\n```bash\n# For VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"playwright\",\"command\":\"npx\",\"args\":[\"@executeautomation/playwright-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## Configuration to use Playwright Server\nHere's the Claude Desktop configuration to use the Playwright server:\n\n```json\n{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@executeautomation/playwright-mcp-server\"]\n    }\n  }\n}\n```\n\n## SSE (Server-Sent Events) Support\n\nPlaywright MCP Server now supports real-time event streaming via Server-Sent Events (SSE).\n\n### How to Use\n\n- The server exposes an SSE endpoint at `http://localhost:3001/events`.\n- You can connect to this endpoint using any SSE-compatible client (such as EventSource in the browser or curl).\n- Events are sent in real-time as they occur (e.g., new console logs, screenshots, etc.).\n\n### Example (JavaScript)\n```js\nconst evtSource = new EventSource('http://localhost:3001/events');\nevtSource.addEventListener('console_log_entry', (event) =\u003e {\n  const data = JSON.parse(event.data);\n  console.log('Console log:', data.log);\n});\nevtSource.addEventListener('screenshot', (event) =\u003e {\n  const data = JSON.parse(event.data);\n  console.log('Screenshot event:', data);\n});\n```\n\n### Available Events\n- `console_log_entry`: Fired when a new console log is captured.\n- `console_logs`: Fired when all logs are requested.\n- `screenshot`: Fired when a screenshot is taken or requested.\n\nThis allows you to build real-time dashboards, monitoring tools, or simply observe browser activity as it happens.\n\n## Testing\n\nThis project uses Jest for testing. The tests are located in the `src/__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## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=executeautomation/mcp-playwright\u0026type=Date)](https://star-history.com/#executeautomation/mcp-playwright\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexecuteautomation%2Fmcp-playwright","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexecuteautomation%2Fmcp-playwright","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexecuteautomation%2Fmcp-playwright/lists"}