# io.github.vola-trebla/react-render-profile-mcp (npm · react-render-profile-mcp)

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

- Trust score: 66/100 (medium)
- Change this week: +20
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `react-render-profile-mcp`: 66/100 (this document), [markdown](https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp.md), [page](https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp)

## Channel facts

- Registry: `npm`
- Package: `react-render-profile-mcp`
- Version: `1.0.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (104 of 108), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (104 of 108), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 72 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1251 tokens (~96/item across 13 items; 13 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add vola-trebla-react-render-profile-mcp -- npx -y react-render-profile-mcp
```

### Codex

```bash
codex mcp add vola-trebla-react-render-profile-mcp -- npx -y react-render-profile-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vola-trebla-react-render-profile-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "react-render-profile-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add vola-trebla-react-render-profile-mcp --command npx --arg -y --arg react-render-profile-mcp
```

### Hermes

```yaml
mcp_servers:
  vola-trebla-react-render-profile-mcp:
    command: "npx"
    args: ["-y", "react-render-profile-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 66, +40)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-08-01 (score 26, +5)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] MCP protocol: unverified → pass

### 2026-07-31 (score 21, −3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 24, −22)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (13)

### `get_render_summary` (~87 tokens)

Returns a high-level overview of a React DevTools Profiler export: total commits, total render time, top 5 slowest components by self time, and total spurious (wasted) render count. Use this first to understand the scale of the performance problem before drilling into specifics.

Input parameters:

- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `find_spurious_renders` (~123 tokens)

Finds React components that re-rendered without any meaningful prop, state, context, or hook changes. These are wasted renders caused by unstable references (inline objects/functions/arrays) passed from a parent. Returns component name, total render count, spurious count, and wasted milliseconds. Use to identify the highest-ROI targets for React.memo.

Input parameters:

- `min_render_count` (number): Only include components with at least this many total renders (default: 1)
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `get_hottest_components` (~101 tokens)

Returns the top N React components ranked by self CPU time (excluding children) across the entire profiling session. Includes total self ms, average per render, and percentage of total profile time. Use to find which components are the most expensive to render, regardless of cause.

Input parameters:

- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)
- `top_n` (number): Number of components to return (default: 10)

### `trace_render_cascade` (~112 tokens)

For a specific React commit (render cycle), shows what triggered it and lists every component that re-rendered as a result, sorted by actual duration descending. Reveals propagation — e.g. a context update cascading into 40 children. Call get_render_summary first to find total_commits, then use 0-based commit_index.

Input parameters:

- `commit_index` (number, required): Zero-based index of the commit to inspect
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `suggest_memoization` (~103 tokens)

Analyzes the profiling data and returns concrete memoization suggestions. Currently detects React.memo candidates: components with spurious renders above the wasted ms threshold. Each suggestion explains why the component re-renders unnecessarily and what to do about it.

Input parameters:

- `min_wasted_ms` (number): Only suggest for components wasting more than this many ms total (default: 0)
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `analyze_compiler_efficacy` (~86 tokens)

Evaluates React Compiler or manual React.memo efficacy by tracking spurious renders. Calculates the Invalidation Index for each component to identify where unstable prop references trigger wasteful renders.

Input parameters:

- `invalid_threshold` (number): Minimum invalidation index threshold to report (default: 10)
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `diagnose_hydration_and_suspense` (~83 tokens)

Detects server-client hydration mismatches and sequential nested Suspense waterfalls by analyzing mount durations, unmount events, and timelines.

Input parameters:

- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)
- `waterfall_threshold_ms` (number): Timeline delta threshold in ms to detect Suspense waterfalls (default: 100)

### `evaluate_external_store_performance` (~88 tokens)

Analyzes useSyncExternalStore performance, identifying selector reference instability and concurrency bypasses where heavy store updates block the high-priority main thread.

Input parameters:

- `max_blocking_task_ms` (number): Maximum duration budget in ms for synchronous tasks before flagging bypass (default: 50)
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `trace_state_cascade_footprint` (~77 tokens)

Reconstructs the virtual parent/owner tree traversal to measure the depth and consumer count of a state update cascade for a specific commit index.

Input parameters:

- `commit_index` (number, required): Zero-based index of the commit to trace
- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)

### `remediate_component` (~141 tokens)

Automatically optimizes a React component's AST by hoisting static declarations, wrapping unstable callbacks/objects in useCallback/useMemo, and wrapping the component in React.memo if the ROI score is above 1.5. Mutates the file on disk.

Input parameters:

- `component_name` (string, required): Name of the React component to optimize
- `file_path` (string, required): Absolute path to the React component file on disk
- `roi_score` (number, required): Estimated ROI score from profiling (usually 0 to 5) justifying memoization overhead
- `unstable_props` (string, required): Comma-separated or space-separated list of props to memoize/wrap in hooks

### `audit_compiler_rules` (~82 tokens)

Audits a React component file to check if it violates compiler memoization safety guidelines (e.g., Date.now(), Math.random(), useRef mutations in render, 'use no memo' bails).

Input parameters:

- `component_name` (string, required): Name of the React component to audit
- `file_path` (string, required): Absolute path to the React component file on disk

### `profile_rsc_stream` (~80 tokens)

Analyzes a React Server Components (RSC) Flight stream text log. Detects bloated chunks (>50KB), sequential Waterfall request bottlenecks, and security hazards like constructor traversing exploits (CVE-2025-55182 / React2Shell).

Input parameters:

- `stream_payload` (string, required): Raw line-separated Flight stream text payload

### `correlate_chrome_trace` (~88 tokens)

Aligns React commits with Chrome Performance trace events (re-layout, paint, style calculations) using blink.user_timing ⚛ markers to calculate Core Web Vitals (INP/CLS) impact.

Input parameters:

- `profile_path` (string, required): Absolute path to the React DevTools Profiler export (.json)
- `trace_path` (string, required): Absolute path to Chrome performance timeline trace export (.json)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 66
- 2026-08-01: 26
- 2026-07-31: 21
- 2026-07-30: 24
- 2026-07-28: 24
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/react-render-profile-mcp
- Socket report: https://socket.dev/npm/package/react-render-profile-mcp
- Repository: https://github.com/vola-trebla/react-render-profile-mcp
- Changelog RSS feed: https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/vola-trebla-react-render-profile-mcp/react-render-profile-mcp
