playwright-react-debug-mcp

playwright-react-debug-mcp

Enables AI-assisted debugging of React applications by providing browser control, DOM inspection, network monitoring, React DevTools, and error analysis through natural language conversation.

Category
访问服务器

README

Playwright React Debug MCP

npm version License: MIT Node.js

Debug React applications with AI assistance using Claude and Playwright.

A Model Context Protocol (MCP) server that gives Claude the ability to interact with live web applications through a browser. Navigate pages, inspect the DOM, monitor network requests, debug React components, and analyze errors—all through natural conversation.

<!-- Add a demo GIF here: Demo -->


Why Use This?

Traditional Debugging With Playwright React Debug MCP
Manually reproduce issues "Navigate to /dashboard and check for errors"
Screenshot and paste into chat Claude sees the live page and interacts directly
Copy-paste console errors Console logs captured automatically
Open React DevTools manually Claude queries component tree with state/props
Check Network tab for failures All HTTP traffic monitored and analyzed

Features

  • 40 debugging tools across 10 categories
  • Browser Control - Navigate, click, fill forms, automate user flows
  • DOM Inspection - Element details, computed styles, text extraction
  • Network Monitoring - Request/response bodies, headers, timing
  • Console Capture - Errors, warnings, logs with filtering
  • React DevTools - Component tree, props, state, hooks inspection
  • State Management - Redux, Zustand, React Query, Context inspection
  • Performance - Render tracking, slow components, Web Vitals
  • Error Detection - Hydration errors, error boundaries, memory leaks
  • Accessibility - WCAG-style audits, ARIA tree inspection
  • Error Analysis - AI-powered analysis with suggested fixes

Quick Start

Install

npm install -g playwright-react-debug-mcp
npx playwright install chromium

Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "playwright-debug": {
      "command": "npx",
      "args": ["playwright-react-debug-mcp"]
    }
  }
}

Configure Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "playwright-debug": {
      "command": "npx",
      "args": ["playwright-react-debug-mcp"],
      "transport": "stdio"
    }
  }
}

Try It

You: Navigate to https://example.com and take a screenshot

Claude: I'll navigate to the page and capture a screenshot.
[Browser opens, navigates, returns screenshot]

Done! The page shows...

Example Session

You: Navigate to my app at localhost:3000/login and try logging in
     with test@example.com

Claude: I'll navigate to the login page and fill in the credentials.

[Navigates, fills email/password, clicks submit]

The login failed. Let me check what happened:

- Console: "TypeError: Cannot read property 'token' of undefined"
- Network: POST /api/auth returned 200 but body is empty
- React: AuthProvider shows { isAuthenticated: false, error: null }

The API returns 200 without a token. The frontend expects response.data.token
but data is undefined. The error state isn't being set because the HTTP
status was 200.

Suggestions:
1. Backend should return { data: { token: "..." } } or proper error status
2. Frontend should validate response structure, not just HTTP status

Available Tools

Navigation & Interaction (11 tools)

Tool Description
navigate Navigate to URL with wait conditions
click Click elements (left/right/double)
fill Fill form fields
select Select dropdown options
type Type text character-by-character
hover Hover over elements
scroll Scroll page or element into view
wait_for Wait for element/navigation
go_back Browser back
go_forward Browser forward
reload Reload page

Inspection (3 tools)

Tool Description
get_dom Summarized DOM tree
get_element Element details with styles
get_text_content Extract visible text

Network (3 tools)

Tool Description
get_network View requests with filtering
get_request_detail Full request/response details
clear_network Clear captured requests

Console (2 tools)

Tool Description
get_console View logs with filtering
clear_console Clear captured logs

React (4 tools)

Tool Description
get_react_tree Component tree with hooks
find_component Search components by name
get_component_state Detailed state/props
collect_component_instances All instances of a component

State Management (4 tools)

Tool Description
get_redux_state Redux store state + actions
get_zustand_stores Zustand store inspection
get_react_query_cache React Query cache
get_context_values React Context values

Performance (3 tools)

Tool Description
get_render_count Component render tracking
get_slow_components Slow component detection
get_web_vitals Core Web Vitals (LCP, CLS, etc.)

Error Detection (3 tools)

Tool Description
find_hydration_errors SSR hydration mismatches
get_error_boundaries React error boundaries
detect_memory_leaks Memory leak indicators

Accessibility (2 tools)

Tool Description
run_accessibility_audit WCAG-style audit
get_aria_tree Accessibility tree

Advanced (5 tools)

Tool Description
screenshot Capture page or element
evaluate_js Execute JavaScript
explain_error AI error analysis
get_debug_summary Page state overview

Use Cases

Interactive Debugging

What errors are on this page?
Why did the form submission fail?

Automated Testing

Fill the registration form and verify it submits successfully
Click through the checkout flow and check for errors

React Development

Find the UserProfile component and show its state
What props are being passed to the Modal?
Collect all Button instances and compare their usage

API Integration

What requests were made when I clicked submit?
Show me the response from the failed API call

Configuration

Environment Variables

Variable Default Description
MAX_CONSOLE_ENTRIES 100 Console log buffer size
MAX_NETWORK_ENTRIES 100 Network request buffer size
PLAYWRIGHT_HEADLESS false Run browser headless
{
  "mcpServers": {
    "playwright-debug": {
      "command": "npx",
      "args": ["playwright-react-debug-mcp"],
      "env": {
        "PLAYWRIGHT_HEADLESS": "true"
      }
    }
  }
}

Development

# Clone
git clone https://github.com/Lars-Albinsson/playwright-react-debug-mcp
cd playwright-react-debug-mcp

# Install
npm install
npx playwright install chromium

# Build
npm run build

# Run
npm start

# Watch mode
npm run dev

Documentation


Requirements

  • Node.js 18+
  • Playwright (Chromium)
  • Claude Desktop or Claude Code

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.


License

MIT License - see LICENSE for details.


Related

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选