Skip to main content

Overview

The Limelight MCP Server connects your running React or React Native app to AI coding assistants like Cursor, Claude Code, and any MCP-compatible editor. Instead of copying logs into ChatGPT or hoping your AI can guess what’s wrong from source code alone, Limelight streams live runtime data — renders, state changes, network requests, and console logs — directly into your editor’s AI. Ask your AI “why is my app slow?” and it answers with real data, not guesses.
The MCP server runs locally on your machine. No data leaves your system.

Quickstart

1

Add the MCP server to your editor

2

Install the SDK in your app

Initialize with the MCP target:
Add Zustand or Redux stores to capture state changes:
3

Start your app and ask your AI

With your app running and your AI editor open, try:
  • “My app feels slow. Do you see any issues?”
  • “Why is my search showing wrong results?”
  • “Which components are re-rendering the most?”
Your AI will call Limelight’s tools automatically to inspect your app’s runtime state and give you answers backed by real data.

What your AI can see

Once connected, your AI assistant has access to everything happening in your running app:

Renders

Which components are rendering, how often, how expensive, and why. Detects render loops, unnecessary re-renders, and unstable props.

State

Zustand and Redux store contents, recent changes, and diffs. See exactly how state evolved over time.

Network

Every request and response with timing, status, headers, and bodies. Detects race conditions, waterfalls, and failed requests.

Console

All console output with levels, timestamps, and stack traces. Filtered and searchable.

Tools reference

The MCP server exposes 11 tools that your AI calls automatically based on your questions. For detailed usage workflows and examples, see the Tools & Workflows guide.

Diagnostics

High-level snapshot of your running app. Event counts, errors, suspicious components, and detected patterns. This is usually the first tool your AI calls.Returns: total events by type, error/warning counts, top rendered components, suspicious items, and session metadata.
Proactive scan across all captured events. Runs Limelight’s correlation engine and Debug IR pipeline on anything that looks problematic.Detects: unnecessary re-renders, unstable props, render cascades, race conditions, N+1 queries, state thrashing, and more.
Full root cause analysis on an error. Runs the Debug IR pipeline to produce a causal chain, state deltas, violations, and suggested fixes.

Querying

Filter and search captured network requests.
Filter and search console events.
Chronological view of all events within a time range.

Deep dives

Full analysis of a React component — render history, props driving re-renders, and correlated state/network activity.
Component render performance profiling. Shows render counts, costs, velocity, cause breakdown, and suspicious flags.
Current state store contents and recent change history.
Find everything related to a specific event using Limelight’s correlation engine. Returns a timeline (before/concurrent/after) and a correlation graph with edge types and confidence scores.
Retrieve the full details of a single event by its ID. Returns complete event data including bodies, headers, stack traces, state diffs, or render details depending on event type. Use this for cheap inspection after finding event IDs from other tools.

Configuration

The MCP server accepts CLI arguments for customization:

How it works

  1. The Limelight SDK captures runtime events in your app
  2. Events stream to the MCP server over a local WebSocket connection
  3. The MCP server runs correlation and analysis on the events
  4. Your AI assistant calls Limelight’s tools via the MCP protocol
  5. Responses include structured, pre-analyzed debugging context — not raw logs
All data stays on your machine. The MCP server runs locally and communicates with your editor over stdio.
The MCP server stores events in memory. Data resets when the server restarts. Maximum capacity is configurable with --max-events.

Supported frameworks

Supported state libraries