react-perf-mcp
An MCP server that runs parallel AI agents to analyze React components for performance issues, including unnecessary re-renders, memoization errors, bundle size problems, and profiling concerns.
README
react-perf-mcp
An MCP server that runs parallel AI agents to analyze your React components for performance issues. Works in Claude Code, Cursor, or any MCP-compatible client.
How it works
Most code review tools send your code to a single LLM and ask for a general review. react-perf-mcp runs four specialized agents in parallel, each focused on a specific performance domain:
| Agent | Analyzes |
|---|---|
| RenderAgent | Unnecessary re-renders, inline objects/functions, missing React.memo |
| MemoAgent | Incorrect useMemo/useCallback usage, missing or over-memoization |
| BundleAgent | Heavy imports, missing React.lazy, full-library imports vs named imports |
| ProfilerAgent | Cascading re-renders, missing virtualization, state co-location, Suspense |
All agents run in parallel and are aware of your project context (React version, bundler, Redux usage) and your team's custom rules via .react-perf.json.
Setup
npx react-perf-mcp init
The setup wizard will:
- Ask for your Anthropic API key
- Auto-detect Claude Desktop, Claude Code, and Cursor
- Write the MCP server config to the right place
Manual config
Add to your MCP client config (e.g. ~/.claude/settings.json for Claude Code):
{
"mcpServers": {
"react-perf": {
"command": "npx",
"args": ["react-perf-mcp"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
Usage
Once configured, talk to your MCP client naturally:
review the performance of src/components/Cart.tsx
analyze this component for re-render issues:
[paste code]
Available tools
| Tool | Description |
|---|---|
review_file(path) |
Read a file from disk and analyze it |
review_code(code, filePath?) |
Analyze a code snippet directly |
Team config
Add a .react-perf.json to your project root to customize the agents' standards:
{
"rules": {
"memo": "always for list items and components receiving callbacks",
"bundleLimit": "200kb per chunk",
"lazyLoad": "required for routes and heavy third-party components"
}
}
This is similar to .eslintrc — commit it so your whole team gets consistent suggestions.
Requirements
- Node.js 18+
- Anthropic API key (get one here)
Contributing
Issues and PRs welcome. Each agent lives in src/agents/ — adding a new one is straightforward.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.