@nanocollective/nanocoder 1.16.5 → 1.17.1

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 (162) hide show
  1. package/README.md +53 -19
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/app.d.ts +6 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +54 -18
  6. package/dist/app.js.map +1 -1
  7. package/dist/cli.js +13 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/mcp.d.ts +6 -0
  10. package/dist/commands/mcp.d.ts.map +1 -1
  11. package/dist/commands/mcp.js +25 -3
  12. package/dist/commands/mcp.js.map +1 -1
  13. package/dist/components/vscode-extension-prompt.d.ts +12 -0
  14. package/dist/components/vscode-extension-prompt.d.ts.map +1 -0
  15. package/dist/components/vscode-extension-prompt.js +115 -0
  16. package/dist/components/vscode-extension-prompt.js.map +1 -0
  17. package/dist/hooks/useAppInitialization.d.ts +2 -0
  18. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  19. package/dist/hooks/useAppInitialization.js +55 -1
  20. package/dist/hooks/useAppInitialization.js.map +1 -1
  21. package/dist/hooks/useModeHandlers.d.ts +2 -1
  22. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  23. package/dist/hooks/useModeHandlers.js +13 -1
  24. package/dist/hooks/useModeHandlers.js.map +1 -1
  25. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  26. package/dist/hooks/useToolHandler.js +11 -0
  27. package/dist/hooks/useToolHandler.js.map +1 -1
  28. package/dist/hooks/useVSCodeServer.d.ts +45 -0
  29. package/dist/hooks/useVSCodeServer.d.ts.map +1 -0
  30. package/dist/hooks/useVSCodeServer.js +144 -0
  31. package/dist/hooks/useVSCodeServer.js.map +1 -0
  32. package/dist/lsp/index.d.ts +12 -0
  33. package/dist/lsp/index.d.ts.map +1 -0
  34. package/dist/lsp/index.js +11 -0
  35. package/dist/lsp/index.js.map +1 -0
  36. package/dist/lsp/lsp-client.d.ts +78 -0
  37. package/dist/lsp/lsp-client.d.ts.map +1 -0
  38. package/dist/lsp/lsp-client.js +378 -0
  39. package/dist/lsp/lsp-client.js.map +1 -0
  40. package/dist/lsp/lsp-client.spec.d.ts +2 -0
  41. package/dist/lsp/lsp-client.spec.d.ts.map +1 -0
  42. package/dist/lsp/lsp-client.spec.js +395 -0
  43. package/dist/lsp/lsp-client.spec.js.map +1 -0
  44. package/dist/lsp/lsp-manager.d.ts +124 -0
  45. package/dist/lsp/lsp-manager.d.ts.map +1 -0
  46. package/dist/lsp/lsp-manager.js +313 -0
  47. package/dist/lsp/lsp-manager.js.map +1 -0
  48. package/dist/lsp/lsp-manager.spec.d.ts +2 -0
  49. package/dist/lsp/lsp-manager.spec.d.ts.map +1 -0
  50. package/dist/lsp/lsp-manager.spec.js +388 -0
  51. package/dist/lsp/lsp-manager.spec.js.map +1 -0
  52. package/dist/lsp/protocol.d.ts +313 -0
  53. package/dist/lsp/protocol.d.ts.map +1 -0
  54. package/dist/lsp/protocol.js +70 -0
  55. package/dist/lsp/protocol.js.map +1 -0
  56. package/dist/lsp/protocol.spec.d.ts +2 -0
  57. package/dist/lsp/protocol.spec.d.ts.map +1 -0
  58. package/dist/lsp/protocol.spec.js +406 -0
  59. package/dist/lsp/protocol.spec.js.map +1 -0
  60. package/dist/lsp/server-discovery.d.ts +35 -0
  61. package/dist/lsp/server-discovery.d.ts.map +1 -0
  62. package/dist/lsp/server-discovery.js +291 -0
  63. package/dist/lsp/server-discovery.js.map +1 -0
  64. package/dist/lsp/server-discovery.spec.d.ts +2 -0
  65. package/dist/lsp/server-discovery.spec.d.ts.map +1 -0
  66. package/dist/lsp/server-discovery.spec.js +375 -0
  67. package/dist/lsp/server-discovery.spec.js.map +1 -0
  68. package/dist/mcp/mcp-client.d.ts +18 -0
  69. package/dist/mcp/mcp-client.d.ts.map +1 -1
  70. package/dist/mcp/mcp-client.js +59 -23
  71. package/dist/mcp/mcp-client.js.map +1 -1
  72. package/dist/mcp/mcp-client.spec.d.ts +2 -0
  73. package/dist/mcp/mcp-client.spec.d.ts.map +1 -0
  74. package/dist/mcp/mcp-client.spec.js +64 -0
  75. package/dist/mcp/mcp-client.spec.js.map +1 -0
  76. package/dist/mcp/transport-factory.d.ts +39 -0
  77. package/dist/mcp/transport-factory.d.ts.map +1 -0
  78. package/dist/mcp/transport-factory.js +176 -0
  79. package/dist/mcp/transport-factory.js.map +1 -0
  80. package/dist/mcp/transport-factory.spec.d.ts +2 -0
  81. package/dist/mcp/transport-factory.spec.d.ts.map +1 -0
  82. package/dist/mcp/transport-factory.spec.js +303 -0
  83. package/dist/mcp/transport-factory.spec.js.map +1 -0
  84. package/dist/tools/create-file.d.ts.map +1 -1
  85. package/dist/tools/create-file.js +37 -3
  86. package/dist/tools/create-file.js.map +1 -1
  87. package/dist/tools/delete-lines.d.ts.map +1 -1
  88. package/dist/tools/delete-lines.js +41 -1
  89. package/dist/tools/delete-lines.js.map +1 -1
  90. package/dist/tools/index.d.ts.map +1 -1
  91. package/dist/tools/index.js +2 -0
  92. package/dist/tools/index.js.map +1 -1
  93. package/dist/tools/insert-lines.d.ts.map +1 -1
  94. package/dist/tools/insert-lines.js +40 -1
  95. package/dist/tools/insert-lines.js.map +1 -1
  96. package/dist/tools/lsp-get-diagnostics.d.ts +3 -0
  97. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -0
  98. package/dist/tools/lsp-get-diagnostics.js +182 -0
  99. package/dist/tools/lsp-get-diagnostics.js.map +1 -0
  100. package/dist/tools/replace-lines.d.ts.map +1 -1
  101. package/dist/tools/replace-lines.js +44 -1
  102. package/dist/tools/replace-lines.js.map +1 -1
  103. package/dist/tools/tool-manager.d.ts +17 -0
  104. package/dist/tools/tool-manager.d.ts.map +1 -1
  105. package/dist/tools/tool-manager.js +12 -0
  106. package/dist/tools/tool-manager.js.map +1 -1
  107. package/dist/types/config.d.ts +27 -0
  108. package/dist/types/config.d.ts.map +1 -1
  109. package/dist/types/mcp.d.ts +23 -1
  110. package/dist/types/mcp.d.ts.map +1 -1
  111. package/dist/vscode/extension-installer.d.ts +24 -0
  112. package/dist/vscode/extension-installer.d.ts.map +1 -0
  113. package/dist/vscode/extension-installer.js +110 -0
  114. package/dist/vscode/extension-installer.js.map +1 -0
  115. package/dist/vscode/extension-installer.spec.d.ts +2 -0
  116. package/dist/vscode/extension-installer.spec.d.ts.map +1 -0
  117. package/dist/vscode/extension-installer.spec.js +132 -0
  118. package/dist/vscode/extension-installer.spec.js.map +1 -0
  119. package/dist/vscode/index.d.ts +14 -0
  120. package/dist/vscode/index.d.ts.map +1 -0
  121. package/dist/vscode/index.js +14 -0
  122. package/dist/vscode/index.js.map +1 -0
  123. package/dist/vscode/protocol.d.ts +101 -0
  124. package/dist/vscode/protocol.d.ts.map +1 -0
  125. package/dist/vscode/protocol.js +7 -0
  126. package/dist/vscode/protocol.js.map +1 -0
  127. package/dist/vscode/protocol.spec.d.ts +2 -0
  128. package/dist/vscode/protocol.spec.d.ts.map +1 -0
  129. package/dist/vscode/protocol.spec.js +354 -0
  130. package/dist/vscode/protocol.spec.js.map +1 -0
  131. package/dist/vscode/vscode-server.d.ts +118 -0
  132. package/dist/vscode/vscode-server.d.ts.map +1 -0
  133. package/dist/vscode/vscode-server.js +303 -0
  134. package/dist/vscode/vscode-server.js.map +1 -0
  135. package/dist/vscode/vscode-server.spec.d.ts +2 -0
  136. package/dist/vscode/vscode-server.spec.d.ts.map +1 -0
  137. package/dist/vscode/vscode-server.spec.js +487 -0
  138. package/dist/vscode/vscode-server.spec.js.map +1 -0
  139. package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
  140. package/dist/wizard/steps/mcp-step.js +139 -72
  141. package/dist/wizard/steps/mcp-step.js.map +1 -1
  142. package/dist/wizard/steps/summary-step.d.ts.map +1 -1
  143. package/dist/wizard/steps/summary-step.js +58 -2
  144. package/dist/wizard/steps/summary-step.js.map +1 -1
  145. package/dist/wizard/templates/mcp-templates.d.ts +20 -2
  146. package/dist/wizard/templates/mcp-templates.d.ts.map +1 -1
  147. package/dist/wizard/templates/mcp-templates.js +351 -7
  148. package/dist/wizard/templates/mcp-templates.js.map +1 -1
  149. package/dist/wizard/templates/mcp-templates.spec.js +257 -0
  150. package/dist/wizard/templates/mcp-templates.spec.js.map +1 -1
  151. package/dist/wizard/validation-array.spec.d.ts +2 -0
  152. package/dist/wizard/validation-array.spec.d.ts.map +1 -0
  153. package/dist/wizard/validation-array.spec.js +221 -0
  154. package/dist/wizard/validation-array.spec.js.map +1 -0
  155. package/dist/wizard/validation.d.ts +26 -1
  156. package/dist/wizard/validation.d.ts.map +1 -1
  157. package/dist/wizard/validation.js +15 -2
  158. package/dist/wizard/validation.js.map +1 -1
  159. package/dist/wizard/validation.spec.js +13 -5
  160. package/dist/wizard/validation.spec.js.map +1 -1
  161. package/package.json +7 -3
  162. package/source/app/prompts/main-prompt.md +6 -0
@@ -13,6 +13,7 @@ export const MCP_TEMPLATES = [
13
13
  ],
14
14
  buildConfig: answers => ({
15
15
  name: 'filesystem',
16
+ transport: 'stdio',
16
17
  command: 'npx',
17
18
  args: [
18
19
  '-y',
@@ -22,7 +23,11 @@ export const MCP_TEMPLATES = [
22
23
  .map(d => d.trim())
23
24
  .filter(Boolean),
24
25
  ],
26
+ description: 'Read/write files and directories',
27
+ tags: ['filesystem', 'local'],
25
28
  }),
29
+ category: 'local',
30
+ transportType: 'stdio',
26
31
  },
27
32
  {
28
33
  id: 'github',
@@ -39,12 +44,17 @@ export const MCP_TEMPLATES = [
39
44
  ],
40
45
  buildConfig: answers => ({
41
46
  name: 'github',
47
+ transport: 'stdio',
42
48
  command: 'npx',
43
49
  args: ['-y', '@modelcontextprotocol/server-github'],
44
50
  env: {
45
51
  GITHUB_PERSONAL_ACCESS_TOKEN: answers.githubToken,
46
52
  },
53
+ description: 'Repository management and operations',
54
+ tags: ['github', 'git', 'repository', 'stdio'],
47
55
  }),
56
+ category: 'local',
57
+ transportType: 'stdio',
48
58
  },
49
59
  {
50
60
  id: 'postgres',
@@ -61,12 +71,17 @@ export const MCP_TEMPLATES = [
61
71
  ],
62
72
  buildConfig: answers => ({
63
73
  name: 'postgres',
74
+ transport: 'stdio',
64
75
  command: 'npx',
65
76
  args: ['-y', '@modelcontextprotocol/server-postgres'],
66
77
  env: {
67
78
  POSTGRES_CONNECTION_STRING: answers.connectionString,
68
79
  },
80
+ description: 'Database queries and management',
81
+ tags: ['database', 'postgres', 'sql'],
69
82
  }),
83
+ category: 'local',
84
+ transportType: 'stdio',
70
85
  },
71
86
  {
72
87
  id: 'brave-search',
@@ -83,12 +98,17 @@ export const MCP_TEMPLATES = [
83
98
  ],
84
99
  buildConfig: answers => ({
85
100
  name: 'brave-search',
101
+ transport: 'stdio',
86
102
  command: 'npx',
87
103
  args: ['-y', '@modelcontextprotocol/server-brave-search'],
88
104
  env: {
89
105
  BRAVE_API_KEY: answers.braveApiKey,
90
106
  },
107
+ description: 'Web search capabilities',
108
+ tags: ['search', 'web', 'brave'],
91
109
  }),
110
+ category: 'local',
111
+ transportType: 'stdio',
92
112
  },
93
113
  {
94
114
  id: 'fetch',
@@ -106,14 +126,308 @@ export const MCP_TEMPLATES = [
106
126
  buildConfig: answers => {
107
127
  const config = {
108
128
  name: 'fetch',
129
+ transport: 'stdio',
109
130
  command: 'npx',
110
131
  args: ['-y', '@modelcontextprotocol/server-fetch'],
132
+ description: 'HTTP requests and web scraping',
133
+ tags: ['http', 'scraping', 'fetch', 'stdio'],
111
134
  };
112
135
  if (answers.userAgent) {
113
136
  config.env = { USER_AGENT: answers.userAgent };
114
137
  }
115
138
  return config;
116
139
  },
140
+ category: 'local',
141
+ transportType: 'stdio',
142
+ },
143
+ {
144
+ id: 'deepwiki',
145
+ name: 'DeepWiki',
146
+ description: 'DeepWiki provides up-to-date documentation you can talk to, for every repo in the world.',
147
+ command: '',
148
+ fields: [
149
+ {
150
+ name: 'serverName',
151
+ prompt: 'Server name',
152
+ required: true,
153
+ default: 'deepwiki',
154
+ },
155
+ {
156
+ name: 'url',
157
+ prompt: 'Server URL',
158
+ required: true,
159
+ default: 'https://mcp.deepwiki.com/mcp',
160
+ },
161
+ ],
162
+ buildConfig: answers => ({
163
+ name: answers.serverName || 'deepwiki',
164
+ transport: 'http',
165
+ url: answers.url || 'https://mcp.deepwiki.com/mcp',
166
+ description: 'DeepWiki provides up-to-date documentation you can talk to, for every repo in the world.',
167
+ tags: ['remote', 'wiki', 'documentation', 'http'],
168
+ timeout: 30000,
169
+ }),
170
+ category: 'remote',
171
+ transportType: 'http',
172
+ },
173
+ {
174
+ id: 'sequential-thinking',
175
+ name: 'Sequential Thinking',
176
+ description: 'Dynamic and reflective problem-solving through thought sequences.',
177
+ command: '',
178
+ fields: [
179
+ {
180
+ name: 'serverName',
181
+ prompt: 'Server name',
182
+ required: true,
183
+ default: 'sequential-thinking',
184
+ },
185
+ {
186
+ name: 'url',
187
+ prompt: 'Server URL',
188
+ required: true,
189
+ default: 'https://remote.mcpservers.org/sequentialthinking/mcp',
190
+ },
191
+ ],
192
+ buildConfig: answers => ({
193
+ name: answers.serverName || 'sequential-thinking',
194
+ transport: 'http',
195
+ url: answers.url || 'https://remote.mcpservers.org/sequentialthinking/mcp',
196
+ description: 'Dynamic and reflective problem-solving through thought sequences.',
197
+ tags: ['remote', 'reasoning', 'analysis', 'http'],
198
+ timeout: 30000,
199
+ }),
200
+ category: 'remote',
201
+ transportType: 'http',
202
+ },
203
+ {
204
+ id: 'context7',
205
+ name: 'Context7',
206
+ description: 'Up-to-date code documentation for LLMs and AI code editors.',
207
+ command: '',
208
+ fields: [
209
+ {
210
+ name: 'serverName',
211
+ prompt: 'Server name',
212
+ required: true,
213
+ default: 'context7',
214
+ },
215
+ {
216
+ name: 'url',
217
+ prompt: 'Server URL',
218
+ required: true,
219
+ default: 'https://mcp.context7.com/mcp',
220
+ },
221
+ ],
222
+ buildConfig: answers => ({
223
+ name: answers.serverName || 'context7',
224
+ transport: 'http',
225
+ url: answers.url || 'https://mcp.context7.com/mcp',
226
+ description: 'Up-to-date code documentation for LLMs and AI code editors.',
227
+ tags: ['remote', 'context', 'information', 'http'],
228
+ timeout: 30000,
229
+ }),
230
+ category: 'remote',
231
+ transportType: 'http',
232
+ },
233
+ {
234
+ id: 'remote-fetch',
235
+ name: 'Fetch',
236
+ description: 'Web content fetching and conversion for efficient LLM usage',
237
+ command: '',
238
+ fields: [
239
+ {
240
+ name: 'serverName',
241
+ prompt: 'Server name',
242
+ required: true,
243
+ default: 'remote-fetch',
244
+ },
245
+ {
246
+ name: 'url',
247
+ prompt: 'Server URL',
248
+ required: true,
249
+ default: 'https://remote.mcpservers.org/fetch/mcp',
250
+ },
251
+ ],
252
+ buildConfig: answers => ({
253
+ name: answers.serverName || 'remote-fetch',
254
+ transport: 'http',
255
+ url: answers.url || 'https://remote.mcpservers.org/fetch/mcp',
256
+ description: 'Web content fetching and conversion for efficient LLM usage',
257
+ tags: ['remote', 'http', 'scraping', 'fetch'],
258
+ timeout: 30000,
259
+ }),
260
+ category: 'remote',
261
+ transportType: 'http',
262
+ },
263
+ {
264
+ id: 'github-remote',
265
+ name: 'GitHub (Remote)',
266
+ description: 'Remote GitHub MCP server for repository management and operations',
267
+ command: '',
268
+ fields: [
269
+ {
270
+ name: 'serverName',
271
+ prompt: 'Server name',
272
+ required: true,
273
+ default: 'github-remote',
274
+ },
275
+ {
276
+ name: 'githubToken',
277
+ prompt: 'GitHub Personal Access Token (requires repo, read:org scopes)',
278
+ required: true,
279
+ sensitive: true,
280
+ },
281
+ ],
282
+ buildConfig: answers => ({
283
+ name: answers.serverName || 'github-remote',
284
+ transport: 'http',
285
+ url: 'https://api.githubcopilot.com/mcp/',
286
+ description: 'Remote GitHub MCP server for repository management and operations',
287
+ tags: ['remote', 'github', 'git', 'repository', 'http'],
288
+ timeout: 30000,
289
+ headers: {
290
+ Authorization: `Bearer ${answers.githubToken}`,
291
+ },
292
+ }),
293
+ category: 'remote',
294
+ transportType: 'http',
295
+ },
296
+ {
297
+ id: 'gitlab',
298
+ name: 'GitLab',
299
+ description: 'GitLab MCP server for repository management and operations',
300
+ command: 'npx',
301
+ fields: [
302
+ {
303
+ name: 'gitlabToken',
304
+ prompt: 'GitLab Personal Access Token',
305
+ required: true,
306
+ sensitive: true,
307
+ },
308
+ {
309
+ name: 'gitlabApiUrl',
310
+ prompt: 'GitLab API URL (default: https://gitlab.com/api/v4)',
311
+ required: false,
312
+ default: 'https://gitlab.com/api/v4',
313
+ },
314
+ ],
315
+ buildConfig: answers => ({
316
+ name: 'gitlab',
317
+ transport: 'stdio',
318
+ command: 'npx',
319
+ args: ['-y', '@zereight/mcp-gitlab'],
320
+ env: {
321
+ GITLAB_PERSONAL_ACCESS_TOKEN: answers.gitlabToken,
322
+ GITLAB_API_URL: answers.gitlabApiUrl || 'https://gitlab.com/api/v4',
323
+ },
324
+ description: 'GitLab MCP server for repository management and operations',
325
+ tags: ['gitlab', 'git', 'repository', 'stdio'],
326
+ }),
327
+ category: 'local',
328
+ transportType: 'stdio',
329
+ },
330
+ {
331
+ id: 'playwright',
332
+ name: 'Playwright',
333
+ description: 'Playwright MCP server for browser automation',
334
+ command: 'npx',
335
+ fields: [],
336
+ buildConfig: _answers => ({
337
+ name: 'playwright',
338
+ transport: 'stdio',
339
+ command: 'npx',
340
+ args: ['@playwright/mcp@latest'],
341
+ description: 'Playwright MCP server for browser automation',
342
+ tags: ['playwright', 'browser', 'automation', 'stdio'],
343
+ }),
344
+ category: 'local',
345
+ transportType: 'stdio',
346
+ },
347
+ {
348
+ id: 'chrome-devtools',
349
+ name: 'Chrome DevTools',
350
+ description: 'Chrome DevTools MCP server for browser automation',
351
+ command: 'npx',
352
+ fields: [
353
+ {
354
+ name: 'headless',
355
+ prompt: 'Run Chrome in headless mode? (true/false)',
356
+ required: false,
357
+ default: 'true',
358
+ },
359
+ ],
360
+ buildConfig: answers => ({
361
+ name: 'chrome-devtools',
362
+ transport: 'stdio',
363
+ command: 'npx',
364
+ args: [
365
+ '-y',
366
+ 'chrome-devtools-mcp@latest',
367
+ ...(answers.headless === 'true' ? ['--headless=true'] : []),
368
+ ],
369
+ description: 'Chrome DevTools MCP server for browser automation',
370
+ tags: ['chrome', 'devtools', 'browser', 'automation', 'stdio'],
371
+ }),
372
+ category: 'local',
373
+ transportType: 'stdio',
374
+ },
375
+ {
376
+ id: 'duckduckgo',
377
+ name: 'DuckDuckGo Search',
378
+ description: 'DuckDuckGo search MCP server',
379
+ command: 'uvx',
380
+ fields: [],
381
+ buildConfig: _answers => ({
382
+ name: 'duckduckgo',
383
+ transport: 'stdio',
384
+ command: 'uvx',
385
+ args: ['duckduckgo-mcp-server'],
386
+ description: 'DuckDuckGo search MCP server',
387
+ tags: ['duckduckgo', 'search', 'stdio'],
388
+ }),
389
+ category: 'local',
390
+ transportType: 'stdio',
391
+ },
392
+ {
393
+ id: 'git',
394
+ name: 'Git',
395
+ description: 'Git MCP server for local repository operations',
396
+ command: 'uvx',
397
+ fields: [
398
+ {
399
+ name: 'repositoryPath',
400
+ prompt: 'Path to Git repository',
401
+ required: true,
402
+ },
403
+ ],
404
+ buildConfig: answers => ({
405
+ name: 'git',
406
+ transport: 'stdio',
407
+ command: 'uvx',
408
+ args: ['mcp-server-git', '--repository', answers.repositoryPath],
409
+ description: 'Git MCP server for local repository operations',
410
+ tags: ['git', 'repository', 'stdio'],
411
+ }),
412
+ category: 'local',
413
+ transportType: 'stdio',
414
+ },
415
+ {
416
+ id: 'memory',
417
+ name: 'Memory',
418
+ description: 'Memory MCP server for persistent storage',
419
+ command: 'npx',
420
+ fields: [],
421
+ buildConfig: _answers => ({
422
+ name: 'memory',
423
+ transport: 'stdio',
424
+ command: 'npx',
425
+ args: ['-y', '@modelcontextprotocol/server-memory'],
426
+ description: 'Memory MCP server for persistent storage',
427
+ tags: ['memory', 'storage', 'stdio'],
428
+ }),
429
+ category: 'local',
430
+ transportType: 'stdio',
117
431
  },
118
432
  {
119
433
  id: 'custom',
@@ -121,19 +435,30 @@ export const MCP_TEMPLATES = [
121
435
  description: 'Custom MCP server configuration',
122
436
  command: '',
123
437
  fields: [
438
+ {
439
+ name: 'transport',
440
+ prompt: 'Transport type (stdio, http, websocket)',
441
+ required: true,
442
+ default: 'stdio',
443
+ },
124
444
  {
125
445
  name: 'serverName',
126
446
  prompt: 'Server name',
127
447
  required: true,
128
448
  },
449
+ {
450
+ name: 'url',
451
+ prompt: 'Server URL (for http/websocket transports)',
452
+ required: false,
453
+ },
129
454
  {
130
455
  name: 'command',
131
- prompt: 'Command (e.g., node, python, /path/to/executable)',
132
- required: true,
456
+ prompt: 'Command (for stdio transport)',
457
+ required: false,
133
458
  },
134
459
  {
135
460
  name: 'args',
136
- prompt: 'Arguments (space-separated)',
461
+ prompt: 'Arguments (space-separated, for stdio transport)',
137
462
  required: false,
138
463
  },
139
464
  {
@@ -145,14 +470,31 @@ export const MCP_TEMPLATES = [
145
470
  buildConfig: answers => {
146
471
  const config = {
147
472
  name: answers.serverName,
148
- command: answers.command,
149
- args: answers.args
473
+ transport: (answers.transport || 'stdio'),
474
+ description: 'Custom MCP server configuration',
475
+ tags: ['custom'],
476
+ };
477
+ // Configure based on transport type
478
+ const transport = answers.transport || 'stdio';
479
+ if (transport === 'stdio') {
480
+ if (!answers.command) {
481
+ throw new Error('Command is required for stdio transport');
482
+ }
483
+ config.command = answers.command;
484
+ config.args = answers.args
150
485
  ? answers.args
151
486
  .split(' ')
152
487
  .map(arg => arg.trim())
153
488
  .filter(Boolean)
154
- : [],
155
- };
489
+ : [];
490
+ }
491
+ else if (transport === 'http' || transport === 'websocket') {
492
+ if (!answers.url) {
493
+ throw new Error('URL is required for http/websocket transports');
494
+ }
495
+ config.url = answers.url;
496
+ config.timeout = 30000; // 30 seconds default timeout
497
+ }
156
498
  if (answers.envVars) {
157
499
  config.env = {};
158
500
  const lines = answers.envVars.split('\n');
@@ -168,6 +510,8 @@ export const MCP_TEMPLATES = [
168
510
  }
169
511
  return config;
170
512
  },
513
+ category: 'local', // Default to local, but can be remote based on transport
514
+ transportType: 'stdio', // Default to stdio, but can be http/websocket based on transport
171
515
  },
172
516
  ];
173
517
  //# sourceMappingURL=mcp-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-templates.js","sourceRoot":"","sources":["../../../source/wizard/templates/mcp-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-templates.js","sourceRoot":"","sources":["../../../source/wizard/templates/mcp-templates.ts"],"names":[],"mappings":"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"}