websee-mcp-server

1AQuantum/websee-mcp-server

3.2

If you are the rightful owner of websee-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

WebSee MCP Server provides advanced frontend debugging intelligence for AI assistants using the Model Context Protocol (MCP).

Tools
5
Resources
0
Prompts
0

WebSee MCP Server

Frontend Debugging Intelligence for AI Coding Assistants

TypeScript Playwright Node MCP License: MIT

56 MCP tools for debugging frontend applications with AI assistance. Works with Claude Code, Cursor, VS Code, Windsurf, Gemini CLI, and OpenAI Codex.

Features

  • Source Map Resolution - Transform minified stack traces to original source code
  • Component Intelligence - Inspect React/Vue/Angular component state, props, and hierarchy
  • Performance Profiling - Long tasks, memory leaks, Web Vitals, paint timing
  • Timeline Recording - Session recording with screenshots, events, and replay
  • State Evolution - Watch component state changes over time
  • Network Analysis - Trace requests, timing, headers, and response bodies
  • Error Intelligence - Comprehensive error context with AI-suggested causes
  • Watch Mode - Proactive monitoring with configurable triggers
  • Bundle Analysis - Webpack/Vite bundle size and dependency analysis

Quick Start

# Clone and setup
git clone https://github.com/1AQuantum/websee-mcp-server.git
cd websee-mcp-server
npm run setup

# Build for production
npm run build

Then configure your AI coding assistant using the instructions below.


Installation by Platform

Claude Code

Method 1: CLI (Recommended)

# Navigate to the websee directory
cd /path/to/websee-mcp-server

# Add the MCP server
claude mcp add websee -- node dist/mcp-server.js

# Verify installation
claude mcp list

Method 2: Project Configuration

Create .mcp.json in your project root:

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Then enable in .claude/settings.local.json:

{
  "enabledMcpjsonServers": ["websee"]
}

Cursor IDE

Create .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Then go to Cursor Settings > Tools & Integrations > MCP and click refresh.


VS Code (GitHub Copilot)

Create .vscode/mcp.json in your workspace:

{
  "servers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Requires the GitHub Copilot Chat extension with MCP support enabled.


Windsurf (Codeium)

Edit ~/.codeium/windsurf/mcp_config.json:

macOS/Linux:

mkdir -p ~/.codeium/windsurf

Windows:

mkdir %USERPROFILE%\.codeium\windsurf

Add configuration:

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Open Windsurf Settings (Cmd/Ctrl + ,) > Cascade > Plugins (MCP servers) to verify.


OpenAI Codex CLI

Add to ~/.codex/config.toml:

[mcp.servers.websee]
command = "node"
args = ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"]

[mcp.servers.websee.env]
BROWSER = "chromium"
HEADLESS = "true"

Or use the CLI:

codex mcp add websee -- node /path/to/websee-mcp-server/dist/mcp-server.js

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/absolute/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "chromium",
        "HEADLESS": "true"
      }
    }
  }
}

Restart Claude Desktop after saving.


Available Tools (56 Total)

Workflow Tools (6)

High-level debugging workflows that combine multiple capabilities:

ToolDescription
debug_frontend_issueDebug frontend issues by analyzing components, network, and errors
analyze_performanceAnalyze frontend performance (network, components, bundle, memory)
inspect_component_stateInspect component state, props, and structure
trace_network_requestsTrace network requests and identify triggers
analyze_bundle_sizeAnalyze JavaScript bundle size and large modules
resolve_minified_errorResolve minified stack traces to source code

Component Intelligence (8)

ToolDescription
component_treeGet full component hierarchy as tree structure
component_get_propsGet component props by CSS selector
component_get_stateGet component state by CSS selector
component_find_by_nameFind all instances of a component by name
component_get_sourceMap component to source file location
component_track_rendersTrack component re-renders over time
component_get_contextGet React context values
component_get_hooksGet React hooks state

Performance Intelligence (5)

ToolDescription
perf_get_long_tasksCapture long tasks blocking the main thread
perf_profile_memoryProfile heap memory for leak detection
perf_get_metricsGet Core Web Vitals (LCP, FCP, CLS, FID, TTFB)
perf_detect_detached_nodesDetect detached DOM nodes (memory leaks)
perf_get_paint_timingGet paint timing metrics (FP, FCP, LCP, TTI)

Error Intelligence (5)

ToolDescription
error_resolve_stackResolve minified stack traces via source maps
error_get_contextGet comprehensive error context
error_trace_causeTrace error to root cause with AI analysis
error_get_similarFind similar errors to identify patterns
error_get_enriched_contextGet enriched context with timeline, state, network

Network Intelligence (6)

ToolDescription
network_get_requestsGet all network requests with details
network_get_by_urlFilter requests by URL pattern
network_get_timingGet detailed timing metrics for a request
network_trace_initiatorTrace request to source code origin
network_get_headersGet request/response headers
network_get_bodyGet request/response body

Timeline Intelligence (8)

ToolDescription
timeline_start_recordingStart recording session with events/screenshots
timeline_stop_recordingStop recording and get summary
timeline_get_eventsQuery events by time range and type
timeline_get_summaryGet recording summary with stats
timeline_export_videoExport as interactive HTML video player
timeline_replay_sessionReplay recorded interactions
timeline_get_event_at_timeGet event and screenshot at timestamp
capture_videoCapture native video for AI analysis

State Intelligence (4)

ToolDescription
state_watch_componentWatch component state changes over time
state_get_mutationsTrack DOM mutations
state_capture_snapshotCapture full page state snapshot
state_compare_snapshotsCompare two snapshots for differences

Watch Mode (2)

ToolDescription
watch_startStart watching for conditions (errors, network, DOM)
watch_stopStop watch session and get results

Build Intelligence (5)

ToolDescription
build_get_manifestGet webpack/vite build manifest
build_get_chunksGet all code chunks with modules
build_find_moduleFind specific module in bundle
build_get_dependenciesGet module dependency graph
build_analyze_sizeAnalyze bundle sizes with recommendations

Source Intelligence (7)

ToolDescription
source_map_resolveResolve minified location to original source
source_map_get_contentGet original source file content
source_trace_stackEnhance full stack trace with source maps
source_find_definitionFind function/class definition in source
source_get_symbolsList exports, imports, and types from file
source_map_bundleMap bundle to all original source files
source_coverage_mapMap V8 coverage data to original sources

Configuration Options

Environment Variables

VariableDefaultDescription
BROWSERchromiumBrowser to use: chromium, firefox, webkit
HEADLESStrueRun browser headlessly: true, false

Example with Environment Variables

{
  "mcpServers": {
    "websee": {
      "command": "node",
      "args": ["/path/to/websee-mcp-server/dist/mcp-server.js"],
      "env": {
        "BROWSER": "firefox",
        "HEADLESS": "false"
      }
    }
  }
}

Usage Examples

Once configured, ask your AI assistant:

"Debug the login form at https://example.com - check for JavaScript errors"

"Analyze performance of https://myapp.com/dashboard - find slow API calls"

"Inspect the UserProfile component state at https://app.com"

"Start recording a session on https://shop.com and capture user interactions"

"Watch https://myapp.com for any console errors or network failures"

"Profile memory usage on https://dashboard.com to find leaks"

Development

# Install dependencies
npm install

# Install browsers
npx playwright install chromium

# Build
npm run build

# Run tests
npm test

# Start MCP server directly
npm run mcp:serve

Project Structure

websee-mcp-server/
├── src/
│   ├── index.ts                 # Main entry point
│   ├── mcp-server.ts            # MCP server implementation
│   ├── tools/                   # MCP tool implementations
│   │   ├── component-intelligence-tools.ts
│   │   ├── performance-intelligence-tools.ts
│   │   ├── error-intelligence-tools.ts
│   │   ├── network-intelligence-tools.ts
│   │   ├── timeline-intelligence-tools.ts
│   │   ├── state-intelligence-tools.ts
│   │   ├── watch-mode-tools.ts
│   │   ├── build-intelligence-tools.ts
│   │   └── source-intelligence-tools.ts
│   ├── timeline/                # Timeline recording system
│   ├── source-map-resolver.ts   # Source map resolution
│   ├── component-tracker.ts     # Component inspection
│   └── network-tracer.ts        # Network tracing
├── dist/                        # Compiled output
├── examples/                    # Configuration examples
├── package.json
├── tsconfig.json
└── README.md

Troubleshooting

MCP Server Not Appearing

  1. Verify the path is absolute (not relative)
  2. Ensure you ran npm run build
  3. Restart your AI coding assistant
  4. Check MCP logs in your tool's settings

Browser Launch Fails

# Install browsers with dependencies
npx playwright install --with-deps chromium

Source Maps Not Found

  • Ensure your app generates source maps
  • Source maps must be accessible (same origin or CORS enabled)
  • Check browser DevTools Network tab for .map files

Component Tracking Not Working

  • React: Must be in development mode
  • Vue: Requires Vue DevTools concepts enabled
  • Angular: Requires development mode

Requirements

  • Node.js 18.0.0 or higher
  • Operating System: macOS, Linux, or Windows
  • Browsers: Chromium, Firefox, or WebKit (installed via Playwright)

License

MIT - See for details.


Links


Ready to debug with AI? Clone, build, and connect to your favorite AI coding assistant!