mcp-react-toolkit 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +146 -42
  2. package/package.json +12 -4
  3. package/tools/accessibility-checker/build/index.js +9 -5
  4. package/tools/accessibility-checker/build/index.js.map +1 -1
  5. package/tools/accessibility-checker/build/rules.d.ts.map +1 -1
  6. package/tools/accessibility-checker/build/rules.js +325 -94
  7. package/tools/accessibility-checker/build/rules.js.map +1 -1
  8. package/tools/code-modernizer/build/tools/01-convert-to-typescript.d.ts.map +1 -1
  9. package/tools/code-modernizer/build/tools/01-convert-to-typescript.js +65 -50
  10. package/tools/code-modernizer/build/tools/01-convert-to-typescript.js.map +1 -1
  11. package/tools/code-modernizer/build/types.d.ts +1 -0
  12. package/tools/code-modernizer/build/types.d.ts.map +1 -1
  13. package/tools/code-modernizer/build/utils/ast-parser.d.ts.map +1 -1
  14. package/tools/code-modernizer/build/utils/ast-parser.js +30 -14
  15. package/tools/code-modernizer/build/utils/ast-parser.js.map +1 -1
  16. package/tools/code-modernizer/build/utils/type-generator.d.ts +1 -1
  17. package/tools/code-modernizer/build/utils/type-generator.d.ts.map +1 -1
  18. package/tools/code-modernizer/build/utils/type-generator.js +72 -23
  19. package/tools/code-modernizer/build/utils/type-generator.js.map +1 -1
  20. package/tools/component-factory/build/index.js +59 -7
  21. package/tools/component-factory/build/index.js.map +1 -1
  22. package/tools/component-fixer/README.md +44 -0
  23. package/tools/component-fixer/build/index.d.ts +3 -0
  24. package/tools/component-fixer/build/index.d.ts.map +1 -0
  25. package/tools/component-fixer/build/index.js +647 -0
  26. package/tools/component-fixer/build/index.js.map +1 -0
  27. package/tools/component-fixer/build/index.test.d.ts +2 -0
  28. package/tools/component-fixer/build/index.test.d.ts.map +1 -0
  29. package/tools/component-fixer/build/index.test.js.map +1 -0
  30. package/tools/component-fixer/package.json +20 -0
  31. package/tools/component-reviewer/README.md +54 -0
  32. package/tools/component-reviewer/build/index.d.ts +39 -0
  33. package/tools/component-reviewer/build/index.d.ts.map +1 -0
  34. package/tools/component-reviewer/build/index.js +946 -0
  35. package/tools/component-reviewer/build/index.js.map +1 -0
  36. package/tools/component-reviewer/build/index.test.d.ts +2 -0
  37. package/tools/component-reviewer/build/index.test.d.ts.map +1 -0
  38. package/tools/component-reviewer/build/index.test.js.map +1 -0
  39. package/tools/component-reviewer/package.json +20 -0
  40. package/tools/dep-auditor/build/index.d.ts +1 -0
  41. package/tools/dep-auditor/build/index.d.ts.map +1 -1
  42. package/tools/dep-auditor/build/index.js +71 -16
  43. package/tools/dep-auditor/build/index.js.map +1 -1
  44. package/tools/generate-tests/build/analyzer.d.ts +14 -0
  45. package/tools/generate-tests/build/analyzer.d.ts.map +1 -1
  46. package/tools/generate-tests/build/analyzer.js +96 -42
  47. package/tools/generate-tests/build/analyzer.js.map +1 -1
  48. package/tools/generate-tests/build/generators.d.ts.map +1 -1
  49. package/tools/generate-tests/build/generators.js +304 -79
  50. package/tools/generate-tests/build/generators.js.map +1 -1
  51. package/tools/generate-tests/build/index.js +29 -10
  52. package/tools/generate-tests/build/index.js.map +1 -1
  53. package/tools/json-viewer/build/index.js +29 -6
  54. package/tools/json-viewer/build/index.js.map +1 -1
  55. package/tools/legacy-analyzer/README.md +66 -0
  56. package/tools/legacy-analyzer/build/index.d.ts +3 -0
  57. package/tools/legacy-analyzer/build/index.d.ts.map +1 -0
  58. package/tools/legacy-analyzer/build/index.js +209 -0
  59. package/tools/legacy-analyzer/build/index.js.map +1 -0
  60. package/tools/legacy-analyzer/build/index.test.d.ts +2 -0
  61. package/tools/legacy-analyzer/build/index.test.d.ts.map +1 -0
  62. package/tools/legacy-analyzer/build/index.test.js.map +1 -0
  63. package/tools/legacy-analyzer/build/tools/01-detect-project-tech.d.ts +3 -0
  64. package/tools/legacy-analyzer/build/tools/01-detect-project-tech.d.ts.map +1 -0
  65. package/tools/legacy-analyzer/build/tools/01-detect-project-tech.js +115 -0
  66. package/tools/legacy-analyzer/build/tools/01-detect-project-tech.js.map +1 -0
  67. package/tools/legacy-analyzer/build/tools/02-analyze-folder-structure.d.ts +3 -0
  68. package/tools/legacy-analyzer/build/tools/02-analyze-folder-structure.d.ts.map +1 -0
  69. package/tools/legacy-analyzer/build/tools/02-analyze-folder-structure.js +85 -0
  70. package/tools/legacy-analyzer/build/tools/02-analyze-folder-structure.js.map +1 -0
  71. package/tools/legacy-analyzer/build/tools/03-analyze-components.d.ts +3 -0
  72. package/tools/legacy-analyzer/build/tools/03-analyze-components.d.ts.map +1 -0
  73. package/tools/legacy-analyzer/build/tools/03-analyze-components.js +87 -0
  74. package/tools/legacy-analyzer/build/tools/03-analyze-components.js.map +1 -0
  75. package/tools/legacy-analyzer/build/tools/04-analyze-state-management.d.ts +3 -0
  76. package/tools/legacy-analyzer/build/tools/04-analyze-state-management.d.ts.map +1 -0
  77. package/tools/legacy-analyzer/build/tools/04-analyze-state-management.js +133 -0
  78. package/tools/legacy-analyzer/build/tools/04-analyze-state-management.js.map +1 -0
  79. package/tools/legacy-analyzer/build/tools/05-analyze-api-layer.d.ts +3 -0
  80. package/tools/legacy-analyzer/build/tools/05-analyze-api-layer.d.ts.map +1 -0
  81. package/tools/legacy-analyzer/build/tools/05-analyze-api-layer.js +160 -0
  82. package/tools/legacy-analyzer/build/tools/05-analyze-api-layer.js.map +1 -0
  83. package/tools/legacy-analyzer/build/tools/06-analyze-routing.d.ts +3 -0
  84. package/tools/legacy-analyzer/build/tools/06-analyze-routing.d.ts.map +1 -0
  85. package/tools/legacy-analyzer/build/tools/06-analyze-routing.js +150 -0
  86. package/tools/legacy-analyzer/build/tools/06-analyze-routing.js.map +1 -0
  87. package/tools/legacy-analyzer/build/tools/07-analyze-styling.d.ts +3 -0
  88. package/tools/legacy-analyzer/build/tools/07-analyze-styling.d.ts.map +1 -0
  89. package/tools/legacy-analyzer/build/tools/07-analyze-styling.js +131 -0
  90. package/tools/legacy-analyzer/build/tools/07-analyze-styling.js.map +1 -0
  91. package/tools/legacy-analyzer/build/tools/08-analyze-assets.d.ts +3 -0
  92. package/tools/legacy-analyzer/build/tools/08-analyze-assets.d.ts.map +1 -0
  93. package/tools/legacy-analyzer/build/tools/08-analyze-assets.js +85 -0
  94. package/tools/legacy-analyzer/build/tools/08-analyze-assets.js.map +1 -0
  95. package/tools/legacy-analyzer/build/tools/09-detect-anti-patterns.d.ts +3 -0
  96. package/tools/legacy-analyzer/build/tools/09-detect-anti-patterns.d.ts.map +1 -0
  97. package/tools/legacy-analyzer/build/tools/09-detect-anti-patterns.js +329 -0
  98. package/tools/legacy-analyzer/build/tools/09-detect-anti-patterns.js.map +1 -0
  99. package/tools/legacy-analyzer/build/tools/10-detect-duplication.d.ts +3 -0
  100. package/tools/legacy-analyzer/build/tools/10-detect-duplication.d.ts.map +1 -0
  101. package/tools/legacy-analyzer/build/tools/10-detect-duplication.js +192 -0
  102. package/tools/legacy-analyzer/build/tools/10-detect-duplication.js.map +1 -0
  103. package/tools/legacy-analyzer/build/tools/11-analyze-dependencies-usage.d.ts +3 -0
  104. package/tools/legacy-analyzer/build/tools/11-analyze-dependencies-usage.d.ts.map +1 -0
  105. package/tools/legacy-analyzer/build/tools/11-analyze-dependencies-usage.js +232 -0
  106. package/tools/legacy-analyzer/build/tools/11-analyze-dependencies-usage.js.map +1 -0
  107. package/tools/legacy-analyzer/build/tools/12-analyze-legacy-app.d.ts +3 -0
  108. package/tools/legacy-analyzer/build/tools/12-analyze-legacy-app.d.ts.map +1 -0
  109. package/tools/legacy-analyzer/build/tools/12-analyze-legacy-app.js +247 -0
  110. package/tools/legacy-analyzer/build/tools/12-analyze-legacy-app.js.map +1 -0
  111. package/tools/legacy-analyzer/build/tools/13-detect-features.d.ts +3 -0
  112. package/tools/legacy-analyzer/build/tools/13-detect-features.d.ts.map +1 -0
  113. package/tools/legacy-analyzer/build/tools/13-detect-features.js +141 -0
  114. package/tools/legacy-analyzer/build/tools/13-detect-features.js.map +1 -0
  115. package/tools/legacy-analyzer/build/tools/14-classify-files.d.ts +3 -0
  116. package/tools/legacy-analyzer/build/tools/14-classify-files.d.ts.map +1 -0
  117. package/tools/legacy-analyzer/build/tools/14-classify-files.js +76 -0
  118. package/tools/legacy-analyzer/build/tools/14-classify-files.js.map +1 -0
  119. package/tools/legacy-analyzer/build/tools/15-detect-shared-modules.d.ts +3 -0
  120. package/tools/legacy-analyzer/build/tools/15-detect-shared-modules.d.ts.map +1 -0
  121. package/tools/legacy-analyzer/build/tools/15-detect-shared-modules.js +70 -0
  122. package/tools/legacy-analyzer/build/tools/15-detect-shared-modules.js.map +1 -0
  123. package/tools/legacy-analyzer/build/tools/16-design-target-structure.d.ts +3 -0
  124. package/tools/legacy-analyzer/build/tools/16-design-target-structure.d.ts.map +1 -0
  125. package/tools/legacy-analyzer/build/tools/16-design-target-structure.js +26 -0
  126. package/tools/legacy-analyzer/build/tools/16-design-target-structure.js.map +1 -0
  127. package/tools/legacy-analyzer/build/tools/17-map-files-to-target.d.ts +3 -0
  128. package/tools/legacy-analyzer/build/tools/17-map-files-to-target.d.ts.map +1 -0
  129. package/tools/legacy-analyzer/build/tools/17-map-files-to-target.js +108 -0
  130. package/tools/legacy-analyzer/build/tools/17-map-files-to-target.js.map +1 -0
  131. package/tools/legacy-analyzer/build/tools/18-detect-boundary-violations.d.ts +3 -0
  132. package/tools/legacy-analyzer/build/tools/18-detect-boundary-violations.d.ts.map +1 -0
  133. package/tools/legacy-analyzer/build/tools/18-detect-boundary-violations.js +137 -0
  134. package/tools/legacy-analyzer/build/tools/18-detect-boundary-violations.js.map +1 -0
  135. package/tools/legacy-analyzer/build/tools/19-suggest-module-splitting.d.ts +3 -0
  136. package/tools/legacy-analyzer/build/tools/19-suggest-module-splitting.d.ts.map +1 -0
  137. package/tools/legacy-analyzer/build/tools/19-suggest-module-splitting.js +160 -0
  138. package/tools/legacy-analyzer/build/tools/19-suggest-module-splitting.js.map +1 -0
  139. package/tools/legacy-analyzer/build/tools/20-naming-standardizer.d.ts +3 -0
  140. package/tools/legacy-analyzer/build/tools/20-naming-standardizer.d.ts.map +1 -0
  141. package/tools/legacy-analyzer/build/tools/20-naming-standardizer.js +162 -0
  142. package/tools/legacy-analyzer/build/tools/20-naming-standardizer.js.map +1 -0
  143. package/tools/legacy-analyzer/build/tools/21-generate-refactor-plan.d.ts +3 -0
  144. package/tools/legacy-analyzer/build/tools/21-generate-refactor-plan.d.ts.map +1 -0
  145. package/tools/legacy-analyzer/build/tools/21-generate-refactor-plan.js +108 -0
  146. package/tools/legacy-analyzer/build/tools/21-generate-refactor-plan.js.map +1 -0
  147. package/tools/legacy-analyzer/build/tools/22-refactor-folder-structure.d.ts +3 -0
  148. package/tools/legacy-analyzer/build/tools/22-refactor-folder-structure.d.ts.map +1 -0
  149. package/tools/legacy-analyzer/build/tools/22-refactor-folder-structure.js +98 -0
  150. package/tools/legacy-analyzer/build/tools/22-refactor-folder-structure.js.map +1 -0
  151. package/tools/legacy-analyzer/build/types.d.ts +413 -0
  152. package/tools/legacy-analyzer/build/types.d.ts.map +1 -0
  153. package/tools/legacy-analyzer/build/types.js +12 -0
  154. package/tools/legacy-analyzer/build/types.js.map +1 -0
  155. package/tools/legacy-analyzer/build/utils/ast-parser.d.ts +34 -0
  156. package/tools/legacy-analyzer/build/utils/ast-parser.d.ts.map +1 -0
  157. package/tools/legacy-analyzer/build/utils/ast-parser.js +394 -0
  158. package/tools/legacy-analyzer/build/utils/ast-parser.js.map +1 -0
  159. package/tools/legacy-analyzer/build/utils/file-scanner.d.ts +51 -0
  160. package/tools/legacy-analyzer/build/utils/file-scanner.d.ts.map +1 -0
  161. package/tools/legacy-analyzer/build/utils/file-scanner.js +174 -0
  162. package/tools/legacy-analyzer/build/utils/file-scanner.js.map +1 -0
  163. package/tools/legacy-analyzer/build/utils/import-tracker.d.ts +38 -0
  164. package/tools/legacy-analyzer/build/utils/import-tracker.d.ts.map +1 -0
  165. package/tools/legacy-analyzer/build/utils/import-tracker.js +194 -0
  166. package/tools/legacy-analyzer/build/utils/import-tracker.js.map +1 -0
  167. package/tools/legacy-analyzer/build/utils/refactor-helpers.d.ts +88 -0
  168. package/tools/legacy-analyzer/build/utils/refactor-helpers.d.ts.map +1 -0
  169. package/tools/legacy-analyzer/build/utils/refactor-helpers.js +538 -0
  170. package/tools/legacy-analyzer/build/utils/refactor-helpers.js.map +1 -0
  171. package/tools/legacy-analyzer/package.json +20 -0
  172. package/tools/lighthouse-runner/README.md +45 -0
  173. package/tools/lighthouse-runner/build/index.d.ts +6 -0
  174. package/tools/lighthouse-runner/build/index.d.ts.map +1 -0
  175. package/tools/lighthouse-runner/build/index.js +295 -0
  176. package/tools/lighthouse-runner/build/index.js.map +1 -0
  177. package/tools/lighthouse-runner/build/index.test.d.ts +2 -0
  178. package/tools/lighthouse-runner/build/index.test.d.ts.map +1 -0
  179. package/tools/lighthouse-runner/build/index.test.js.map +1 -0
  180. package/tools/lighthouse-runner/package.json +20 -0
  181. package/tools/monorepo-manager/build/utils.d.ts.map +1 -1
  182. package/tools/monorepo-manager/build/utils.js +12 -9
  183. package/tools/monorepo-manager/build/utils.js.map +1 -1
  184. package/tools/performance-audit/README.md +37 -0
  185. package/tools/performance-audit/build/index.d.ts +13 -0
  186. package/tools/performance-audit/build/index.d.ts.map +1 -0
  187. package/tools/performance-audit/build/index.js +311 -0
  188. package/tools/performance-audit/build/index.js.map +1 -0
  189. package/tools/performance-audit/build/index.test.d.ts +2 -0
  190. package/tools/performance-audit/build/index.test.d.ts.map +1 -0
  191. package/tools/performance-audit/build/index.test.js.map +1 -0
  192. package/tools/performance-audit/package.json +20 -0
  193. package/tools/quality-pipeline/build/index.js +55 -15
  194. package/tools/quality-pipeline/build/index.js.map +1 -1
  195. package/tools/render-analyzer/README.md +43 -0
  196. package/tools/render-analyzer/build/index.d.ts +25 -0
  197. package/tools/render-analyzer/build/index.d.ts.map +1 -0
  198. package/tools/render-analyzer/build/index.js +342 -0
  199. package/tools/render-analyzer/build/index.js.map +1 -0
  200. package/tools/render-analyzer/build/index.test.d.ts +2 -0
  201. package/tools/render-analyzer/build/index.test.d.ts.map +1 -0
  202. package/tools/render-analyzer/build/index.test.js.map +1 -0
  203. package/tools/render-analyzer/package.json +20 -0
  204. package/tools/shared/build/fs.d.ts +8 -0
  205. package/tools/shared/build/fs.d.ts.map +1 -0
  206. package/tools/shared/build/fs.js +45 -0
  207. package/tools/shared/build/fs.js.map +1 -0
  208. package/tools/shared/build/index.d.ts +1 -0
  209. package/tools/shared/build/index.d.ts.map +1 -1
  210. package/tools/shared/build/index.js +1 -0
  211. package/tools/shared/build/index.js.map +1 -1
  212. package/tools/storybook-generator/README.md +39 -0
  213. package/tools/storybook-generator/build/index.d.ts +13 -0
  214. package/tools/storybook-generator/build/index.d.ts.map +1 -0
  215. package/tools/storybook-generator/build/index.js +478 -0
  216. package/tools/storybook-generator/build/index.js.map +1 -0
  217. package/tools/storybook-generator/build/index.test.d.ts +2 -0
  218. package/tools/storybook-generator/build/index.test.d.ts.map +1 -0
  219. package/tools/storybook-generator/build/index.test.js.map +1 -0
  220. package/tools/storybook-generator/package.json +20 -0
  221. package/tools/test-gap-analyzer/README.md +41 -0
  222. package/tools/test-gap-analyzer/build/index.d.ts +20 -0
  223. package/tools/test-gap-analyzer/build/index.d.ts.map +1 -0
  224. package/tools/test-gap-analyzer/build/index.js +371 -0
  225. package/tools/test-gap-analyzer/build/index.js.map +1 -0
  226. package/tools/test-gap-analyzer/build/index.test.d.ts +2 -0
  227. package/tools/test-gap-analyzer/build/index.test.d.ts.map +1 -0
  228. package/tools/test-gap-analyzer/build/index.test.js.map +1 -0
  229. package/tools/test-gap-analyzer/package.json +20 -0
  230. package/tools/typescript-enforcer/build/scanner.d.ts.map +1 -1
  231. package/tools/typescript-enforcer/build/scanner.js +13 -1
  232. package/tools/typescript-enforcer/build/scanner.js.map +1 -1
  233. package/tools/typescript-enforcer/build/types.d.ts +1 -0
  234. package/tools/typescript-enforcer/build/types.d.ts.map +1 -1
  235. package/mcp-publisher +0 -0
package/README.md CHANGED
@@ -5,14 +5,14 @@ MCP servers for React + TypeScript development automation. Works with Claude Des
5
5
  [![CI](https://github.com/Nishant-Chaudhary5338/mcp-toolkit/actions/workflows/ci.yml/badge.svg)](https://github.com/Nishant-Chaudhary5338/mcp-toolkit/actions/workflows/ci.yml)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
7
  [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-1.12.0-blue)](https://github.com/modelcontextprotocol/typescript-sdk)
8
- [![Tests](https://img.shields.io/badge/tests-134%20passing-brightgreen)](#testing)
8
+ [![Tests](https://img.shields.io/badge/tests-450%20passing-brightgreen)](#testing)
9
9
 
10
10
  ---
11
11
 
12
12
  ## What's here
13
13
 
14
14
  ```
15
- tools/ 9 MCP server packages — each independently buildable and runnable
15
+ tools/ 17 MCP server packages — each independently buildable and runnable
16
16
  server/ Express bridge (port 3002) — proxies calls from the UI to MCP servers
17
17
  client/ React 19 showcase SPA — tool catalog, workflow demos, animated flowcharts
18
18
  ```
@@ -21,34 +21,39 @@ client/ React 19 showcase SPA — tool catalog, workflow demos, animated flo
21
21
 
22
22
  ## Tools
23
23
 
24
- All 9 tools are production-ready: built, tested, and CI-verified on Node 20 + 22.
24
+ All 17 tools are production-ready: built, tested, and CI-verified on Node 20 + 22.
25
+
26
+ ### Component Development
25
27
 
26
28
  | Tool | What it does | MCP tools exposed |
27
29
  |---|---|---|
28
30
  | `component-factory` | Scaffold React components from 41 shadcn/ui templates — with tests + Storybook | 6 |
31
+ | `component-reviewer` | Audit TypeScript errors, a11y issues, test coverage — graded A+ to F | 3 |
32
+ | `component-fixer` | Auto-fix broken imports, missing deps, inline style refactors | 3 |
33
+ | `storybook-generator` | Auto-generate Storybook stories — Default, variants, sizes, callbacks, play functions | 2 |
34
+
35
+ ### Code Quality & Modernisation
36
+
37
+ | Tool | What it does | MCP tools exposed |
38
+ |---|---|---|
29
39
  | `code-modernizer` | AST-based JS/JSX → TypeScript conversion, PropTypes → interfaces | 1 |
30
- | `quality-pipeline` | 5-stage audit (tests · types · perf · a11y · design tokens) graded AF | 2 |
31
- | `json-viewer` | Generate an interactive HTML JSON viewer — collapsible, searchable, dark/light | 3 |
32
- | `dep-auditor` | Unused deps, duplicate versions, circular imports, bundle impact analysis | 4 |
40
+ | `typescript-enforcer` | Scan for `any` types, unsafe casts, missing modifiers 7 rules, scored 010 | 4 |
33
41
  | `accessibility-checker` | WCAG 2.1 audit — alt text, label associations, ARIA roles, keyboard navigation | 3 |
34
42
  | `generate-tests` | Analyze a TypeScript/React source file and generate a Vitest test suite | 2 |
35
- | `typescript-enforcer` | Scan for `any` types, unsafe casts, missing modifiers 7 rules, scored 010 | 4 |
36
- | `monorepo-manager` | Workspace listing, dependency graph, health check, shared dep finder | 6 |
43
+ | `quality-pipeline` | 5-stage audit (tests · types · perf · a11y · design tokens) graded AF | 2 |
44
+ | `render-analyzer` | Detect unnecessary re-renders, missing memo, inline objects/functions | 3 |
45
+ | `performance-audit` | Memory leaks, heavy imports, unoptimized images, deep nesting | 3 |
46
+ | `test-gap-analyzer` | Find unimplemented functions, uncovered branches, missing edge cases | 3 |
47
+ | `legacy-analyzer` | 22-tool health audit for any React/Next.js/Remix app — scores 0–100, migration hints | 22 |
37
48
 
38
- ### Roadmap
49
+ ### Monorepo & Infrastructure
39
50
 
40
- | Tool | Description | Status |
51
+ | Tool | What it does | MCP tools exposed |
41
52
  |---|---|---|
42
- | `render-analyzer` | React render profiling detect unnecessary renders, missing memo | 📋 Planned |
43
- | `storybook-generator` | Auto-generate Storybook stories for existing components | 📋 Planned |
44
- | `legacy-analyzer` | Tech debt detectionanti-patterns, duplication, refactor plans | 📋 Planned |
45
- | `test-gap-analyzer` | Find unimplemented functions, uncovered branches, missing edge cases | 📋 Planned |
46
- | `performance-audit` | Bundle size analysis, memory leaks, slow component detection | 📋 Planned |
47
- | `lighthouse-runner` | Web Vitals / Lighthouse audit via CLI | 📋 Planned |
48
- | `component-reviewer` | Audit TypeScript errors, test coverage gaps, a11y issues | 📋 Planned |
49
- | `component-fixer` | Auto-fix broken imports, missing dependencies, export corrections | 📋 Planned |
50
-
51
- Want to implement one of these? See [CONTRIBUTING.md](CONTRIBUTING.md).
53
+ | `dep-auditor` | Unused deps, duplicate versions, circular imports, bundle impact analysis | 4 |
54
+ | `monorepo-manager` | Workspace listing, dependency graph, health check, shared dep finder | 6 |
55
+ | `lighthouse-runner` | Static HTML auditmeta tags, a11y, OG/Twitter cards, canonical, JSON-LD | 4 |
56
+ | `json-viewer` | Generate an interactive HTML JSON viewer — collapsible, searchable, dark/light | 3 |
52
57
 
53
58
  ---
54
59
 
@@ -60,23 +65,29 @@ legacy-analyzer → code-modernizer → typescript-enforcer → generate-tests
60
65
  ```
61
66
  Migrate a JS codebase to strict TypeScript with auto-generated test coverage.
62
67
 
63
- ### 2 · Dependency Health
68
+ ### 2 · Component Quality Pipeline
64
69
  ```
65
- dep-auditor [unused] dep-auditor [duplicates] dep-auditor [bundle-impact] monorepo-manager
70
+ component-factorycomponent-revieweraccessibility-checkerstorybook-generator
66
71
  ```
67
- Audit and clean up a monorepo's dependency graph end-to-end.
72
+ Generate a production-ready component, review it, fix a11y issues, and add full story coverage.
68
73
 
69
- ### 3 · Component Pipeline
74
+ ### 3 · Render Performance Audit
70
75
  ```
71
- component-factoryaccessibility-checker → quality-pipeline
76
+ render-analyzerperformance-audit → quality-pipeline
72
77
  ```
73
- Generate a production-ready component and verify it before shipping.
78
+ Find unnecessary re-renders, memory leaks, and heavy imports graded A–F.
74
79
 
75
- ### 4 · Quality Audit
80
+ ### 4 · App Health Check
76
81
  ```
77
- accessibility-checkertypescript-enforcerquality-pipeline
82
+ legacy-analyzer [analyze-legacy-app] component-reviewergenerate-tests
78
83
  ```
79
- Full code quality check WCAG compliance, type safety score, overall grade.
84
+ Full health score (0–100) with prioritized migration hints, then fix the top issues.
85
+
86
+ ### 5 · Dependency Health
87
+ ```
88
+ dep-auditor [unused] → dep-auditor [duplicates] → dep-auditor [bundle-impact] → monorepo-manager
89
+ ```
90
+ Audit and clean up a monorepo's dependency graph end-to-end.
80
91
 
81
92
  ---
82
93
 
@@ -127,7 +138,7 @@ git clone https://github.com/Nishant-Chaudhary5338/mcp-toolkit.git
127
138
  cd mcp-toolkit
128
139
  npm install
129
140
  npm run build
130
- npm test # 134 tests across all 9 tools
141
+ npm test # 450 tests across all 17 tools
131
142
  npm run dev # server on :3002, client on :5173
132
143
  ```
133
144
 
@@ -141,17 +152,37 @@ npm run dev # server on :3002, client on :5173
141
152
  "command": "node",
142
153
  "args": ["/path/to/mcp-toolkit/tools/component-factory/build/index.js"]
143
154
  },
144
- "code-modernizer": {
155
+ "component-reviewer": {
145
156
  "command": "node",
146
- "args": ["/path/to/mcp-toolkit/tools/code-modernizer/build/index.js"]
157
+ "args": ["/path/to/mcp-toolkit/tools/component-reviewer/build/index.js"]
147
158
  },
148
- "quality-pipeline": {
159
+ "component-fixer": {
149
160
  "command": "node",
150
- "args": ["/path/to/mcp-toolkit/tools/quality-pipeline/build/index.js"]
161
+ "args": ["/path/to/mcp-toolkit/tools/component-fixer/build/index.js"]
151
162
  },
152
- "json-viewer": {
163
+ "storybook-generator": {
153
164
  "command": "node",
154
- "args": ["/path/to/mcp-toolkit/tools/json-viewer/build/index.js"]
165
+ "args": ["/path/to/mcp-toolkit/tools/storybook-generator/build/index.js"]
166
+ },
167
+ "render-analyzer": {
168
+ "command": "node",
169
+ "args": ["/path/to/mcp-toolkit/tools/render-analyzer/build/index.js"]
170
+ },
171
+ "performance-audit": {
172
+ "command": "node",
173
+ "args": ["/path/to/mcp-toolkit/tools/performance-audit/build/index.js"]
174
+ },
175
+ "legacy-analyzer": {
176
+ "command": "node",
177
+ "args": ["/path/to/mcp-toolkit/tools/legacy-analyzer/build/index.js"]
178
+ },
179
+ "test-gap-analyzer": {
180
+ "command": "node",
181
+ "args": ["/path/to/mcp-toolkit/tools/test-gap-analyzer/build/index.js"]
182
+ },
183
+ "lighthouse-runner": {
184
+ "command": "node",
185
+ "args": ["/path/to/mcp-toolkit/tools/lighthouse-runner/build/index.js"]
155
186
  },
156
187
  "dep-auditor": {
157
188
  "command": "node",
@@ -169,9 +200,21 @@ npm run dev # server on :3002, client on :5173
169
200
  "command": "node",
170
201
  "args": ["/path/to/mcp-toolkit/tools/typescript-enforcer/build/index.js"]
171
202
  },
203
+ "code-modernizer": {
204
+ "command": "node",
205
+ "args": ["/path/to/mcp-toolkit/tools/code-modernizer/build/index.js"]
206
+ },
207
+ "quality-pipeline": {
208
+ "command": "node",
209
+ "args": ["/path/to/mcp-toolkit/tools/quality-pipeline/build/index.js"]
210
+ },
172
211
  "monorepo-manager": {
173
212
  "command": "node",
174
213
  "args": ["/path/to/mcp-toolkit/tools/monorepo-manager/build/index.js"]
214
+ },
215
+ "json-viewer": {
216
+ "command": "node",
217
+ "args": ["/path/to/mcp-toolkit/tools/json-viewer/build/index.js"]
175
218
  }
176
219
  }
177
220
  }
@@ -179,14 +222,58 @@ npm run dev # server on :3002, client on :5173
179
222
 
180
223
  ### Use as a CLI / in CI
181
224
 
225
+ 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.
226
+
182
227
  ```sh
183
- # Scan a file for TypeScript issues
184
- echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"scan_file","arguments":{"path":"src/App.tsx"}}}' \
185
- | node tools/typescript-enforcer/build/index.js
228
+ # Analyze a full React/Next.js/Vite app — health score 0–100 + migration hints
229
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze-legacy-app","arguments":{"path":"/path/to/app"}}}' \
230
+ | node tools/legacy-analyzer/build/index.js
231
+
232
+ # Detect unnecessary re-renders (missing memo, inline objects)
233
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"detect_rerenders","arguments":{"path":"src/components"}}}' \
234
+ | node tools/render-analyzer/build/index.js
235
+
236
+ # Audit for memory leaks and heavy imports
237
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"audit_bundle","arguments":{"path":"src"}}}' \
238
+ | node tools/performance-audit/build/index.js
239
+
240
+ # Review a component — grade A+ to F
241
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"review","arguments":{"path":"src/components/Button.tsx"}}}' \
242
+ | node tools/component-reviewer/build/index.js
243
+
244
+ # Auto-fix a component
245
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fix","arguments":{"path":"src/components/Button.tsx"}}}' \
246
+ | node tools/component-fixer/build/index.js
186
247
 
187
- # Run a full WCAG audit
248
+ # Find untested exports
249
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze_test_gaps","arguments":{"path":"src"}}}' \
250
+ | node tools/test-gap-analyzer/build/index.js
251
+
252
+ # Generate Storybook stories for all components in a directory
253
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_stories","arguments":{"path":"src/components"}}}' \
254
+ | node tools/storybook-generator/build/index.js
255
+
256
+ # Audit an HTML file — SEO, a11y, OG tags, canonical
257
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"static_audit","arguments":{"path":"public/index.html"}}}' \
258
+ | node tools/lighthouse-runner/build/index.js
259
+
260
+ # Run a WCAG audit
188
261
  echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_accessibility","arguments":{"path":"src/components"}}}' \
189
262
  | node tools/accessibility-checker/build/index.js
263
+
264
+ # Scan for TypeScript violations
265
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"scan_directory","arguments":{"path":"src"}}}' \
266
+ | node tools/typescript-enforcer/build/index.js
267
+
268
+ # Find unused and outdated dependencies
269
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_unused_deps","arguments":{"root":"."}}}' \
270
+ | node tools/dep-auditor/build/index.js
271
+ ```
272
+
273
+ #### List a tool's available commands
274
+
275
+ ```sh
276
+ echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node tools/legacy-analyzer/build/index.js
190
277
  ```
191
278
 
192
279
  ---
@@ -197,11 +284,19 @@ Each tool has a dedicated test file covering its core logic directly — no MCP
197
284
 
198
285
  ```sh
199
286
  npm test # all tools
200
- npm run test -w tools/typescript-enforcer # single tool
287
+ npm run test -w tools/legacy-analyzer # single tool
201
288
  ```
202
289
 
203
290
  | Tool | Tests |
204
291
  |---|---|
292
+ | render-analyzer | 11 |
293
+ | storybook-generator | 20 |
294
+ | performance-audit | 15 |
295
+ | lighthouse-runner | 13 |
296
+ | test-gap-analyzer | 15 |
297
+ | component-reviewer | 19 |
298
+ | component-fixer | 10 |
299
+ | legacy-analyzer | 14 |
205
300
  | json-viewer | 16 |
206
301
  | quality-pipeline | 8 |
207
302
  | component-factory | 6 |
@@ -211,6 +306,7 @@ npm run test -w tools/typescript-enforcer # single tool
211
306
  | generate-tests | 14 |
212
307
  | typescript-enforcer | 22 |
213
308
  | monorepo-manager | 30 |
309
+ | **Total** | **450** |
214
310
 
215
311
  CI runs on every push and PR against Node 20 and 22.
216
312
 
@@ -222,14 +318,22 @@ CI runs on every push and PR against Node 20 and 22.
222
318
  tools/
223
319
  shared/ McpServerBase, ToolRegistry, shared types
224
320
  component-factory/ 41 shadcn/ui templates
321
+ component-reviewer/ Review rules engine (7 categories)
322
+ component-fixer/ Fix strategies per issue type
323
+ storybook-generator/ Story generator (Default, variants, play functions)
324
+ render-analyzer/ Re-render profile + memo checker
325
+ performance-audit/ Memory leak + heavy import detector
326
+ legacy-analyzer/ 22-tool analysis engine + health scorer
327
+ test-gap-analyzer/ Export extractor + edge case detector
328
+ lighthouse-runner/ Static HTML auditor
225
329
  code-modernizer/ AST-based TS conversion
226
330
  quality-pipeline/ 5-stage grading system
227
- json-viewer/ HTML generation
228
331
  dep-auditor/ Dependency graph analysis
229
332
  accessibility-checker/ WCAG rule engine (9 rules)
230
333
  generate-tests/ Source analyzer + test generator
231
334
  typescript-enforcer/ 7-rule type safety scanner
232
335
  monorepo-manager/ Workspace operations
336
+ json-viewer/ HTML generation
233
337
 
234
338
  server/ Express bridge — spawns tools as child processes
235
339
  client/ React 19 SPA — tool catalog and live demos
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "mcp-react-toolkit",
3
- "version": "1.0.1",
3
+ "version": "1.2.0",
4
4
  "mcpName": "io.github.Nishant-Chaudhary5338/mcp-react-toolkit",
5
- "description": "9 MCP servers for React + TypeScript development automation — component scaffolding, dep auditing, WCAG checking, test generation, TypeScript enforcement, and monorepo management.",
5
+ "description": "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, component review/fix, and monorepo management.",
6
6
  "keywords": ["mcp", "mcp-server", "model-context-protocol", "react", "typescript", "developer-tools", "claude", "ai-tools"],
7
7
  "author": "Nishant Chaudhary <nishantchaudhary.dev@gmail.com>",
8
8
  "license": "MIT",
@@ -24,13 +24,21 @@
24
24
  "tools/generate-tests",
25
25
  "tools/typescript-enforcer",
26
26
  "tools/monorepo-manager",
27
+ "tools/render-analyzer",
28
+ "tools/storybook-generator",
29
+ "tools/performance-audit",
30
+ "tools/lighthouse-runner",
31
+ "tools/test-gap-analyzer",
32
+ "tools/component-reviewer",
33
+ "tools/component-fixer",
34
+ "tools/legacy-analyzer",
27
35
  "server",
28
36
  "client"
29
37
  ],
30
38
  "scripts": {
31
- "build": "npm run build -w tools/shared && npm run build -w tools/json-viewer && npm run build -w tools/component-factory && npm run build -w tools/code-modernizer && npm run build -w tools/quality-pipeline && npm run build -w tools/dep-auditor && npm run build -w tools/accessibility-checker && npm run build -w tools/generate-tests && npm run build -w tools/typescript-enforcer && npm run build -w tools/monorepo-manager && npm run build -w server",
39
+ "build": "npm run build -w tools/shared && npm run build -w tools/json-viewer && npm run build -w tools/component-factory && npm run build -w tools/code-modernizer && npm run build -w tools/quality-pipeline && npm run build -w tools/dep-auditor && npm run build -w tools/accessibility-checker && npm run build -w tools/generate-tests && npm run build -w tools/typescript-enforcer && npm run build -w tools/monorepo-manager && npm run build -w tools/render-analyzer && npm run build -w tools/storybook-generator && npm run build -w tools/performance-audit && npm run build -w tools/lighthouse-runner && npm run build -w tools/test-gap-analyzer && npm run build -w tools/component-reviewer && npm run build -w tools/component-fixer && npm run build -w tools/legacy-analyzer && npm run build -w server",
32
40
  "dev": "concurrently \"npm run dev -w server\" \"npm run dev -w client\"",
33
- "test": "npm run test -w tools/json-viewer && npm run test -w tools/quality-pipeline && npm run test -w tools/component-factory && npm run test -w tools/code-modernizer && npm run test -w tools/dep-auditor && npm run test -w tools/accessibility-checker && npm run test -w tools/generate-tests && npm run test -w tools/typescript-enforcer && npm run test -w tools/monorepo-manager",
41
+ "test": "npm run test -w tools/json-viewer && npm run test -w tools/quality-pipeline && npm run test -w tools/component-factory && npm run test -w tools/code-modernizer && npm run test -w tools/dep-auditor && npm run test -w tools/accessibility-checker && npm run test -w tools/generate-tests && npm run test -w tools/typescript-enforcer && npm run test -w tools/monorepo-manager && npm run test -w tools/render-analyzer && npm run test -w tools/storybook-generator && npm run test -w tools/performance-audit && npm run test -w tools/lighthouse-runner && npm run test -w tools/test-gap-analyzer && npm run test -w tools/component-reviewer && npm run test -w tools/component-fixer && npm run test -w tools/legacy-analyzer",
34
42
  "install:all": "npm install"
35
43
  },
36
44
  "devDependencies": {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { McpServerBase } from '@mcp-showcase/shared';
2
+ import { McpServerBase, safeReadFile } from '@mcp-showcase/shared';
3
3
  import * as fs from 'fs';
4
4
  import * as path from 'path';
5
5
  import { analyzeFile, filterByImpact } from './rules.js';
@@ -7,8 +7,10 @@ function scanDirectory(dir, exts = ['.tsx', '.jsx', '.html']) {
7
7
  const files = [];
8
8
  if (!fs.existsSync(dir))
9
9
  return files;
10
- const SKIP = new Set(['node_modules', 'build', 'dist', '.next', '__tests__']);
10
+ const SKIP = new Set(['node_modules', 'build', 'dist', '.next', '.turbo', '__tests__', '.git', 'coverage', 'out']);
11
11
  for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
12
+ if (entry.isSymbolicLink())
13
+ continue;
12
14
  const fullPath = path.join(dir, entry.name);
13
15
  if (entry.isDirectory()) {
14
16
  if (SKIP.has(entry.name))
@@ -17,8 +19,7 @@ function scanDirectory(dir, exts = ['.tsx', '.jsx', '.html']) {
17
19
  }
18
20
  else if (exts.some(e => entry.name.endsWith(e)) &&
19
21
  !entry.name.includes('.test.') &&
20
- !entry.name.includes('.spec.') &&
21
- !entry.name.includes('.stories.')) {
22
+ !entry.name.includes('.spec.')) {
22
23
  files.push(fullPath);
23
24
  }
24
25
  }
@@ -29,7 +30,10 @@ function readAndAnalyze(targetPath) {
29
30
  const files = stat.isDirectory() ? scanDirectory(targetPath) : [targetPath];
30
31
  const issues = [];
31
32
  for (const file of files) {
32
- issues.push(...analyzeFile(file, fs.readFileSync(file, 'utf-8')));
33
+ const content = safeReadFile(file);
34
+ if (content === null)
35
+ continue;
36
+ issues.push(...analyzeFile(file, content));
33
37
  }
34
38
  return { files, issues };
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;AAEhE,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAeD,eAAO,MAAM,SAAS,EAAE,OAAO,EA6N9B,CAAC;AAMF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAM1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,EAAE,CAE/F"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;AAEhE,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAuCD,eAAO,MAAM,SAAS,EAAE,OAAO,EAga9B,CAAC;AAMF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAQ1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,EAAE,CAE/F"}