@revealui/mcp 0.1.0 → 0.1.3

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 (293) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +111 -0
  3. package/README.md +3 -0
  4. package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +1 -1
  5. package/dist/adapters/db.d.ts.map +1 -0
  6. package/dist/adapters/db.js.map +1 -0
  7. package/dist/config/index.d.ts.map +1 -0
  8. package/dist/config/index.js.map +1 -0
  9. package/dist/contracts.d.ts.map +1 -0
  10. package/dist/contracts.js.map +1 -0
  11. package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +56 -0
  12. package/dist/hypervisor.d.ts.map +1 -0
  13. package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +209 -1
  14. package/dist/hypervisor.js.map +1 -0
  15. package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +9 -5
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/{packages/mcp/src/index.js → index.js} +8 -4
  18. package/dist/index.js.map +1 -0
  19. package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
  20. package/dist/servers/adapter.d.ts.map +1 -0
  21. package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
  22. package/dist/servers/adapter.js.map +1 -0
  23. package/dist/servers/revealui-content.d.ts +21 -0
  24. package/dist/servers/revealui-content.d.ts.map +1 -0
  25. package/dist/servers/revealui-content.js +211 -0
  26. package/dist/servers/revealui-content.js.map +1 -0
  27. package/dist/servers/revealui-email.d.ts +18 -0
  28. package/dist/servers/revealui-email.d.ts.map +1 -0
  29. package/dist/servers/revealui-email.js +190 -0
  30. package/dist/servers/revealui-email.js.map +1 -0
  31. package/dist/servers/revealui-stripe.d.ts +19 -0
  32. package/dist/servers/revealui-stripe.d.ts.map +1 -0
  33. package/dist/servers/revealui-stripe.js +228 -0
  34. package/dist/servers/revealui-stripe.js.map +1 -0
  35. package/package.json +50 -11
  36. package/.env.example +0 -9
  37. package/MCP_MAINTENANCE.md +0 -265
  38. package/__tests__/crdt.integration.test.ts +0 -156
  39. package/configs/README.md +0 -77
  40. package/configs/claude-template.json +0 -54
  41. package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
  42. package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
  43. package/dist/packages/core/src/database/ssl-config.js +0 -8
  44. package/dist/packages/core/src/database/ssl-config.js.map +0 -1
  45. package/dist/packages/core/src/features.d.ts +0 -86
  46. package/dist/packages/core/src/features.d.ts.map +0 -1
  47. package/dist/packages/core/src/features.js +0 -93
  48. package/dist/packages/core/src/features.js.map +0 -1
  49. package/dist/packages/core/src/license.d.ts +0 -75
  50. package/dist/packages/core/src/license.d.ts.map +0 -1
  51. package/dist/packages/core/src/license.js +0 -174
  52. package/dist/packages/core/src/license.js.map +0 -1
  53. package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
  54. package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
  55. package/dist/packages/core/src/monitoring/alerts.js +0 -325
  56. package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
  57. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
  58. package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
  59. package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
  60. package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
  61. package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
  62. package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
  63. package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
  64. package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
  65. package/dist/packages/core/src/monitoring/index.d.ts +0 -14
  66. package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
  67. package/dist/packages/core/src/monitoring/index.js +0 -18
  68. package/dist/packages/core/src/monitoring/index.js.map +0 -1
  69. package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
  70. package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
  71. package/dist/packages/core/src/monitoring/process-registry.js +0 -223
  72. package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
  73. package/dist/packages/core/src/monitoring/types.d.ts +0 -231
  74. package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
  75. package/dist/packages/core/src/monitoring/types.js +0 -43
  76. package/dist/packages/core/src/monitoring/types.js.map +0 -1
  77. package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
  78. package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
  79. package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
  80. package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
  81. package/dist/packages/core/src/observability/logger.d.ts +0 -47
  82. package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
  83. package/dist/packages/core/src/observability/logger.js +0 -141
  84. package/dist/packages/core/src/observability/logger.js.map +0 -1
  85. package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
  86. package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
  87. package/dist/packages/core/src/utils/logger-server.js +0 -69
  88. package/dist/packages/core/src/utils/logger-server.js.map +0 -1
  89. package/dist/packages/core/src/utils/request-context.d.ts +0 -143
  90. package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
  91. package/dist/packages/core/src/utils/request-context.js +0 -169
  92. package/dist/packages/core/src/utils/request-context.js.map +0 -1
  93. package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
  94. package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
  95. package/dist/packages/dev/src/code-validator/index.js +0 -20
  96. package/dist/packages/dev/src/code-validator/index.js.map +0 -1
  97. package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
  98. package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
  99. package/dist/packages/dev/src/code-validator/types.js +0 -7
  100. package/dist/packages/dev/src/code-validator/types.js.map +0 -1
  101. package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
  102. package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
  103. package/dist/packages/dev/src/code-validator/validator.js +0 -176
  104. package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
  105. package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
  106. package/dist/packages/mcp/src/adapters/db.js.map +0 -1
  107. package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
  108. package/dist/packages/mcp/src/config/index.js.map +0 -1
  109. package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
  110. package/dist/packages/mcp/src/contracts.js.map +0 -1
  111. package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
  112. package/dist/packages/mcp/src/hypervisor.js.map +0 -1
  113. package/dist/packages/mcp/src/index.d.ts.map +0 -1
  114. package/dist/packages/mcp/src/index.js.map +0 -1
  115. package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
  116. package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
  117. package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
  118. package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
  119. package/dist/packages/mcp/src/servers/code-validator.js +0 -156
  120. package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
  121. package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
  122. package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
  123. package/dist/packages/mcp/src/servers/neon.js +0 -90
  124. package/dist/packages/mcp/src/servers/neon.js.map +0 -1
  125. package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
  126. package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
  127. package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
  128. package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
  129. package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
  130. package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
  131. package/dist/packages/mcp/src/servers/playwright.js +0 -68
  132. package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
  133. package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
  134. package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
  135. package/dist/packages/mcp/src/servers/stripe.js +0 -86
  136. package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
  137. package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
  138. package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
  139. package/dist/packages/mcp/src/servers/supabase.js +0 -144
  140. package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
  141. package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
  142. package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
  143. package/dist/packages/mcp/src/servers/vercel.js +0 -87
  144. package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
  145. package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
  146. package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
  147. package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
  148. package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
  149. package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
  150. package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
  151. package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
  152. package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
  153. package/dist/scripts/lib/analyzers/index.d.ts +0 -11
  154. package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
  155. package/dist/scripts/lib/analyzers/index.js +0 -11
  156. package/dist/scripts/lib/analyzers/index.js.map +0 -1
  157. package/dist/scripts/lib/args.d.ts +0 -104
  158. package/dist/scripts/lib/args.d.ts.map +0 -1
  159. package/dist/scripts/lib/args.js +0 -304
  160. package/dist/scripts/lib/args.js.map +0 -1
  161. package/dist/scripts/lib/cache.d.ts +0 -185
  162. package/dist/scripts/lib/cache.d.ts.map +0 -1
  163. package/dist/scripts/lib/cache.js +0 -390
  164. package/dist/scripts/lib/cache.js.map +0 -1
  165. package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
  166. package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
  167. package/dist/scripts/lib/cli/dispatch.js +0 -206
  168. package/dist/scripts/lib/cli/dispatch.js.map +0 -1
  169. package/dist/scripts/lib/cli/index.d.ts +0 -10
  170. package/dist/scripts/lib/cli/index.d.ts.map +0 -1
  171. package/dist/scripts/lib/cli/index.js +0 -10
  172. package/dist/scripts/lib/cli/index.js.map +0 -1
  173. package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
  174. package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
  175. package/dist/scripts/lib/database/ssl-config.js +0 -47
  176. package/dist/scripts/lib/database/ssl-config.js.map +0 -1
  177. package/dist/scripts/lib/errors.d.ts +0 -218
  178. package/dist/scripts/lib/errors.d.ts.map +0 -1
  179. package/dist/scripts/lib/errors.js +0 -543
  180. package/dist/scripts/lib/errors.js.map +0 -1
  181. package/dist/scripts/lib/exec.d.ts +0 -107
  182. package/dist/scripts/lib/exec.d.ts.map +0 -1
  183. package/dist/scripts/lib/exec.js +0 -232
  184. package/dist/scripts/lib/exec.js.map +0 -1
  185. package/dist/scripts/lib/index.d.ts +0 -50
  186. package/dist/scripts/lib/index.d.ts.map +0 -1
  187. package/dist/scripts/lib/index.js +0 -65
  188. package/dist/scripts/lib/index.js.map +0 -1
  189. package/dist/scripts/lib/logger.d.ts +0 -50
  190. package/dist/scripts/lib/logger.d.ts.map +0 -1
  191. package/dist/scripts/lib/logger.js +0 -159
  192. package/dist/scripts/lib/logger.js.map +0 -1
  193. package/dist/scripts/lib/output.d.ts +0 -149
  194. package/dist/scripts/lib/output.d.ts.map +0 -1
  195. package/dist/scripts/lib/output.js +0 -263
  196. package/dist/scripts/lib/output.js.map +0 -1
  197. package/dist/scripts/lib/parallel.d.ts +0 -164
  198. package/dist/scripts/lib/parallel.d.ts.map +0 -1
  199. package/dist/scripts/lib/parallel.js +0 -355
  200. package/dist/scripts/lib/parallel.js.map +0 -1
  201. package/dist/scripts/lib/paths.d.ts +0 -92
  202. package/dist/scripts/lib/paths.d.ts.map +0 -1
  203. package/dist/scripts/lib/paths.js +0 -171
  204. package/dist/scripts/lib/paths.js.map +0 -1
  205. package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
  206. package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
  207. package/dist/scripts/lib/state/adapters/memory.js +0 -110
  208. package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
  209. package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
  210. package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
  211. package/dist/scripts/lib/state/adapters/pglite.js +0 -256
  212. package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
  213. package/dist/scripts/lib/state/index.d.ts +0 -16
  214. package/dist/scripts/lib/state/index.d.ts.map +0 -1
  215. package/dist/scripts/lib/state/index.js +0 -16
  216. package/dist/scripts/lib/state/index.js.map +0 -1
  217. package/dist/scripts/lib/state/types.d.ts +0 -111
  218. package/dist/scripts/lib/state/types.d.ts.map +0 -1
  219. package/dist/scripts/lib/state/types.js +0 -8
  220. package/dist/scripts/lib/state/types.js.map +0 -1
  221. package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
  222. package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
  223. package/dist/scripts/lib/state/workflow-state.js +0 -331
  224. package/dist/scripts/lib/state/workflow-state.js.map +0 -1
  225. package/dist/scripts/lib/telemetry.d.ts +0 -194
  226. package/dist/scripts/lib/telemetry.d.ts.map +0 -1
  227. package/dist/scripts/lib/telemetry.js +0 -394
  228. package/dist/scripts/lib/telemetry.js.map +0 -1
  229. package/dist/scripts/lib/utils.d.ts +0 -270
  230. package/dist/scripts/lib/utils.d.ts.map +0 -1
  231. package/dist/scripts/lib/utils.js +0 -473
  232. package/dist/scripts/lib/utils.js.map +0 -1
  233. package/dist/scripts/lib/validation/database.d.ts +0 -83
  234. package/dist/scripts/lib/validation/database.d.ts.map +0 -1
  235. package/dist/scripts/lib/validation/database.js +0 -199
  236. package/dist/scripts/lib/validation/database.js.map +0 -1
  237. package/dist/scripts/lib/validation/env.d.ts +0 -80
  238. package/dist/scripts/lib/validation/env.d.ts.map +0 -1
  239. package/dist/scripts/lib/validation/env.js +0 -246
  240. package/dist/scripts/lib/validation/env.js.map +0 -1
  241. package/dist/scripts/lib/validation/index.d.ts +0 -16
  242. package/dist/scripts/lib/validation/index.d.ts.map +0 -1
  243. package/dist/scripts/lib/validation/index.js +0 -16
  244. package/dist/scripts/lib/validation/index.js.map +0 -1
  245. package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
  246. package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
  247. package/dist/scripts/lib/validation/post-execution.js +0 -110
  248. package/dist/scripts/lib/validation/post-execution.js.map +0 -1
  249. package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
  250. package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
  251. package/dist/scripts/lib/validation/pre-execution.js +0 -466
  252. package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
  253. package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
  254. package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
  255. package/dist/scripts/lib/validators/documentation-validator.js +0 -584
  256. package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
  257. package/dist/scripts/lib/validators/index.d.ts +0 -11
  258. package/dist/scripts/lib/validators/index.d.ts.map +0 -1
  259. package/dist/scripts/lib/validators/index.js +0 -11
  260. package/dist/scripts/lib/validators/index.js.map +0 -1
  261. package/docker-compose.yml +0 -46
  262. package/docs/INDEX.md +0 -88
  263. package/docs/README.md +0 -774
  264. package/docs/SETUP.md +0 -264
  265. package/docs/servers/code-validator.md +0 -586
  266. package/eslint.config.js +0 -7
  267. package/migrations/0001_add_crdt_columns.sql +0 -8
  268. package/migrations/0001_rollback.sql +0 -6
  269. package/migrations/005_performance_indexes.sql +0 -190
  270. package/migrations/backfill_crdt_meta.js +0 -45
  271. package/src/__tests__/hypervisor.test.ts +0 -212
  272. package/src/adapters/db.ts +0 -180
  273. package/src/config/config.json +0 -49
  274. package/src/config/index.ts +0 -30
  275. package/src/contracts.ts +0 -221
  276. package/src/hypervisor.ts +0 -464
  277. package/src/index.ts +0 -87
  278. package/src/servers/adapter.ts +0 -643
  279. package/src/servers/code-validator.ts +0 -188
  280. package/src/servers/neon.ts +0 -103
  281. package/src/servers/next-devtools.ts +0 -230
  282. package/src/servers/playwright.ts +0 -77
  283. package/src/servers/stripe.ts +0 -99
  284. package/src/servers/supabase.ts +0 -161
  285. package/src/servers/vercel.ts +0 -100
  286. package/src/servers/vultr-test.ts +0 -97
  287. package/tsconfig.json +0 -12
  288. package/vitest.config.ts +0 -22
  289. /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
  290. /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
  291. /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
  292. /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
  293. /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
@@ -1,215 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Next.js DevTools MCP Server Launcher
4
- *
5
- * Starts the Next.js DevTools MCP server for AI-powered Next.js development.
6
- *
7
- * Usage:
8
- * pnpm mcp:next-devtools
9
- */
10
- import { spawn } from 'node:child_process';
11
- import { createServer } from 'node:net';
12
- import { createLogger, getProjectRoot } from '@revealui/scripts';
13
- import { ErrorCode } from '@revealui/scripts/errors';
14
- import { config } from 'dotenv';
15
- import { checkMcpLicense } from '../index.js';
16
- const logger = createLogger();
17
- // Load environment variables
18
- config();
19
- async function checkPort(port) {
20
- return new Promise((resolve) => {
21
- const server = createServer();
22
- server.listen(port, () => {
23
- server.once('close', () => resolve(false));
24
- server.close();
25
- });
26
- server.on('error', () => resolve(true));
27
- });
28
- }
29
- async function startNextDevToolsMCP() {
30
- try {
31
- await getProjectRoot(import.meta.url);
32
- // Check if we're being invoked by an MCP client (non-TTY stdin)
33
- // MCP servers need clean stdio pipes for JSON-RPC protocol
34
- const isMCPSession = !process.stdin.isTTY;
35
- const stdioConfig = isMCPSession
36
- ? ['pipe', 'pipe', 'pipe'] // stdin, stdout, stderr as pipes for MCP protocol
37
- : 'inherit'; // Use inherit for interactive/debugging sessions
38
- // Only log when running interactively (not via MCP client)
39
- if (!isMCPSession) {
40
- logger.header('Starting Next.js DevTools MCP Server');
41
- logger.info(' This server provides Next.js 16+ development tools for coding agents');
42
- logger.info(' Features: Runtime diagnostics, upgrade automation, Cache Components setup');
43
- }
44
- // Spawn the next-devtools-mcp process
45
- // Use pnpm exec for locally installed package
46
- // next-devtools-mcp automatically discovers Next.js dev servers and connects to them
47
- const child = spawn('pnpm', ['exec', 'next-devtools-mcp'], {
48
- stdio: stdioConfig,
49
- env: {
50
- ...process.env,
51
- // Disable telemetry if NEXT_TELEMETRY_DISABLED is set
52
- NEXT_TELEMETRY_DISABLED: process.env.NEXT_TELEMETRY_DISABLED || '0',
53
- },
54
- });
55
- // Pipe stdio when running as MCP server (for JSON-RPC protocol)
56
- if (isMCPSession) {
57
- const { stdin, stdout, stderr } = child;
58
- if (stdin) {
59
- process.stdin.pipe(stdin);
60
- }
61
- stdout?.pipe(process.stdout);
62
- stderr?.pipe(process.stderr);
63
- }
64
- else {
65
- // Check CMS dev server
66
- const cmsPort = 4000;
67
- const cmsRunning = await checkPort(cmsPort);
68
- // In interactive mode, provide feedback that the server is running
69
- // MCP servers don't produce output until they receive JSON-RPC messages
70
- logger.info('\n📊 Server Discovery');
71
- logger.info('📝 Next Steps');
72
- if (!cmsRunning) {
73
- logger.info('1. Start your CMS dev server:');
74
- logger.info(' cd apps/cms && pnpm dev');
75
- logger.info('');
76
- }
77
- logger.info('2. Ensure Next.js DevTools MCP is running:');
78
- logger.info(' pnpm mcp:next-devtools');
79
- logger.info(' (or pnpm mcp:all for all servers)');
80
- logger.info('');
81
- logger.info('3. In Cursor, you can now ask:');
82
- logger.info(' - "What errors are in my Next.js app?"');
83
- logger.info(' - "Show me my application routes"');
84
- logger.info(' - "Help me upgrade to Next.js 16"');
85
- logger.info(' - "Enable Cache Components in my app"');
86
- logger.info('');
87
- if (cmsRunning) {
88
- logger.success(`Next.js CMS app detected on port ${cmsPort}`);
89
- logger.info(` URL: http://localhost:${cmsPort}`);
90
- logger.info(` MCP Endpoint: http://localhost:${cmsPort}/_next/mcp`);
91
- logger.info(' Server started successfully ✓');
92
- logger.info(' Waiting for MCP client connections...');
93
- logger.info(' (This server communicates via JSON-RPC protocol on stdin/stdout)');
94
- logger.info('');
95
- logger.info(' To use this with Cursor IDE:');
96
- logger.info(" • Ensure it's configured in .cursor/mcp-config.json");
97
- logger.info(' • Cursor will automatically start it when needed');
98
- logger.info('');
99
- logger.info('');
100
- logger.info('🛠️ Available Next.js DevTools MCP Tools');
101
- logger.info('1. nextjs_index');
102
- logger.info(' - Discovers all running Next.js 16+ dev servers');
103
- logger.info(' - Lists available diagnostic tools');
104
- logger.info(' - Shows server metadata (port, PID, URL)');
105
- logger.info('');
106
- logger.info('2. nextjs_call');
107
- logger.info(' - Executes runtime diagnostics on dev server');
108
- logger.info(' - Can query:');
109
- logger.info(' • Real-time build/runtime errors');
110
- logger.info(' • Application routes and pages');
111
- logger.info(' • Component metadata');
112
- logger.info(' • Development server logs');
113
- logger.info(' • Server Actions');
114
- logger.info('');
115
- logger.info('3. upgrade_nextjs_16');
116
- logger.info(' - Automated Next.js 16 upgrade');
117
- logger.info(' - Runs official codemods');
118
- logger.info(' - Handles async API changes');
119
- logger.info(' - Fixes deprecated features');
120
- logger.info('');
121
- logger.info('4. enable_cache_components');
122
- logger.info(' - Complete Cache Components setup');
123
- logger.info(' - Automated error detection and fixing');
124
- logger.info(' - Route verification');
125
- logger.info(' - Intelligent boundary setup');
126
- logger.info('');
127
- logger.info('💡 How to Use with Your CMS App');
128
- logger.info('Once your CMS dev server is running (pnpm dev in apps/cms):');
129
- logger.info('');
130
- logger.info('1. Auto-discovery:');
131
- logger.info(' The MCP server will automatically detect your CMS app');
132
- logger.info(" when it's running on http://localhost:4000");
133
- logger.info('');
134
- logger.info('2. Query runtime errors:');
135
- logger.info(' "Next Devtools, what errors are in my Next.js app?"');
136
- logger.info(' → Returns real-time build and runtime errors');
137
- logger.info('');
138
- logger.info('3. Check application routes:');
139
- logger.info(' "Next Devtools, show me my application routes"');
140
- logger.info(' → Lists all routes, pages, and dynamic segments');
141
- logger.info('');
142
- logger.info('4. View dev server logs:');
143
- logger.info(' "Next Devtools, what\'s in the dev server logs?"');
144
- logger.info(' → Shows recent development server output');
145
- logger.info('');
146
- logger.info('5. Upgrade assistance:');
147
- logger.info(' "Next Devtools, help me upgrade to Next.js 16"');
148
- logger.info(' → Guides through upgrade with automated codemods');
149
- logger.info('');
150
- logger.info('6. Cache Components setup:');
151
- logger.info(' "Next Devtools, enable Cache Components"');
152
- logger.info(' → Automated setup with error detection/fixing');
153
- logger.info('');
154
- logger.info('🔗 Integration with Your Setup');
155
- logger.success('Next.js DevTools MCP is configured in:');
156
- logger.info(' - .cursor/mcp-config.json');
157
- logger.info(' - package.json scripts (mcp:next-devtools)');
158
- logger.info(' - Included in mcp:all command');
159
- logger.info('');
160
- logger.success('Your CMS app is Next.js 16.1.1 - fully compatible!');
161
- logger.success('Dev server runs on port 4000 with Turbopack');
162
- logger.success('MCP endpoint available at: /_next/mcp');
163
- logger.info('');
164
- logger.info(' Press Ctrl+C to stop the server');
165
- }
166
- else {
167
- logger.warning(`Next.js CMS app not running on port ${cmsPort}`);
168
- logger.info(` Start it with: cd apps/cms && pnpm dev`);
169
- }
170
- }
171
- child.on('error', (error) => {
172
- if (!isMCPSession) {
173
- logger.error(`Failed to start Next.js DevTools MCP server: ${error.message}`);
174
- }
175
- process.exit(ErrorCode.CONFIG_ERROR);
176
- });
177
- child.on('exit', (code) => {
178
- process.exit(code ?? 0);
179
- });
180
- // Handle termination signals
181
- process.on('SIGINT', () => {
182
- if (!isMCPSession) {
183
- logger.info('\n🛑 Stopping Next.js DevTools MCP Server...');
184
- }
185
- child.kill('SIGINT');
186
- });
187
- process.on('SIGTERM', () => {
188
- if (!isMCPSession) {
189
- logger.info('\n🛑 Stopping Next.js DevTools MCP Server...');
190
- }
191
- child.kill('SIGTERM');
192
- });
193
- }
194
- catch (error) {
195
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
196
- process.exit(ErrorCode.EXECUTION_ERROR);
197
- }
198
- }
199
- /**
200
- * Main function
201
- */
202
- async function main() {
203
- try {
204
- if (!(await checkMcpLicense())) {
205
- process.exit(ErrorCode.CONFIG_ERROR);
206
- }
207
- await startNextDevToolsMCP();
208
- }
209
- catch (error) {
210
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
211
- process.exit(ErrorCode.EXECUTION_ERROR);
212
- }
213
- }
214
- main();
215
- //# sourceMappingURL=next-devtools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-devtools.js","sourceRoot":"","sources":["../../../../../src/servers/next-devtools.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;AAE7B,6BAA6B;AAC7B,MAAM,EAAE,CAAA;AAER,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAErC,gEAAgE;QAChE,2DAA2D;QAC3D,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAA;QACzC,MAAM,WAAW,GAAyC,YAAY;YACpE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,kDAAkD;YAC7E,CAAC,CAAC,SAAS,CAAA,CAAC,iDAAiD;QAE/D,2DAA2D;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAA;YACrD,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;YACtF,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QAC7F,CAAC;QAED,sCAAsC;QACtC,8CAA8C;QAC9C,qFAAqF;QACrF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAAE;YACzD,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,sDAAsD;gBACtD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,GAAG;aACpE;SACF,CAAC,CAAA;QAEF,gEAAgE;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,OAAO,GAAG,IAAI,CAAA;YACpB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;YAC3C,mEAAmE;YACnE,wEAAwE;YACxE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;YACpC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;gBAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;YACzD,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;YACxC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC7C,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YACxD,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACnD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;YACvD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEf,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,OAAO,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAA;gBAC7D,MAAM,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAA;gBAClD,MAAM,CAAC,IAAI,CAAC,qCAAqC,OAAO,YAAY,CAAC,CAAA;gBACrE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;gBAC/C,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;gBACvD,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;gBAClF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBAC9C,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;gBACrE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBAClE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAEf,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAC9B,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;gBACjE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;gBACpD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;gBAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC7B,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAC9B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;gBACpD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;gBAClD,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;gBACxC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC7C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;gBACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;gBACnC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;gBAC1C,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC7C,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;gBACnD,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;gBACtC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAEf,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBAC9C,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;gBAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;gBACjC,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;gBACvE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;gBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;gBACvC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;gBACrE,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;gBAC3C,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;gBAChE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;gBACjE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;gBACvC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBAClE,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;gBAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBACrC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;gBAChE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBAClE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;gBAC1D,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;gBAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAEf,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC7C,MAAM,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;gBAC3C,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;gBAC5D,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;gBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAA;gBACpE,MAAM,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAA;gBAC7D,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAA;gBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACf,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAA;gBAChE,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC/E,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,6BAA6B;QAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;YAC7D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;YAC7D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,oBAAoB,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Playwright MCP Server Launcher
4
- *
5
- * Starts the Playwright MCP server for AI-powered browser automation.
6
- *
7
- * Usage:
8
- * pnpm mcp:playwright
9
- */
10
- export {};
11
- //# sourceMappingURL=playwright.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../../../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -1,68 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Playwright MCP Server Launcher
4
- *
5
- * Starts the Playwright MCP server for AI-powered browser automation.
6
- *
7
- * Usage:
8
- * pnpm mcp:playwright
9
- */
10
- import { spawn } from 'node:child_process';
11
- import { createLogger, getProjectRoot } from '@revealui/scripts';
12
- import { ErrorCode } from '@revealui/scripts/errors';
13
- import { config } from 'dotenv';
14
- import { checkMcpLicense } from '../index.js';
15
- const logger = createLogger();
16
- // Load environment variables
17
- config();
18
- async function startPlaywrightMCP() {
19
- try {
20
- await getProjectRoot(import.meta.url);
21
- logger.header('Starting Playwright MCP Server');
22
- // Spawn the Playwright MCP server
23
- // Using @executeautomation/playwright-mcp-server which is the most popular option
24
- const child = spawn('pnpm', ['dlx', '@executeautomation/playwright-mcp-server'], {
25
- stdio: 'inherit',
26
- env: {
27
- ...process.env,
28
- },
29
- });
30
- child.on('error', (error) => {
31
- logger.error(`Failed to start Playwright MCP server: ${error.message}`);
32
- process.exit(ErrorCode.CONFIG_ERROR);
33
- });
34
- child.on('exit', (code) => {
35
- process.exit(code ?? 0);
36
- });
37
- // Handle termination signals
38
- process.on('SIGINT', () => {
39
- logger.info('\n🛑 Stopping Playwright MCP Server...');
40
- child.kill('SIGINT');
41
- });
42
- process.on('SIGTERM', () => {
43
- logger.info('\n🛑 Stopping Playwright MCP Server...');
44
- child.kill('SIGTERM');
45
- });
46
- }
47
- catch (error) {
48
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
49
- process.exit(ErrorCode.EXECUTION_ERROR);
50
- }
51
- }
52
- /**
53
- * Main function
54
- */
55
- async function main() {
56
- try {
57
- if (!(await checkMcpLicense())) {
58
- process.exit(ErrorCode.CONFIG_ERROR);
59
- }
60
- await startPlaywrightMCP();
61
- }
62
- catch (error) {
63
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
64
- process.exit(ErrorCode.EXECUTION_ERROR);
65
- }
66
- }
67
- main();
68
- //# sourceMappingURL=playwright.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../../../../src/servers/playwright.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;AAE7B,6BAA6B;AAC7B,MAAM,EAAE,CAAA;AAER,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA;QAE/C,kCAAkC;QAClC,kFAAkF;QAClF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,0CAA0C,CAAC,EAAE;YAC/E,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;aACf;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACvE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,6BAA6B;QAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;YACrD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;YACrD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,kBAAkB,EAAE,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Stripe MCP Server Launcher
4
- *
5
- * Starts the Stripe MCP server for AI-powered payment management.
6
- *
7
- * Usage:
8
- * pnpm mcp:stripe
9
- */
10
- export {};
11
- //# sourceMappingURL=stripe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../../../src/servers/stripe.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -1,86 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Stripe MCP Server Launcher
4
- *
5
- * Starts the Stripe MCP server for AI-powered payment management.
6
- *
7
- * Usage:
8
- * pnpm mcp:stripe
9
- */
10
- import { spawn } from 'node:child_process';
11
- import { createLogger, getProjectRoot } from '@revealui/scripts';
12
- import { ErrorCode } from '@revealui/scripts/errors';
13
- import { config } from 'dotenv';
14
- import { checkMcpLicense } from '../index.js';
15
- const logger = createLogger();
16
- // Load environment variables
17
- config();
18
- const MAX_RESTARTS = 3;
19
- const RESTART_DELAYS_MS = [2000, 4000, 8000];
20
- async function spawnStripe(stripeSecretKey) {
21
- return new Promise((resolve) => {
22
- const child = spawn('pnpm', ['dlx', '@stripe/mcp', '--tools=all'], {
23
- stdio: 'inherit',
24
- env: { ...process.env, STRIPE_SECRET_KEY: stripeSecretKey },
25
- });
26
- child.on('error', (error) => {
27
- logger.error(`Failed to start Stripe MCP server: ${error.message}`);
28
- resolve(ErrorCode.CONFIG_ERROR);
29
- });
30
- child.on('exit', (code) => resolve(code ?? 0));
31
- process.on('SIGINT', () => {
32
- child.kill('SIGINT');
33
- });
34
- process.on('SIGTERM', () => {
35
- child.kill('SIGTERM');
36
- });
37
- });
38
- }
39
- async function startStripeMCP() {
40
- try {
41
- await getProjectRoot(import.meta.url);
42
- const stripeSecretKey = process.env.STRIPE_SECRET_KEY;
43
- if (!stripeSecretKey) {
44
- logger.error('STRIPE_SECRET_KEY environment variable is required');
45
- logger.info(' Get your key from: https://dashboard.stripe.com/apikeys');
46
- process.exit(ErrorCode.CONFIG_ERROR);
47
- }
48
- const withRestart = process.argv.includes('--restart');
49
- logger.header('Starting Stripe MCP Server');
50
- logger.info(` Secret Key: ${stripeSecretKey.substring(0, 12)}...`);
51
- if (withRestart)
52
- logger.info(' Restart mode: enabled (up to 3 attempts)');
53
- let attempt = 0;
54
- while (true) {
55
- const code = await spawnStripe(stripeSecretKey);
56
- if (!withRestart || attempt >= MAX_RESTARTS) {
57
- process.exit(code ?? 0);
58
- }
59
- const delay = RESTART_DELAYS_MS[attempt] ?? 8000;
60
- attempt++;
61
- logger.warning(` Server exited (code ${code}). Restarting in ${delay / 1000}s (attempt ${attempt}/${MAX_RESTARTS})...`);
62
- await new Promise((resolve) => setTimeout(resolve, delay));
63
- }
64
- }
65
- catch (error) {
66
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
67
- process.exit(ErrorCode.EXECUTION_ERROR);
68
- }
69
- }
70
- /**
71
- * Main function
72
- */
73
- async function main() {
74
- try {
75
- if (!(await checkMcpLicense())) {
76
- process.exit(ErrorCode.CONFIG_ERROR);
77
- }
78
- await startStripeMCP();
79
- }
80
- catch (error) {
81
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
82
- process.exit(ErrorCode.EXECUTION_ERROR);
83
- }
84
- }
85
- main();
86
- //# sourceMappingURL=stripe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../../../src/servers/stripe.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Supabase MCP Server Launcher
4
- *
5
- * Starts the Supabase MCP server for AI-powered database management.
6
- *
7
- * Usage:
8
- * pnpm mcp:supabase
9
- */
10
- export {};
11
- //# sourceMappingURL=supabase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../../../src/servers/supabase.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -1,144 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Supabase MCP Server Launcher
4
- *
5
- * Starts the Supabase MCP server for AI-powered database management.
6
- *
7
- * Usage:
8
- * pnpm mcp:supabase
9
- */
10
- import { spawn } from 'node:child_process';
11
- import { randomBytes } from 'node:crypto';
12
- import { createLogger, getProjectRoot } from '@revealui/scripts';
13
- import { ErrorCode } from '@revealui/scripts/errors';
14
- import { config } from 'dotenv';
15
- import { checkMcpLicense } from '../index.js';
16
- const logger = createLogger();
17
- // Load environment variables
18
- config();
19
- async function startSupabaseMCP() {
20
- try {
21
- await getProjectRoot(import.meta.url);
22
- // Supabase MCP uses local package supabase-mcp
23
- // Verified: Package expects SUPABASE_URL, SUPABASE_ANON_KEY, and SUPABASE_SERVICE_ROLE_KEY
24
- // Source: node_modules/supabase-mcp/dist/esm/config.js and services/supabase.js
25
- //
26
- // NEW API KEY SUPPORT (2025):
27
- // Supabase introduced new API keys: sb_publishable_... (replaces anon) and sb_secret_... (replaces service_role)
28
- // Legacy keys (anon/service_role JWT) still work but will be deprecated in Nov 2025
29
- // The @supabase/supabase-js client accepts any key format, so we support both
30
- // Reference: https://github.com/orgs/supabase/discussions/29260
31
- const supabaseUrl = process.env.SUPABASE_URL;
32
- // Support both legacy and new API key formats
33
- // New format: SUPABASE_PUBLISHABLE_KEY (sb_publishable_...) or SUPABASE_ANON_KEY (legacy)
34
- // New format: SUPABASE_SECRET_KEY (sb_secret_...) or SUPABASE_SERVICE_ROLE_KEY (legacy)
35
- const supabaseAnonKey = process.env.SUPABASE_PUBLISHABLE_KEY || process.env.SUPABASE_ANON_KEY;
36
- const supabaseServiceRoleKey = process.env.SUPABASE_SECRET_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY;
37
- if (!supabaseUrl) {
38
- logger.error('SUPABASE_URL is required');
39
- logger.info(' Get your credentials from: https://supabase.com/dashboard → Settings → API');
40
- process.exit(ErrorCode.CONFIG_ERROR);
41
- }
42
- if (!supabaseAnonKey) {
43
- logger.error('SUPABASE_ANON_KEY or SUPABASE_PUBLISHABLE_KEY is required');
44
- logger.info(' Legacy: SUPABASE_ANON_KEY (anon JWT key)');
45
- logger.info(' New: SUPABASE_PUBLISHABLE_KEY (sb_publishable_... key)');
46
- logger.info(' Get from: https://supabase.com/dashboard → Settings → API');
47
- process.exit(ErrorCode.CONFIG_ERROR);
48
- }
49
- if (!supabaseServiceRoleKey) {
50
- logger.error('SUPABASE_SERVICE_ROLE_KEY or SUPABASE_SECRET_KEY is required');
51
- logger.info(' Legacy: SUPABASE_SERVICE_ROLE_KEY (service_role JWT key)');
52
- logger.info(' New: SUPABASE_SECRET_KEY (sb_secret_... key)');
53
- logger.info(' Note: Required for MCP server operations (full database access)');
54
- logger.info(' Get from: https://supabase.com/dashboard → Settings → API');
55
- process.exit(ErrorCode.CONFIG_ERROR);
56
- }
57
- // MCP_API_KEY is required by supabase-mcp package for server authentication
58
- // This is NOT a Supabase key - it's a key you generate yourself to secure the MCP server
59
- let mcpApiKey = process.env.MCP_API_KEY;
60
- if (!mcpApiKey) {
61
- // Auto-generate a secure random key if not provided
62
- mcpApiKey = randomBytes(32).toString('hex');
63
- logger.warning('⚠️ MCP_API_KEY not set - auto-generated a secure key');
64
- logger.warning(' Add this to your .env file to persist it:');
65
- logger.warning(` MCP_API_KEY=${mcpApiKey}`);
66
- logger.warning(' (This key secures your MCP server endpoint)');
67
- }
68
- const withRestart = process.argv.includes('--restart');
69
- logger.header('Starting Supabase MCP Server (Local)');
70
- logger.info(` Supabase URL: ${supabaseUrl}`);
71
- if (withRestart)
72
- logger.info(' Restart mode: enabled (up to 3 attempts)');
73
- // Detect key format for logging
74
- const usingNewKeys = process.env.SUPABASE_PUBLISHABLE_KEY || process.env.SUPABASE_SECRET_KEY;
75
- if (usingNewKeys) {
76
- logger.info(' Using new API key format (sb_publishable_/sb_secret_)');
77
- }
78
- else {
79
- logger.info(' Using legacy API key format (anon/service_role JWT)');
80
- logger.warning(' ⚠️ Consider migrating to new keys before Nov 2025');
81
- logger.info(' See: https://github.com/orgs/supabase/discussions/29260');
82
- }
83
- // Build env once — used for all spawn attempts
84
- // Package validates: SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, MCP_API_KEY
85
- // We map new keys to legacy variable names for package compatibility
86
- const spawnEnv = {
87
- ...process.env,
88
- SUPABASE_URL: supabaseUrl,
89
- SUPABASE_ANON_KEY: supabaseAnonKey,
90
- SUPABASE_SERVICE_ROLE_KEY: supabaseServiceRoleKey,
91
- MCP_API_KEY: mcpApiKey,
92
- SUPABASE_PUBLISHABLE_KEY: process.env.SUPABASE_PUBLISHABLE_KEY,
93
- SUPABASE_SECRET_KEY: process.env.SUPABASE_SECRET_KEY,
94
- };
95
- const MaxRestarts = 3;
96
- const RestartDelaysMs = [2000, 4000, 8000];
97
- const spawnSupabase = () => new Promise((resolve) => {
98
- const child = spawn('pnpm', ['dlx', 'supabase-mcp'], { stdio: 'inherit', env: spawnEnv });
99
- child.on('error', (error) => {
100
- logger.error(`Failed to start Supabase MCP server: ${error.message}`);
101
- resolve(ErrorCode.CONFIG_ERROR);
102
- });
103
- child.on('exit', (code) => resolve(code ?? 0));
104
- process.on('SIGINT', () => {
105
- child.kill('SIGINT');
106
- });
107
- process.on('SIGTERM', () => {
108
- child.kill('SIGTERM');
109
- });
110
- });
111
- let attempt = 0;
112
- while (true) {
113
- const code = await spawnSupabase();
114
- if (!withRestart || attempt >= MaxRestarts) {
115
- process.exit(code ?? 0);
116
- }
117
- const delay = RestartDelaysMs[attempt] ?? 8000;
118
- attempt++;
119
- logger.warning(` Server exited (code ${code}). Restarting in ${delay / 1000}s (attempt ${attempt}/${MaxRestarts})...`);
120
- await new Promise((resolve) => setTimeout(resolve, delay));
121
- }
122
- }
123
- catch (error) {
124
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
125
- process.exit(ErrorCode.EXECUTION_ERROR);
126
- }
127
- }
128
- /**
129
- * Main function
130
- */
131
- async function main() {
132
- try {
133
- if (!(await checkMcpLicense())) {
134
- process.exit(ErrorCode.CONFIG_ERROR);
135
- }
136
- await startSupabaseMCP();
137
- }
138
- catch (error) {
139
- logger.error(`Script failed: ${error instanceof Error ? error.message : String(error)}`);
140
- process.exit(ErrorCode.EXECUTION_ERROR);
141
- }
142
- }
143
- main();
144
- //# sourceMappingURL=supabase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../../../../src/servers/supabase.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env tsx
2
- /**
3
- * Vercel MCP Server Launcher
4
- *
5
- * Starts the Vercel MCP server for AI-powered Vercel management.
6
- *
7
- * Usage:
8
- * pnpm mcp:vercel
9
- */
10
- export {};
11
- //# sourceMappingURL=vercel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../../../src/servers/vercel.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}