React Render Profile Mcp

io.github.vola-trebla由 GitHub 账号 vola-trebla 发布v1.0.2更新于 Nov 3, 2026

Decodes React DevTools Profiler exports into render summaries and memoization advice for AI agents.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

把 React DevTools Profiler 导出文件解析为渲染摘要、memo 化建议,并可为 AI 编码代理直接改写组件源码。

可以做什么
  • 汇总性能剖析:提交次数、总渲染耗时、无效渲染与生命周期异常
  • 找出浪费的渲染并归类触发原因,评估 React Compiler 或 React.memo 被绕过的位置
  • 诊断水合不匹配、Suspense 瀑布、外部 store 选择器不稳定及状态级联深度
  • 给出高回报的 memo 化建议,并静态审计组件源码的编译器规则违规
  • 直接改写磁盘上的组件源码:提升字面量、包裹 hooks、套用 React.memo
  • 检查 RSC Flight 负载的分块大小、瀑布与已知漏洞,并把提交与 Chrome trace 对齐估算 CLS/INP
适用场景
适合在代理重构 React 组件、Context Provider 或 store 选择器时,用真实运行时渲染数据代替猜测;也适合排查卡顿、输入延迟或重复渲染风暴,前提是能导出 React DevTools 性能剖析文件。
运行要求
以 stdio 在本地运行,通常通过 npx 启动,因此需要 Node.js。所有剖析工具都需要 React DevTools Profiler 导出的 JSON 文件的绝对路径;修复与审计工具需要源码文件路径。未声明任何账号、API 密钥或环境变量。
安装前请注意
修复工具会直接修改磁盘上的组件源码,请使用版本控制并审阅改动。它会读取本地剖析与 trace 文件,并把内容发送给模型。README 还建议把一段工作流提示写入代理的系统指令,这一步是可选的。

安装

在 SourceWeft 中

  1. 打开 控制台中的 React Render Profile Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

react-render-profile-mcp

[npm version] [npm downloads] [CI] [License: MIT]

An Autonomous Performance SRE & Auto-Remediation Engine for React, exposed as a Model Context Protocol (MCP) server. Built specifically to bridge the performance perception gap for AI coding agents (Claude, Cursor, Copilot).


👁️ The Blind Spot: Why AI Agents Break React Production

When an AI agent refactors a Context Provider, changes state architecture, or hooks up a global store, it is completely blind to the runtime performance impact.

An agent can successfully pass unit tests and compile code while introducing catastrophic performance regressions:

  • A single state update cascading into 80 unnecessary child re-renders.
  • Infinite rendering loops triggered by unstable Zustand/Redux selector references.
  • Hydration mismatches forcing React to throw away server-rendered HTML and mount from scratch.
  • Unstable key props causing components to unmount and mount on every render cycle (lifecycle anomalies).

react-render-profile-mcp gives AI agents a "third eye" to dynamically measure, visualize, and auto-remediate these performance bottlenecks.


⚡ The Four Pillars of AI-SRE

Instead of raw JSON dumps, this server organizes performance data into structured, actionable insights across four core engineering pillars:

🧠 1. AST Auto-Remediation Engine (ts-morph)

ア When a bottleneck is found, the agent doesn't need to manually rewrite code. The server can mutate component source code on disk:

  • Hoisting: Statically hoisting object and array literals out of render bodies.
  • Dynamic Memoization: Wrapping unstable functions and variables in useCallback and useMemo with computed dependency arrays.
  • ROI Wrapping: Wrapping components in React.memo only if the profiled self-time and spurious render count justify the comparison overhead (ROI > 1.5).
  • Rule Auditing: Scanning code to prevent compiler bailouts (detecting Date.now(), Math.random(), or render-phase useRef mutations).

📊 2. Interactive SVG Cascade Visualizer (MCP Resource)

Generates parent-child rendering graphs directly into the agent's chat window using the custom resource URI scheme react-profile://commits/{commitId}/cascade?profile_path={profile_path}.

  • Triggers are styled with distinct HSL palettes to isolate propagation channels:
    • 🔵 Context Trigger: Blue (ocean wave)
    • 🟠 Zustand/Redux Store: Orange (subscriber ripple)
    • 🔴 Props Invalidation: Red (reference mismatch)
    • 🟢 State Change: Green (emerald trigger source)

🛡️ 3. RSC Flight Stream & Security Profiler

Analyzes React Server Components (RSC) Flight streams to optimize delivery:

  • Identifies bloated chunks (> 50KB) and sequential waterfalls.
  • Scans payloads for prototype traversal vulnerabilities like CVE-2025-55182 (React2Shell) exploits.

⚛️ 4. Multi-Layer Trace Correlator

Aligns React commits with Chrome Performance timeline events using blink.user_timing markers.

  • Measures post-commit layout, paint, and style calculation tasks to calculate real Core Web Vitals impacts (CLS / INP estimates).

🛠️ MCP Tools Reference

Below is a compact summary of the tools exposed by this server. All tools accept a required profile_path pointing to a React DevTools export .json.

Tool NameParametersPurpose / Output
get_render_summaryprofile_pathOverview of commits, total render time, spurious renders count, and lifecycle anomalies.
find_spurious_rendersprofile_path, min_render_count?Lists components that rendered with identical props/state. Classifies trigger into UNSTABLE_PARENT_REF or CONTEXT_UPDATE.
analyze_compiler_efficacyprofile_path, invalid_threshold?Computes Invalidation Index to identify where React Compiler or React.memo is bypassed.
diagnose_hydration_and_suspenseprofile_path, waterfall_threshold_ms?Detects server-client hydration mismatches and nested Suspense fetch waterfalls.
evaluate_external_store_performanceprofile_path, max_blocking_task_ms?Finds unstable useSyncExternalStore selectors and high-priority blocking sync tasks.
trace_state_cascade_footprintprofile_path, commit_indexTraces virtual owner tree to measure propagation depth and consumer count of updates.
suggest_memoizationprofile_path, min_wasted_ms?Provides high-ROI React.memo suggestions based on average self-time (> 2ms threshold).
remediate_componentfile_path, component_name, unstable_props, roi_scoreModifies AST on disk to hoist variables, wrap hooks, and apply memoization.
audit_compiler_rulesfile_path, component_nameStatically audits component source code for React Compiler rule violations.
profile_rsc_streamstream_payloadParses RSC Flight logs to audit chunk sizes, waterfalls, and React2Shell exploits.
correlate_chrome_traceprofile_path, trace_pathAligns React commits with Chrome trace events to calculate CLS/INP web vitals impacts.

🤖 Prompt Injection: Teach Your Agent to Profile

To get the most out of this server, add the following prompt to your agent's system instructions (e.g., in .cursorrules, Cursor System Prompt, or Claude Custom Instructions):

markdown
You are equipped with `react-render-profile-mcp`. Use it systematically whenever:
1. You make structural changes to React components, global state providers, or store selectors.2. The user reports lag, slow input response, or UI stuttering.3. You refactor context providers, Zustand selectors, or Redux dispatches.
Debugging Workflow:
- Ask the user to record and export a React DevTools profile (.json).- Run `get_render_summary` to understand the scale of the problem and look for `lifecycle_anomaly: true` (unstable keys).- Run `find_spurious_renders` and `analyze_compiler_efficacy` to pinpoint unstable prop references.- Call the `react-profile://commits/{commitId}/cascade` resource to visualize cascades.- Use `remediate_component` to automatically apply AST optimizations (hoisting static variables, wrapping hooks) instead of doing it manually.

📋 How to Export a Profile

  1. Open React DevTools in your browser.
  2. Navigate to the Profiler tab.
  3. Click the Record button (circle), interact with your application to trigger the performance issue, and click Stop.
  4. Click the Save Profile icon (💾) to download the .json file.
  5. Provide the absolute path to this file to the MCP server.

⚙️ Setup & Installation

Claude Desktop

Add this to your claude_desktop_config.json:

json
{  "mcpServers": {    "react-render-profile": {      "command": "npx",      "args": ["-y", "react-render-profile-mcp"]    }  }}

Cursor / VS Code / Other Clients

Add an MCP server of type command:

  • Command: npx -y react-render-profile-mcp

🔧 Under the Hood

  • ESM-Native: Built with TypeScript ESM, optimized for fast Node.js imports.
  • React DevTools v5 Protocol: Natively decodes serialized operations arrays, resolving fiber snapshots and name maps.
  • Lane Identification: Distinguishes between high-priority lane updates and concurrent transition commits (Low Priority/Idle) to prevent false-positive regression flags.
  • AST Modification Safety: Implements ts-morph statement manipulation blocks, avoiding common parser state corruption during multi-pass rewrites.

Part of the MCP Toolbelt

Developed alongside:


License

MIT

来源:README.md,提交 e834c0d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分