Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者による説明(英語の原文)
Run Playwright tests and surface structured results for AI agents doing test failure analysis.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
PW_ALLOWED_DIRS, PW_RESULTS_FILE必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"playwright-report": {
"command": "npx",
"args": [
"-y",
"playwright-report-mcp"
],
"env": {
"PW_ALLOWED_DIRS": "your-value",
"PW_RESULTS_FILE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add playwright-report --env PW_ALLOWED_DIRS=your-value --env PW_RESULTS_FILE=your-value -- npx -y playwright-report-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"playwright-report": {
"command": "npx",
"args": [
"-y",
"playwright-report-mcp"
],
"env": {
"PW_ALLOWED_DIRS": "your-value",
"PW_RESULTS_FILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"playwright-report": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"playwright-report-mcp"
],
"env": {
"PW_ALLOWED_DIRS": "your-value",
"PW_RESULTS_FILE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
PW_ALLOWED_DIRS envPW_RESULTS_FILE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント hubertgajewski で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.4.0)がレジストリに届いたのは42 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An MCP (Model Context Protocol) server for running Playwright tests and reading structured results, failed test details, and attachment content — designed for AI agents doing test failure analysis.
Playwright Report MCP gives an AI agent structured, token-efficient access to Playwright test outcomes. It runs your test suite, reads the JSON reporter output, and surfaces exactly what the agent needs: which tests failed, what the errors were, and the content of relevant attachments.
There are many Playwright MCP servers that control a browser — they navigate pages, click elements, fill forms, and take screenshots. Playwright Report MCP is not one of those.
| Browser automation MCPs | Playwright Report MCP | |
|---|---|---|
| Examples | microsoft/playwright-mcp, executeautomation/mcp-playwright | this project |
| Purpose | Let an AI agent drive a browser | Let an AI agent read test results |
| Runs tests | No | Yes |
| Returns pass/fail | No | Yes |
| Surfaces error messages | No | Yes |
| Reads attachment content | No | Yes |
Default reporters (`list` / `dot`) — Playwright's default reporters print human-readable output to stdout. Compact, but lossy: no attachment paths, no retry breakdown, no structured data.
HTML reporter (report.html) — A self-contained SPA bundle (typically 2–50 MB). Not machine-readable as text and exceeds any LLM context window.
Reading `results.json` directly — Works, but a full JSON report for even a small test suite is 10,000–20,000 tokens. For a failing test, most of that is passing test metadata you don't need.
results.json to only failed testsApproximate input token counts based on Claude tokenization (~3–4 characters per token for mixed JSON/text content).
| What you need | Without MCP — approach | Tokens (no MCP) | With MCP — tool calls | Tokens (MCP) | Savings |
|---|---|---|---|---|---|
| Error message only — live run | npx playwright test, read stdout (list/dot) | ~500–1,200 | run_tests + get_failed_tests | ~300–500 | ~2× |
| Error message only — existing results | Read full results.json | ~12,500–23,000 | get_failed_tests | ~300–500 | ~25–45× |
| + page state at failure | + read error-context file | ~15,000–26,000 | + get_test_attachment('error-context') | ~2,800–3,500 | ~4–7× |
| + custom text attachments¹ | + read attachment files | ~16,200–28,500 | + get_test_attachment ×2 | ~3,300–5,500 | ~4–5× |
| + full page HTML snapshot² | + read snapshot file | ~41,000–103,000 | + get_test_attachment | ~33,300–85,500 | ~1.2× |
¹ Custom text attachments — e.g. AI diagnosis (~500–2,000 tokens) and console logs (~200–500 tokens) added via
testInfo.attach()in your own fixtures.
² Full page HTML snapshot — a custom fixture that attaches the full rendered page HTML on failure. Large pages alone can reach 30,000–80,000 tokens and dominate cost regardless of whether MCP is used.
Key observations:
list/dot) is compact but gives the agent no path to attachment content — dead end for deeper analysisresults.json directly costs ~12,500–23,000 tokens even when only one test failed — most of it is passing test metadata the agent doesn't neederror-context is the single largest optimisation availableThe primary use case: your CI pipeline runs the tests, the agent picks up the results after the fact and diagnoses failures. get_failed_tests reads results.json regardless of who triggered the run. No re-run needed.
1. Install via npx (recommended)
No clone or build step needed — npx downloads and runs the server automatically:
{
"mcpServers": { "playwright-report-mcp": { "command": "npx", "args": ["-y", "playwright-report-mcp"], "type": "stdio" } } }
Or build from source:
git clone https://github.com/hubertgajewski/playwright-report-mcp.git
cd playwright-report-mcp npm install && npm run build
2. Add the JSON reporter to your Playwright project
// playwright.config.ts
reporter: [ ['json', { outputFile: 'test-results/results.json' }], ['html'], // keep any existing reporters ],
3. Register in `.mcp.json`
{
"mcpServers": { "playwright-report-mcp": { "command": "npx", "args": ["-y", "playwright-report-mcp"], "type": "stdio" } } }
4. Ask your AI agent
Run the Playwright tests and tell me what failed.
Tested with Claude Code (CLI). Should work with any MCP-compatible client that supports stdio transport, including Claude Desktop, Cursor, Cline, Windsurf, and Continue.dev — but these have not been verified.
The stdio server supports both MCP protocol eras from one entrypoint:
2026-07-28, selected by clients using version negotiation (for example, versionNegotiation: { mode: "auto" }).initialize handshake. This remains the default behavior in the MCP client SDK.The opening exchange pins one era for the connection lifetime. A client that pins an unsupported revision receives an explicit negotiation error; the server does not silently switch it to another era.
The project-scoped tools accept an optional workingDirectory parameter — see Multi-worktree support. get_run_status can use either a runId from run_tests with wait: false, or a workingDirectory lookup for the latest tracked run.
run_testsRuns the Playwright test suite and returns structured pass/fail results.
| Input | Type | Description |
|---|---|---|
workingDirectory | string (optional) | Playwright project directory. Absolute or relative to the MCP server launch directory. Defaults to ".". Must be under PW_ALLOWED_DIRS — see Multi-worktree support. |
spec | string (optional) | Spec file path relative to the project directory, e.g. tests/login.spec.ts. Must stay within the project directory. |
browser | enum (optional) | Chromium, Firefox, Webkit, Mobile Chrome, Mobile Safari |
tag | string (optional) | Tag filter, e.g. @smoke |
timeout | integer (optional) | Timeout in milliseconds for the whole test run. Defaults to 300000 (5 min). Use a larger value for long suites or a smaller one to fail fast. When the run is killed by this timeout, the tool returns an explicit error rather than a generic non-zero exit. |
wait | boolean (optional) | Wait for completion before returning. Defaults to true. Set to false to start a background run and poll it with get_run_status. |
updateSnapshots | enum (optional) | Update snapshot baselines. One of all, changed, missing, none. Playwright's default is missing; changed updates differing + missing. Omit to leave existing baselines alone. |
headed | boolean (optional) | Run with a visible browser window. Omitting or setting false leaves playwright.config.ts intact — Playwright has no --no-headed flag, so false does not force headless when the config sets headed. |
workers | integer (optional) | Number of parallel workers. Positive integer only; the "50%" string form is not yet supported. |
retries | integer (optional) | Maximum retry count for flaky tests. 0 explicitly disables retries; omit to use the project's config. |
| maxFailures | integer (optional) | Stop the run after this many failures. Positive integer.
冒頭だけを表示しています。続きはリポジトリで読めます