Mcp React Toolkit

io.github.Nishant-Chaudhary5338由 GitHub 帳號 Nishant-Chaudhary5338 發布v1.0.1更新於 Oct 27, 2026

9 MCP servers for React/TypeScript — dep auditing, a11y, test gen, and TypeScript enforcement.

已驗證STDIO僅桌面瀏覽器自動化開發者工具

概覽

AI 產生的概覽

本機 npm 工具包,提供 59 個 React/TypeScript 開發工具(腳手架、稽核、測試產生、CRUD、CRA 遷移),每個工具以獨立的 stdio MCP 伺服器執行。

可以做什麼
  • 產生與擴充元件:以 shadcn/ui 範本建立元件的工廠、Storybook stories、變體與邊界案例測試
  • 稽核並修復程式品質:TypeScript any 型別規則、WCAG 2.1 無障礙檢查與自動修復、設計 token、渲染與效能分析、打包體積預算、品質關卡
  • 產生與修復測試:Vitest 測試套件、測試缺口分析、測試資料工廠、失敗測試歸因、Playwright CRUD 規格與視覺回歸設定
  • 從 JSON 範例或 OpenAPI schema 產生完整 CRUD 功能:欄位推斷、Zod schema、API client、表單、表格、詳情頁、路由與 MSW 模擬
  • 將 Create React App 遷移到 Vite,包含環境變數、Jest 轉 Vitest 與 webpack 設定轉換
  • 檢查 monorepo 與相依套件,並在 JSON 結果之外輸出可互動的 HTML 儀表板
適用情境
適合在 React/TypeScript 專案中讓助理處理重複、多檔案的機械性工作,例如稽核、腳手架、遷移與測試產生,以一次結構化呼叫取代多輪讀寫。對小型、全新的單檔修改效益有限。
執行需求
透過 npx 從 npm 套件 mcp-react-toolkit 以 stdio 在本機執行,需要 Node.js。每個工具需依名稱個別啟動,因此用戶端設定中每個工具各對應一個伺服器項目。未宣告驗證、環境變數或標頭。
安裝前請注意
許多工具會寫入專案:產生器建立檔案,component-fixer 與 a11y-autofixer 會套用修正,refactor-executor 會移動/重新命名/拆分並可回復,codemod-runner 預設僅試跑,workflow-runner 與 cra-to-vite 一次呼叫即執行整條流程。套用變更前請檢視差異並使用版本控制。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mcp React Toolkit,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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]

59 tools across 9 categories — component scaffolding, code quality, a full CRUD-feature factory, CRA→Vite migration, and more. Every tool ships as its own MCP server, built and tested independently.


Why this exists — the token math

Here's the thing nobody tells you when you start building agentic workflows: the loop itself is what's expensive, not the model. An agent working without any composed tools does everything the slow way — read a file, think, write a file, read it back to check its own work, repeat — and every single one of those turns re-sends the whole conversation so far as input tokens. By the time you're 20 steps into a real multi-file task, that resent context alone can be running 50K+ tokens per call. It adds up fast, and it's not really about which model you're using.

I didn't just take that on faith — a few sources back it up with real numbers. LeanOps measured agent loops running about 3.2× the tokens of a single direct call at 5 steps, ~30× at 50 steps, and past 100× once you're deep into a typical build-and-debug session — because re-sent context is roughly 62% of the bill. Vantage found similar: real agentic sessions run an input-to-output ratio around 25:1 (a direct call is closer to 1:1), with a 50-turn session routinely hitting a million input tokens, and non-agentic usage on comparable work costing something like 200× less per interaction on the same team. And a recent arXiv paper on agentic tokenomics puts agentic tasks at roughly 1000× the tokens of single-turn work, with up to 30× variance run to run on the exact same task — so it's not just expensive, it's unpredictable.

That's the problem this toolkit's composed tools are built to get rid of. workflow-runner's schema_to_feature and cra-to-vite don't add one more tool call into an agent's existing loop — they replace what would otherwise be 7 or 8 separate read/write/verify turns with a single in-process call that runs the whole generator or migration pipeline and hands back the finished result. That's the "50-turn loop collapses into 1 call" shape the research above says saves 10–100×, which is a very different thing from just bolting one extra tool onto an unchanged loop (that only gets you the 20–40% range).

To keep myself honest, I also ran a real, measured benchmark rather than just trusting the theory — ax-benchmark, 6 tasks, claude -p running headless, three arms (agent alone, agent with one MCP tool call added into its loop, and the tool called directly with no agent at all). This is a conservative baseline on purpose, since it only tests adding a single tool call into an otherwise unchanged loop, not the deeper pipeline collapse described above:

Agent aloneAgent + one MCP toolTool called directly
Analysis tasks (review, a11y, legacy-code)baseline~41% lower cost~100% free, ~15× faster (when in scope)
All 6 tasks, blendedbaseline~19% lower cost—
New code (component, tests)baselineroughly cost-neutralnot applicable to novel work

Two things worth being upfront about: cost is the fair metric here, not wall-time — the agent-alone arm ran headless with no shell access and over-explored on open-ended tasks, which inflated its time without touching its actual cost. And on small, novel, single-file work, the overhead of the tool's structured output can offset what it saves — the real win shows up on repetitive, mechanical, multi-file work, which also happens to be exactly where the multi-turn-loop tax above hits hardest.


Install

Published on npm as mcp-react-toolkit. No clone or build required:

bash
npx mcp-react-toolkit --list            # list all 59 toolsnpx mcp-react-toolkit legacy-analyzer   # run one as an MCP server (stdio)

Add it to Claude Desktop / Cursor / Cline:

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

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


Interactive dashboards

Most MCP tools return raw JSON. These return that JSON plus an interactive HTML dashboard — health score, sortable issue triage, light/dark toggle, and one-click fix actions that call other tools in the toolkit. One self-contained artifact, no server, no external requests:

Where you run itWhat you get
Claude Desktop (MCP Apps)Renders inline in the conversation (sandboxed iframe)
Claude Code · Cursor · CLIJSON plus a clickable file:// link to the same dashboard
Any browserThe same HTML, standalone

Analysis tools (legacy-analyzer, component-reviewer, dep-auditor, etc.) get an audit view — grade, category cards, filterable issue table. Generators (component-factory, code-modernizer, etc.) get a result view — files created/changed, diffs, follow-ups. Powered by the internal @mcp-showcase/ui-kit package: dependency-free, ~30 KB per report.


Tools

Component Development

ToolWhat it does
component-factoryScaffold React components from 41 shadcn/ui templates — with tests + Storybook
component-reviewerAudit TypeScript errors, a11y issues, test coverage — graded A+ to F
component-fixerAuto-fix broken imports, missing deps, inline style refactors
component-improverExtend a component with variants, comprehensive stories, and edge-case tests
storybook-generatorAuto-generate Storybook stories — Default, variants, sizes, callbacks, play functions

Code Quality & Modernisation

ToolWhat it does
typescript-enforcerScan for any types, unsafe casts, missing modifiers — 7 rules, scored 0–10
accessibility-checkerWCAG 2.1 audit — alt text, label associations, ARIA roles, keyboard navigation
a11y-autofixerApply safe a11y fixes (img alt, blank rel, htmlFor, tabIndex)
quality-pipeline5-stage audit (tests · types · perf · a11y · design tokens), graded A–F
review-gateStatic A–F quality gate for generated/changed code
enforce-design-tokensFlag hardcoded colors/spacing/radii/shadows, suggest tokens, grade A–F
render-analyzerDetect unnecessary re-renders, missing memo, inline objects/functions
performance-auditMemory leaks, heavy imports, unoptimized images, deep nesting
bundle-budget-guardGate gzipped asset sizes against per-pattern budgets — fail CI on regressions
code-modernizerAST-based JS/JSX → TypeScript conversion, PropTypes → interfaces
react-compiler-migratorFlag redundant useMemo/useCallback/memo for the React 19 Compiler
codemod-runnerGeneric regex codemod engine + named built-ins; dry-run by default
refactor-executorExecute refactor plans safely — move/rename/split, update imports, rollback
redux-state-analyzerAudit Redux for anti-patterns (selectors, mutations, RTK Query migration hints)
api-contract-differDiff two API snapshots → breaking vs additive changes — CI gate against breaks
i18n-extractorScan JSX for hardcoded strings → i18n keys + message catalog
generate-testsAnalyze a TS/React source file and generate a Vitest test suite
test-gap-analyzerFind unimplemented functions, uncovered branches, missing edge cases
test-data-factoryFieldSchema → typed fixture factory for tests/stories
fix-failing-testsRun the suite, classify failures by root cause, generate targeted fixes
legacy-analyzer22-tool health audit for any React/Next.js/Remix app — scores 0–100, migration hints

Monorepo & Infrastructure

ToolWhat it does
dep-auditorUnused deps, duplicate versions, circular imports, bundle impact analysis
monorepo-managerWorkspace listing, dependency graph, health check, shared dep finder
lighthouse-runnerStatic HTML audit — meta tags, a11y, OG/Twitter cards, canonical, JSON-LD
json-viewerInteractive HTML JSON viewer — collapsible, searchable, dark/light

CRUD Factory

One JSON API sample (or OpenAPI schema) fans out into a full, typed CRUD feature. Every generator keys off the shared FieldSchema contract, so the pieces compose.

ToolWhat it does
infer-fieldsJSON sample / OpenAPI → typed FieldSchema (types, FK relations, table/form defaults)
zod-schema-generatorFieldSchema → Zod schema + inferred TS type
api-client-generatorFieldSchema → RTK Query slice or TanStack Query hooks, with cache tags
form-generatorFieldSchema → React Hook Form + Zod form (create / edit)
table-generatorFieldSchema → TanStack Table (sort / filter / paginate)
detail-generatorFieldSchema → typed detail view + delete action
crud-composerWire the pieces into routes — React Router 7 or Next App Router
form-wizard-generatorFieldSchema → multi-step RHF+Zod wizard with per-step validation
msw-mock-generatorFieldSchema → MSW handlers + seed data, so the feature runs against a mock API
workflow-runnerRuns the whole chain end-to-end, gated by review-gate — files + journal + A–F grade
e2e-generatorFieldSchema → Playwright CRUD flow spec (create→edit→delete + a11y)
playwright-scaffolderScaffold the Playwright harness — config, fixtures, base POM, auth setup
visual-regression-setupPlaywright toHaveScreenshot specs for routes/stories — catch CSS drift

CRA → Vite

Migrate a Create React App project to Vite: analyze → plan → scaffold → migrate → verify.

ToolWhat it does
cra-to-viteOrchestrator — runs the six tools below in sequence, one call, graded report
craconfig-analyzerDeep CRA config inspection (react-scripts, env, proxy, jest, browserslist, SVG)
dependency-remapperCRA deps → Vite plan (remove/add with versions + unmapped)
env-var-migratorREACT_APP_* → import.meta.env.VITE_*, in source and .env files
jest-to-vitest-migratorjest.* → vi.*, adds the right imports, flags manual-review cases
vite-project-scaffolderGenerates vite.config.ts, main.tsx, strict tsconfig, a Vitest block
webpack-config-translatorBest-effort webpack/CRACO → Vite translation + manual-review list

Boilerplate

ToolWhat it does
barrel-generatorGenerate an index.ts barrel re-exporting a folder — no drifting export lists
type-from-jsonJSON sample → plain TS interfaces (nested objects become their own interfaces)
zustand-store-generatorState shape → typed Zustand store (setters, reset, persist/devtools)
svg-to-componentRaw SVG → typed React component (SVGProps, currentColor) — SVGR-grade
env-config-generatorZod-validated typed env module (Vite/Next) — fail fast on missing/bad vars
states-scaffolderLoading/empty/error state components + a switch wrapper for a data view

Meta

ToolWhat it does
mcp-tool-factoryScaffold + wire + verify new MCP tools in this package
mcp-tool-improviserAnalyze + improve MCP tools across 7 dimensions — proposed diffs, apply, rollback
docs-generatorGenerate a README (from an MCP tool) or an API reference (from a TS module + JSDoc)

Automation workflows

Chain tools together for common tasks:

WorkflowChain
Code Modernizationlegacy-analyzer → code-modernizer → typescript-enforcer → generate-tests
Component Quality Pipelinecomponent-factory → component-reviewer → accessibility-checker → storybook-generator
Render Performance Auditrender-analyzer → performance-audit → quality-pipeline
App Health Checklegacy-analyzer → component-reviewer → generate-tests
Dependency Healthdep-auditor [unused → duplicates → bundle-impact] → monorepo-manager
Full CRUD featureworkflow-runner (composes the whole CRUD Factory chain in one call)
CRA → Vite migrationcra-to-vite (composes the whole CRA→Vite chain in one call)

How MCP works

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

Each server extends McpServerBase from tools/shared/ — handles transport, routing, and error formatting. Adding a new tool is ~50 lines:

typescript
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:

sh
git clone https://github.com/Nishant-Chaudhary5338/mcp-toolkit.gitcd mcp-toolkitnpm installnpm run buildnpm test          # run the full suite across all toolsnpm run dev       # server on :3002, client on :5173

Point Claude Desktop at a local build the same way as Install, swapping npx -y mcp-react-toolkit <name> for node /path/to/mcp-toolkit/tools/<name>/build/index.js.

Use as a CLI / in CI

Every tool's build/index.js has a #!/usr/bin/env node shebang — pipe a JSON-RPC message to it on stdin:

sh
# Health score + migration hints for a full appecho '{"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
# Review a component — grade A+ to Fecho '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"review","arguments":{"path":"src/components/Button.tsx"}}}' \  | node tools/component-reviewer/build/index.js
# List a tool's available commandsecho '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node tools/legacy-analyzer/build/index.js

Testing

Every tool has a co-located Vitest suite covering its core logic directly — no MCP transport required.

sh
npm test                              # all toolsnpm run test -w tools/legacy-analyzer # single tool

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


Companion package

code-graph-indexer — indexes any TS/React/Next.js repo into a queryable code graph (files, components, functions, and the edges between them) and answers structural questions: who calls this, blast radius, dead code, semantic search. Same family, separate package.

bash
npx code-graph-indexer ui --root .

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 · [email protected]

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

MIT License

來源:README.md,提交 7b64768

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

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

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分