🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

mcp-react-toolkit

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mcp-react-toolkit

17 MCP servers for React + TypeScript development automation — component scaffolding, dep auditing, WCAG checking, test generation, TypeScript enforcement, render analysis, performance audit, Lighthouse, Storybook generation, legacy app analysis, componen

Source
npmnpm
Version
1.3.1
Version published
Weekly downloads
50
-29.58%
Maintainers
1
Weekly downloads
 
Created
Source

mcp-toolkit

MCP servers for React + TypeScript development automation. Works with Claude Desktop, Cline, Cursor — and as plain CLI scripts — one protocol, zero duplication.

npm CI License: MIT MCP SDK Tests

Install

Published on npm as mcp-react-toolkit. No clone or build required — run any of the 17 servers straight from npm:

npx mcp-react-toolkit --list            # list all 17 tools
npx mcp-react-toolkit legacy-analyzer   # run one as an MCP server (stdio)

Add to Claude Desktop / Cursor / Cline

// claude_desktop_config.json
{
  "mcpServers": {
    "legacy-analyzer": {
      "command": "npx",
      "args": ["-y", "mcp-react-toolkit", "legacy-analyzer"]
    },
    "component-factory": {
      "command": "npx",
      "args": ["-y", "mcp-react-toolkit", "component-factory"]
    }
  }
}

Swap in any tool name from npx mcp-react-toolkit --list. Restart your client and the tools appear.

What's here

tools/      17 MCP server packages — each independently buildable and runnable
server/     Express bridge (port 3002) — proxies calls from the UI to MCP servers
client/     React 19 showcase SPA — tool catalog, workflow demos, animated flowcharts

Companion package

code-graph-indexer — a standalone code-intelligence engine that indexes any TS / React / Next.js repo into a queryable code graph (files · components · functions, and the imports/renders/calls/references/depends-on edges between them) and answers structural questions — who renders this, who calls this, find references, blast radius, cycles, dead code — plus semantic search by meaning. Use it over a CLI, an MCP server, an HTTP/WS server, and a 3D web explorer. Separate package, same family:

npx code-graph-indexer mcp                       # stdio MCP server (13 tools)
npx code-graph-indexer index --root .            # one-shot index → .code-graph/graph.json
npx code-graph-indexer query who-renders --id "cmp:src/Button.tsx#Button" --root .

Tools

All 17 tools are production-ready: built, tested, and CI-verified on Node 20 + 22.

Component Development

ToolWhat it doesMCP tools exposed
component-factoryScaffold React components from 41 shadcn/ui templates — with tests + Storybook6
component-reviewerAudit TypeScript errors, a11y issues, test coverage — graded A+ to F3
component-fixerAuto-fix broken imports, missing deps, inline style refactors3
storybook-generatorAuto-generate Storybook stories — Default, variants, sizes, callbacks, play functions2

Code Quality & Modernisation

ToolWhat it doesMCP tools exposed
code-modernizerAST-based JS/JSX → TypeScript conversion, PropTypes → interfaces1
typescript-enforcerScan for any types, unsafe casts, missing modifiers — 7 rules, scored 0–104
accessibility-checkerWCAG 2.1 audit — alt text, label associations, ARIA roles, keyboard navigation3
generate-testsAnalyze a TypeScript/React source file and generate a Vitest test suite2
quality-pipeline5-stage audit (tests · types · perf · a11y · design tokens) graded A–F2
render-analyzerDetect unnecessary re-renders, missing memo, inline objects/functions3
performance-auditMemory leaks, heavy imports, unoptimized images, deep nesting3
test-gap-analyzerFind unimplemented functions, uncovered branches, missing edge cases3
legacy-analyzer22-tool health audit for any React/Next.js/Remix app — scores 0–100, migration hints22

Monorepo & Infrastructure

ToolWhat it doesMCP tools exposed
dep-auditorUnused deps, duplicate versions, circular imports, bundle impact analysis4
monorepo-managerWorkspace listing, dependency graph, health check, shared dep finder6
lighthouse-runnerStatic HTML audit — meta tags, a11y, OG/Twitter cards, canonical, JSON-LD4
json-viewerGenerate an interactive HTML JSON viewer — collapsible, searchable, dark/light3

Automation workflows

1 · Code Modernization

legacy-analyzer → code-modernizer → typescript-enforcer → generate-tests

Migrate a JS codebase to strict TypeScript with auto-generated test coverage.

2 · Component Quality Pipeline

component-factory → component-reviewer → accessibility-checker → storybook-generator

Generate a production-ready component, review it, fix a11y issues, and add full story coverage.

3 · Render Performance Audit

render-analyzer → performance-audit → quality-pipeline

Find unnecessary re-renders, memory leaks, and heavy imports — graded A–F.

4 · App Health Check

legacy-analyzer [analyze-legacy-app] → component-reviewer → generate-tests

Full health score (0–100) with prioritized migration hints, then fix the top issues.

5 · Dependency Health

dep-auditor [unused] → dep-auditor [duplicates] → dep-auditor [bundle-impact] → monorepo-manager

Audit and clean up a monorepo's dependency graph end-to-end.

How MCP works

Claude Desktop / Cline / Cursor
        │
        │ JSON-RPC over stdio
        ▼
   MCP Server (e.g. typescript-enforcer)
        │
        ▼
   Tool handlers (your code)

Each server in this repo extends McpServerBase from tools/shared/ — an abstract class that handles transport, routing, and error formatting. Adding a new tool is ~50 lines.

import { McpServerBase } from '@mcp-showcase/shared';

class MyTool extends McpServerBase {
  constructor() {
    super({ name: 'my-tool', version: '1.0.0' });
  }

  protected registerTools(): void {
    this.addTool('do_thing', 'Does a thing', {
      type: 'object',
      properties: { path: { type: 'string', description: 'Target path' } },
      required: ['path'],
    }, async (args) => {
      const { path } = args as { path: string };
      return this.success({ result: `Processed ${path}` });
    });
  }
}

new MyTool().run();

Run from source (contributors)

Prefer npm for everyday use (see Install). Clone only to hack on the tools or run the showcase UI:

git clone https://github.com/Nishant-Chaudhary5338/mcp-toolkit.git
cd mcp-toolkit
npm install
npm run build
npm test          # 450 tests across all 17 tools
npm run dev       # server on :3002, client on :5173

Point Claude Desktop at a local build

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "component-factory": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/component-factory/build/index.js"]
    },
    "component-reviewer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/component-reviewer/build/index.js"]
    },
    "component-fixer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/component-fixer/build/index.js"]
    },
    "storybook-generator": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/storybook-generator/build/index.js"]
    },
    "render-analyzer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/render-analyzer/build/index.js"]
    },
    "performance-audit": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/performance-audit/build/index.js"]
    },
    "legacy-analyzer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/legacy-analyzer/build/index.js"]
    },
    "test-gap-analyzer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/test-gap-analyzer/build/index.js"]
    },
    "lighthouse-runner": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/lighthouse-runner/build/index.js"]
    },
    "dep-auditor": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/dep-auditor/build/index.js"]
    },
    "accessibility-checker": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/accessibility-checker/build/index.js"]
    },
    "generate-tests": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/generate-tests/build/index.js"]
    },
    "typescript-enforcer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/typescript-enforcer/build/index.js"]
    },
    "code-modernizer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/code-modernizer/build/index.js"]
    },
    "quality-pipeline": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/quality-pipeline/build/index.js"]
    },
    "monorepo-manager": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/monorepo-manager/build/index.js"]
    },
    "json-viewer": {
      "command": "node",
      "args": ["/path/to/mcp-toolkit/tools/json-viewer/build/index.js"]
    }
  }
}

Use as a CLI / in CI

Every tool's build/index.js has a #!/usr/bin/env node shebang and is chmod +x — pipe a JSON-RPC message to it on stdin and it writes the result to stdout.

# Analyze a full React/Next.js/Vite app — health score 0–100 + migration hints
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze-legacy-app","arguments":{"path":"/path/to/app"}}}' \
  | node tools/legacy-analyzer/build/index.js

# Detect unnecessary re-renders (missing memo, inline objects)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"detect_rerenders","arguments":{"path":"src/components"}}}' \
  | node tools/render-analyzer/build/index.js

# Audit for memory leaks and heavy imports
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"audit_bundle","arguments":{"path":"src"}}}' \
  | node tools/performance-audit/build/index.js

# Review a component — grade A+ to F
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"review","arguments":{"path":"src/components/Button.tsx"}}}' \
  | node tools/component-reviewer/build/index.js

# Auto-fix a component
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fix","arguments":{"path":"src/components/Button.tsx"}}}' \
  | node tools/component-fixer/build/index.js

# Find untested exports
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze_test_gaps","arguments":{"path":"src"}}}' \
  | node tools/test-gap-analyzer/build/index.js

# Generate Storybook stories for all components in a directory
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_stories","arguments":{"path":"src/components"}}}' \
  | node tools/storybook-generator/build/index.js

# Audit an HTML file — SEO, a11y, OG tags, canonical
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"static_audit","arguments":{"path":"public/index.html"}}}' \
  | node tools/lighthouse-runner/build/index.js

# Run a WCAG audit
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_accessibility","arguments":{"path":"src/components"}}}' \
  | node tools/accessibility-checker/build/index.js

# Scan for TypeScript violations
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"scan_directory","arguments":{"path":"src"}}}' \
  | node tools/typescript-enforcer/build/index.js

# Find unused and outdated dependencies
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_unused_deps","arguments":{"root":"."}}}' \
  | node tools/dep-auditor/build/index.js

List a tool's available commands

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node tools/legacy-analyzer/build/index.js

Testing

Each tool has a dedicated test file covering its core logic directly — no MCP transport required.

npm test                                    # all tools
npm run test -w tools/legacy-analyzer      # single tool
ToolTests
render-analyzer11
storybook-generator20
performance-audit15
lighthouse-runner13
test-gap-analyzer15
component-reviewer19
component-fixer10
legacy-analyzer14
json-viewer16
quality-pipeline8
component-factory6
code-modernizer8
dep-auditor15
accessibility-checker15
generate-tests14
typescript-enforcer22
monorepo-manager30
Total450

CI runs on every push and PR against Node 20 and 22.

Architecture

tools/
  shared/                McpServerBase, ToolRegistry, shared types
  component-factory/     41 shadcn/ui templates
  component-reviewer/    Review rules engine (7 categories)
  component-fixer/       Fix strategies per issue type
  storybook-generator/   Story generator (Default, variants, play functions)
  render-analyzer/       Re-render profile + memo checker
  performance-audit/     Memory leak + heavy import detector
  legacy-analyzer/       22-tool analysis engine + health scorer
  test-gap-analyzer/     Export extractor + edge case detector
  lighthouse-runner/     Static HTML auditor
  code-modernizer/       AST-based TS conversion
  quality-pipeline/      5-stage grading system
  dep-auditor/           Dependency graph analysis
  accessibility-checker/ WCAG rule engine (9 rules)
  generate-tests/        Source analyzer + test generator
  typescript-enforcer/   7-rule type safety scanner
  monorepo-manager/      Workspace operations
  json-viewer/           HTML generation

server/                  Express bridge — spawns tools as child processes
client/                  React 19 SPA — tool catalog and live demos

Contributing

See CONTRIBUTING.md — how to scaffold a new tool, write tests, and open a PR.

Stack

TypeScript strict · Node.js · MCP SDK 1.12 · Vitest · React 19 · Vite · Tailwind CSS · Express

Built by

Nishant Chaudhary — Senior Frontend Engineer
nishantchaudhary.dev@gmail.com

Also see: dashcraft · react-present · ai-builder

MIT License

Keywords

mcp

FAQs

Package last updated on 25 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts