dashpilot

star 1

Chrome extension + MCP server for live read-only inspection of the active browser tab. Captures HTTP fetch requests with response bodies, WebSocket frames, React component props/state/hooks, TanStack React Query cache, lightweight-charts candlestick/OHLCV data, and Recharts state. Use this skill whenever the user wants to see what a web page is doing, inspect browser tab activity, debug dashboard or web app behavior, read API response bodies, check what endpoints a page is hitting, examine React component props or state, look at query cache staleness, or extract chart data points. Also use when the user mentions DashPilot, page snapshot, network log, fetch calls, API traffic, websocket messages, CSS computed styles, or anything about observing/inspecting a live web page. This skill is for observation only — if the user wants to click, navigate, type, or take screenshots, use Chrome DevTools MCP instead.

lgbarn By lgbarn schedule Updated 5/22/2026

name: dashpilot description: >- Chrome extension + MCP server for live read-only inspection of the active browser tab. Captures HTTP fetch requests with response bodies, WebSocket frames, React component props/state/hooks, TanStack React Query cache, lightweight-charts candlestick/OHLCV data, and Recharts state. Use this skill whenever the user wants to see what a web page is doing, inspect browser tab activity, debug dashboard or web app behavior, read API response bodies, check what endpoints a page is hitting, examine React component props or state, look at query cache staleness, or extract chart data points. Also use when the user mentions DashPilot, page snapshot, network log, fetch calls, API traffic, websocket messages, CSS computed styles, or anything about observing/inspecting a live web page. This skill is for observation only — if the user wants to click, navigate, type, or take screenshots, use Chrome DevTools MCP instead.

DashPilot — Live Dashboard Intelligence via MCP

Chrome MV3 extension + MCP server that gives Claude read-only access to the active browser tab. Observes network traffic, React internals, query caches, and chart data without modifying the page.

Setup

The DashPilot MCP server connects via native messaging. Tools are available as mcp__dashpilot__*. Use ToolSearch with +dashpilot to discover and load them.

Tools Reference

Debug

Tool Purpose Key Params
ping MCP connectivity check
test_roundtrip Full round-trip through extension to content script

React & DOM

Tool Purpose Key Params
page_snapshot URL, title, viewport, console errors, React tree, dashboard counts depth (1-20, default 3)
inspect_component Find React component by name, return props/state/hooks/children name (required), depth (1-20)
get_styles Computed CSS properties and bounding rect for a CSS selector selector (required)
get_query_cache TanStack React Query cache entries (keys, status, staleness) limit (1-100), offset
get_query_data Full cached data for a specific query key query_key (required, JSON array string)

Network

Tool Purpose Key Params
get_network_log Captured HTTP requests with response bodies (up to 10KB each) url_filter, limit (1-100), offset
get_websocket_log WebSocket frames with payload (up to 5KB each) url_filter, limit (1-100), offset

Charts

Tool Purpose Key Params
get_chart_state Lightweight-charts series data (OHLCV), time range, options max_points (1-5000, default 200)
get_recharts_state Recharts data arrays, axis config, dimensions max_points (1-5000, default 200)

Paginated Responses

Network, WebSocket, and query cache tools return paginated envelopes:

{ "entries": [...], "total": 50, "offset": 0, "limit": 20, "hasMore": true }

Use offset + limit to page through results. Default limit is 20, max 100.

Response Caps

All tool responses are capped at 50KB. Large payloads are truncated with "truncated": true and "hasMore": true markers. Chart data defaults to 200 most recent data points per series.

Common Workflows

See what a page is doing

page_snapshot -> get_network_log (limit: 5) -> get_chart_state

Debug API issues

get_network_log(url_filter: "/api/") -> inspect specific responses

Check React state

page_snapshot (check reactDetected) -> get_query_cache -> get_query_data(query_key)

Inspect a component

inspect_component(name: "Button") -> get_styles(selector: ".my-button")

Error Messages

All errors include the tool name in brackets and actionable recovery steps:

  • [action] No extension connected... -> Chrome not running or extension not loaded
  • [action] Content script timed out... -> Page needs reload
  • [action] Could not reach content script... -> Navigate to an http/https page

Limitations

  • Read-only — Cannot click, navigate, or modify pages (use Chrome DevTools MCP for that)
  • Active tab only — Inspects the active tab in the last focused Chrome window
  • Content script required — Only works on http/https pages (not chrome://, file://, etc.)
  • React DevTools needed — Component tree and query cache require React DevTools browser extension
  • Chart hooks — Lightweight-charts must be hooked at load time; charts created before extension loads won't be captured

Complementary Tools

DashPilot pairs with the Chrome DevTools MCP server:

  • DashPilot = observe (network, React state, charts, queries)
  • Chrome DevTools = act (click, navigate, fill forms, take screenshots)

Use both together: DevTools to navigate, DashPilot to inspect what happened.

Architecture

Claude <-stdio-> MCP Server <-Unix socket-> Native Host <-native messaging->
  Service Worker <-chrome.tabs.sendMessage-> Content Script (ISOLATED world)
    <-window.postMessage-> Content-Main Script (MAIN world, hooks fetch/WS/charts)

Source Code

  • Extension: extension/
  • MCP Server: mcp-server/
  • Install: bash install.sh
Install via CLI
npx skills add https://github.com/lgbarn/skills --skill dashpilot
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator