Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者による説明(英語の原文)
Debug PWAs in your real browser via MCP: service-worker, cache, installability & framework state.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"pwa-debug-layer": {
"command": "npx",
"args": [
"-y",
"@aryanduntley/pwa-debug"
]
}
}
}ターミナルでこれを実行します
claude mcp add pwa-debug-layer -- npx -y @aryanduntley/pwa-debugプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"pwa-debug-layer": {
"command": "npx",
"args": [
"-y",
"@aryanduntley/pwa-debug"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"pwa-debug-layer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@aryanduntley/pwa-debug"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント aryanduntley で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.2.0)がレジストリに届いたのは4 日前です。
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 AI-native debugging layer for PWAs and modern web apps. It lets an AI agent (e.g. Claude Code via MCP) see and act on your live, logged-in browser the way a developer with full DevTools open would — DOM, console, network, framework state, store state, service workers, caches, and direct interaction — as structured data the model consumes natively.
It's built for the questions developers actually search for and that Chrome DevTools makes you assemble by hand: *why won't my service worker update? why is my cache stale? why won't my PWA install? why does this component have the wrong state?* — answered by an agent reading the runtime directly, against your real browser profile (extensions, auth, and all), not a sterile automated tab.
The PWA failures developers actually search for, read straight from your live runtime:
layout_sweep call checks every page × width × color scheme × state and returns a short list of distinct problems.All read from your real, logged-in profile — service-worker, cache, and extension state included — which chrome-devtools-mcp's sterile automated Chrome can't see.
The goal is to eliminate the "user is the AI's eyes and hands" loop. Today, debugging a PWA with AI usually means the human copy/pastes DOM snippets, describes console errors, screenshots UI state, and hand-executes clicks. This project replaces that with direct, structured access.
Status: working on Linux. The full MCP→IPC→native-host→service-worker→page-world round-trip is live, and a broad debugging surface is shipped:
- Capture — console / network / error / DOM-mutation / lifecycle, with persistent ring buffers + disk spill.
- Framework introspection — React, Vue, Svelte, and Solid (component/element trees, state, find-by-text/role).
- Store introspection — Redux, Zustand, Pinia, and Jotai (read, subscribe, dispatch).
- Interaction + touch gestures — click, fill, submit, hover, focus/blur, select, key/type, drag, scroll, swipe, tap, double-tap, long-press, pinch.
- Library-popup capture/replay — WalletConnect / SDK modals: record, replay, tail, failure correlation.
- Replay & source maps — rrweb
session_record/session_replay,source_map_resolve.
- Browser launcher — one-call
pdl_launch_browserwithchrome-devtools-mcpcoexistence.
- Android phones — the same tools drive Android Chrome tabs and installed PWAs over adb (
pdl_android_attach), no desktop browser in the loop.
- Responsive layout sweep —
layout_sweepemulates widths and color schemes over CDP, walks app states and languages, measures overflow, off-screen elements, tap targets, pinned bars, cut-off text, edge contact, clipped focus/selection rings and unresolved copy, runs your owncustom_checks, and groups the results into distinct problems.
- PWA Runtime Diagnostics — service-worker lifecycle + versions, CacheStorage contents + age, installability gaps, a live capability matrix, IndexedDB/web-storage inspection, update-propagation / version-skew analysis, and a one-shot runtime-state snapshot.
Verified on Linux (the full suite live-tested against a real PWA). macOS/Windows code paths are implemented with unit coverage but still need real-machine retest (help wanted). Firefox is not supported (it doesn't speak CDP).
⚠️ macOS / Windows users, beware: these platforms have never been run on real hardware — only unit-tested with injected fakes. Expect rough edges (browser detection, profile paths, native-messaging registration, system-default resolution). Please open an issue with the failing command and its output — bug reports from real macOS/Windows machines are the single most useful contribution right now. See Help wanted for the specific things to try.
chrome-devtools-mcpGoogle's chrome-devtools-mcp gives an AI Chrome DevTools Protocol access (DOM, console, network, screenshots). That covers a lot.
pwa-debug-layer is complementary — it targets the things CDP can't reach:
chrome-devtools-mcp spawns a fresh automated Chrome — which shows "controlled by automated test software," blocks extension loading, and has none of your auth/session state, so authenticated apps are hard to debug (the extensions/auth gap, #265). pwa-debug-layer's default existing mode attaches to your normal profile, with its real cookies, extensions, and service-worker state — exactly the real-profile SW/extension visibility people keep asking Google for (#1173, #96).__REACT_DEVTOOLS_GLOBAL_HOOK__, __vue_app__, _vnode, etc.). CDP can't see these.initScript-on-next-nav.The two are designed to coexist: install both, the AI uses each for what it does best, with zero tool-surface duplication.
┌──────────────────┐ MCP (stdio) ┌──────────────────────────┐
│ Claude Code │ ◄───────────► │ Native Messaging Host │ │ (or any MCP │ │ - MCP server │ │ client) │ │ - Ring buffers │ └──────────────────┘ │ - Replay/snapshot store │ └────────────┬─────────────┘ │ Native Messaging │ (JSON over stdio) ▼ ┌──────────────────────────┐ │ Extension Service Worker│ │ - chrome.debugger (CDP) │ │ - Tab/router │ └────────────┬─────────────┘ │ ┌────────────────────────┼────────────────────────┐ ▼ ▼ ▼ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ │ Content Script │ │ Page-World Script │ │ DevTools Panel │ │ (isolated world) │ │ (MAIN world) │ │ (planned) │ │ - DOM observe │ │ - React/Vue hooks │ │ - Human inspector │ │ - Action exec │ │ - fetch/XHR patch │ │ of AI session │ │ - Bridge to SW │ │ - Bus/RxJS taps │ │ │ └────────────────────┘ └────────────────────┘ └────────────────────┘ └────────── live page (the PWA being debugged) ─────────┘
Three components, one installable unit:
Each does what only it can. See docs/PLAN.md for the full design.
Chromium-family only, sideloaded. Tested against:
.deb / .rpm).deb)macOS Application Support paths and Windows HKCU-registry registration are implemented and have unit-test coverage; the manual round-trip retest currently runs on Linux.
If you installed your browser via snap (e.g. snap install chromium on Ubuntu), it will not work with pwa-debug-layer.
Why: snap's home interface allows the browser to *read* files in $HOME but blocks *exec* of any binary whose resolved path crosses a hidden directory (~/.nvm/..., ~/.config/...). The native messaging host launcher and the node binary it invokes both live under hidden paths in a normal install, so spawn fails with Permission denied and the service worker reports Native host has exited. There is no fix on the extension/host side that doesn't require copying ~125 MB of node into a non-hidden install dir per registration; not worth the install bloat for a setup most distros let you avoid.
What to do: install your Chromium-family browser from a native package source instead:
apt install chromium from the universe repo if you've enabled the non-snap source, or apt install brave-browser / microsoft-edge-stable from their respective .deb repos. The Chromium tarball from chromium.org also works.dnf install chromium is non-snap by default.pacman -S chromium.Flatpak browsers are detected and have a manifest written, but flatpak confinement may also block exec — if it fails, run flatpak override --user --filesystem=host and retry.
git clone https://github.com/<your-fork>/pwa-debug-layer
cd pwa-debug-layer pnpm install pnpm build # builds packages/host/dist/main.js and packages/extension/dist/ pnpm test # full workspace unit suite (shared + host + extension)
For Claude Code, add to your .mcp.json (project-scoped) or ~/.claude/mcp.json (global):
{
"mcpServers": { "pwa-debug": { "type": "stdio", "command": "node", "args": ["/absolute/path/to/pwa-debug-layer/packages/host/dist/main.js"] } } }
Restart Claude Code so it picks up
冒頭だけを表示しています。続きはリポジトリで読めます