@stacksfinder/mcp-server 1.0.2 → 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.
- package/LICENSE +21 -0
- package/README.md +414 -262
- package/dist/compatibility/index.d.ts +11 -0
- package/dist/compatibility/index.d.ts.map +1 -0
- package/dist/compatibility/index.js +13 -0
- package/dist/compatibility/index.js.map +1 -0
- package/dist/compatibility/rules.d.ts +29 -0
- package/dist/compatibility/rules.d.ts.map +1 -0
- package/dist/compatibility/rules.js +419 -0
- package/dist/compatibility/rules.js.map +1 -0
- package/dist/compatibility/scoring.d.ts +54 -0
- package/dist/compatibility/scoring.d.ts.map +1 -0
- package/dist/compatibility/scoring.js +209 -0
- package/dist/compatibility/scoring.js.map +1 -0
- package/dist/compatibility/types.d.ts +176 -0
- package/dist/compatibility/types.d.ts.map +1 -0
- package/dist/compatibility/types.js +26 -0
- package/dist/compatibility/types.js.map +1 -0
- package/dist/compatibility/utils.d.ts +82 -0
- package/dist/compatibility/utils.d.ts.map +1 -0
- package/dist/compatibility/utils.js +269 -0
- package/dist/compatibility/utils.js.map +1 -0
- package/dist/data/357/200/242/357/200/212cp H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serversrcdatacompatibility_matrix.json H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serverdistdata/357/200/242" +226 -0
- package/dist/http.d.ts +7 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +69 -0
- package/dist/http.js.map +1 -0
- package/dist/lib/mcp-compatibility/index.d.ts +33 -0
- package/dist/lib/mcp-compatibility/index.d.ts.map +1 -0
- package/dist/lib/mcp-compatibility/index.js +35 -0
- package/dist/lib/mcp-compatibility/index.js.map +1 -0
- package/dist/lib/mcp-compatibility/rules.d.ts +29 -0
- package/dist/lib/mcp-compatibility/rules.d.ts.map +1 -0
- package/dist/lib/mcp-compatibility/rules.js +419 -0
- package/dist/lib/mcp-compatibility/rules.js.map +1 -0
- package/dist/lib/mcp-compatibility/scoring.d.ts +54 -0
- package/dist/lib/mcp-compatibility/scoring.d.ts.map +1 -0
- package/dist/lib/mcp-compatibility/scoring.js +209 -0
- package/dist/lib/mcp-compatibility/scoring.js.map +1 -0
- package/dist/lib/mcp-compatibility/types.d.ts +176 -0
- package/dist/lib/mcp-compatibility/types.d.ts.map +1 -0
- package/dist/lib/mcp-compatibility/types.js +26 -0
- package/dist/lib/mcp-compatibility/types.js.map +1 -0
- package/dist/lib/mcp-compatibility/utils.d.ts +82 -0
- package/dist/lib/mcp-compatibility/utils.d.ts.map +1 -0
- package/dist/lib/mcp-compatibility/utils.js +269 -0
- package/dist/lib/mcp-compatibility/utils.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +404 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/audit.d.ts +246 -0
- package/dist/tools/audit.d.ts.map +1 -0
- package/dist/tools/audit.js +559 -0
- package/dist/tools/audit.js.map +1 -0
- package/dist/tools/check-compatibility.d.ts +43 -0
- package/dist/tools/check-compatibility.d.ts.map +1 -0
- package/dist/tools/check-compatibility.js +133 -0
- package/dist/tools/check-compatibility.js.map +1 -0
- package/dist/tools/project-kit/analyze-repo.d.ts +50 -0
- package/dist/tools/project-kit/analyze-repo.d.ts.map +1 -0
- package/dist/tools/project-kit/analyze-repo.js +456 -0
- package/dist/tools/project-kit/analyze-repo.js.map +1 -0
- package/dist/tools/project-kit/detect-stack.d.ts +16 -0
- package/dist/tools/project-kit/detect-stack.d.ts.map +1 -0
- package/dist/tools/project-kit/detect-stack.js +572 -0
- package/dist/tools/project-kit/detect-stack.js.map +1 -0
- package/dist/tools/project-kit/execute-installation.d.ts +50 -0
- package/dist/tools/project-kit/execute-installation.d.ts.map +1 -0
- package/dist/tools/project-kit/execute-installation.js +440 -0
- package/dist/tools/project-kit/execute-installation.js.map +1 -0
- package/dist/tools/project-kit/generate.d.ts +70 -0
- package/dist/tools/project-kit/generate.d.ts.map +1 -0
- package/dist/tools/project-kit/generate.js +455 -0
- package/dist/tools/project-kit/generate.js.map +1 -0
- package/dist/tools/project-kit/index.d.ts +18 -0
- package/dist/tools/project-kit/index.d.ts.map +1 -0
- package/dist/tools/project-kit/index.js +21 -0
- package/dist/tools/project-kit/index.js.map +1 -0
- package/dist/tools/project-kit/installation-types.d.ts +147 -0
- package/dist/tools/project-kit/installation-types.d.ts.map +1 -0
- package/dist/tools/project-kit/installation-types.js +491 -0
- package/dist/tools/project-kit/installation-types.js.map +1 -0
- package/dist/tools/project-kit/match-mcps.d.ts +67 -0
- package/dist/tools/project-kit/match-mcps.d.ts.map +1 -0
- package/dist/tools/project-kit/match-mcps.js +497 -0
- package/dist/tools/project-kit/match-mcps.js.map +1 -0
- package/dist/tools/project-kit/prepare-installation.d.ts +54 -0
- package/dist/tools/project-kit/prepare-installation.d.ts.map +1 -0
- package/dist/tools/project-kit/prepare-installation.js +382 -0
- package/dist/tools/project-kit/prepare-installation.js.map +1 -0
- package/dist/tools/project-kit/types.d.ts +200 -0
- package/dist/tools/project-kit/types.d.ts.map +1 -0
- package/dist/tools/project-kit/types.js +76 -0
- package/dist/tools/project-kit/types.js.map +1 -0
- package/dist/tools/recommend.d.ts.map +1 -1
- package/dist/tools/recommend.js +9 -4
- package/dist/tools/recommend.js.map +1 -1
- package/package.json +8 -3
package/dist/server.js
CHANGED
|
@@ -8,6 +8,12 @@ import { recommendStackToolDefinition, executeRecommendStack, RecommendStackInpu
|
|
|
8
8
|
import { getBlueprintToolDefinition, executeGetBlueprint, GetBlueprintInputSchema, createBlueprintToolDefinition, executeCreateBlueprint, CreateBlueprintInputSchema } from './tools/blueprint.js';
|
|
9
9
|
import { recommendStackDemoToolDefinition, executeRecommendStackDemo, RecommendStackDemoInputSchema } from './tools/recommend-demo.js';
|
|
10
10
|
import { setupApiKeyToolDefinition, executeSetupApiKey, SetupApiKeyInputSchema, listApiKeysToolDefinition, executeListApiKeys, revokeApiKeyToolDefinition, executeRevokeApiKey, RevokeApiKeyInputSchema } from './tools/api-keys.js';
|
|
11
|
+
import { createAuditToolDefinition, executeCreateAudit, CreateAuditInputSchema, getAuditToolDefinition, executeGetAudit, GetAuditInputSchema, listAuditsToolDefinition, executeListAudits, ListAuditsInputSchema, compareAuditsToolDefinition, executeCompareAudits, CompareAuditsInputSchema, getAuditQuotaToolDefinition, executeGetAuditQuota, getMigrationRecommendationToolDefinition, executeGetMigrationRecommendation, GetMigrationRecommendationInputSchema } from './tools/audit.js';
|
|
12
|
+
import { generateMCPKitTool, generateMCPKit, GenerateMCPKitInputSchema, analyzeRepoMcpsTool, analyzeRepo, AnalyzeRepoMCPsInputSchema, PRIORITIES, PROJECT_TYPES, SCALES } from './tools/project-kit/index.js';
|
|
13
|
+
import { prepareMCPInstallationTool, prepareMCPInstallation } from './tools/project-kit/prepare-installation.js';
|
|
14
|
+
import { executeMCPInstallationTool, executeMCPInstallation } from './tools/project-kit/execute-installation.js';
|
|
15
|
+
import { PrepareMCPInstallationInputSchema, ExecuteMCPInstallationInputSchema } from './tools/project-kit/installation-types.js';
|
|
16
|
+
import { checkCompatibilityToolDefinition, executeCheckCompatibility, CheckCompatibilityInputSchema } from './tools/check-compatibility.js';
|
|
11
17
|
import { info, debug } from './utils/logger.js';
|
|
12
18
|
/**
|
|
13
19
|
* Create and configure the MCP server.
|
|
@@ -248,7 +254,404 @@ export function createServer() {
|
|
|
248
254
|
isError
|
|
249
255
|
};
|
|
250
256
|
});
|
|
251
|
-
|
|
257
|
+
// ========================================================================
|
|
258
|
+
// AUDIT TOOLS (Technical Debt Analysis)
|
|
259
|
+
// ========================================================================
|
|
260
|
+
// Register create_audit tool (API-based, requires API key with audit:write)
|
|
261
|
+
server.registerTool(createAuditToolDefinition.name, {
|
|
262
|
+
title: 'Create Technical Debt Audit',
|
|
263
|
+
description: createAuditToolDefinition.description,
|
|
264
|
+
inputSchema: {
|
|
265
|
+
name: z.string().min(1).max(200).describe('Name for the audit report'),
|
|
266
|
+
technologies: z
|
|
267
|
+
.array(z.object({
|
|
268
|
+
name: z.string().min(1).describe('Technology name'),
|
|
269
|
+
version: z.string().optional().describe('Version string'),
|
|
270
|
+
category: z.string().optional().describe('Category')
|
|
271
|
+
}))
|
|
272
|
+
.min(1)
|
|
273
|
+
.max(50)
|
|
274
|
+
.describe('Technologies to audit')
|
|
275
|
+
}
|
|
276
|
+
}, async (args) => {
|
|
277
|
+
debug('create_audit called', args);
|
|
278
|
+
const input = CreateAuditInputSchema.parse(args);
|
|
279
|
+
const { text, isError } = await executeCreateAudit(input);
|
|
280
|
+
return {
|
|
281
|
+
content: [{ type: 'text', text }],
|
|
282
|
+
isError
|
|
283
|
+
};
|
|
284
|
+
});
|
|
285
|
+
// Register get_audit tool (API-based, requires API key with audit:read)
|
|
286
|
+
server.registerTool(getAuditToolDefinition.name, {
|
|
287
|
+
title: 'Get Audit Report',
|
|
288
|
+
description: getAuditToolDefinition.description,
|
|
289
|
+
inputSchema: {
|
|
290
|
+
auditId: z.string().uuid().describe('Audit report UUID')
|
|
291
|
+
}
|
|
292
|
+
}, async (args) => {
|
|
293
|
+
debug('get_audit called', args);
|
|
294
|
+
const input = GetAuditInputSchema.parse(args);
|
|
295
|
+
const { text, isError } = await executeGetAudit(input);
|
|
296
|
+
return {
|
|
297
|
+
content: [{ type: 'text', text }],
|
|
298
|
+
isError
|
|
299
|
+
};
|
|
300
|
+
});
|
|
301
|
+
// Register list_audits tool (API-based, requires API key with audit:read)
|
|
302
|
+
server.registerTool(listAuditsToolDefinition.name, {
|
|
303
|
+
title: 'List Audit Reports',
|
|
304
|
+
description: listAuditsToolDefinition.description,
|
|
305
|
+
inputSchema: {
|
|
306
|
+
limit: z.number().min(1).max(50).optional().describe('Max results'),
|
|
307
|
+
offset: z.number().min(0).optional().describe('Pagination offset')
|
|
308
|
+
}
|
|
309
|
+
}, async (args) => {
|
|
310
|
+
debug('list_audits called', args);
|
|
311
|
+
const input = ListAuditsInputSchema.parse(args);
|
|
312
|
+
const { text, isError } = await executeListAudits(input);
|
|
313
|
+
return {
|
|
314
|
+
content: [{ type: 'text', text }],
|
|
315
|
+
isError
|
|
316
|
+
};
|
|
317
|
+
});
|
|
318
|
+
// Register compare_audits tool (API-based, requires API key with audit:read)
|
|
319
|
+
server.registerTool(compareAuditsToolDefinition.name, {
|
|
320
|
+
title: 'Compare Audit Reports',
|
|
321
|
+
description: compareAuditsToolDefinition.description,
|
|
322
|
+
inputSchema: {
|
|
323
|
+
baseAuditId: z.string().uuid().describe('Base (older) audit ID'),
|
|
324
|
+
compareAuditId: z.string().uuid().describe('Compare (newer) audit ID')
|
|
325
|
+
}
|
|
326
|
+
}, async (args) => {
|
|
327
|
+
debug('compare_audits called', args);
|
|
328
|
+
const input = CompareAuditsInputSchema.parse(args);
|
|
329
|
+
const { text, isError } = await executeCompareAudits(input);
|
|
330
|
+
return {
|
|
331
|
+
content: [{ type: 'text', text }],
|
|
332
|
+
isError
|
|
333
|
+
};
|
|
334
|
+
});
|
|
335
|
+
// Register get_audit_quota tool (API-based, requires API key)
|
|
336
|
+
server.registerTool(getAuditQuotaToolDefinition.name, {
|
|
337
|
+
title: 'Get Audit Quota',
|
|
338
|
+
description: getAuditQuotaToolDefinition.description,
|
|
339
|
+
inputSchema: {}
|
|
340
|
+
}, async () => {
|
|
341
|
+
debug('get_audit_quota called');
|
|
342
|
+
const { text, isError } = await executeGetAuditQuota();
|
|
343
|
+
return {
|
|
344
|
+
content: [{ type: 'text', text }],
|
|
345
|
+
isError
|
|
346
|
+
};
|
|
347
|
+
});
|
|
348
|
+
// Register get_migration_recommendation tool (API-based, requires API key with audit:read)
|
|
349
|
+
server.registerTool(getMigrationRecommendationToolDefinition.name, {
|
|
350
|
+
title: 'Get Migration Recommendation',
|
|
351
|
+
description: getMigrationRecommendationToolDefinition.description,
|
|
352
|
+
inputSchema: {
|
|
353
|
+
auditId: z.string().uuid().describe('Audit report UUID to analyze for migration')
|
|
354
|
+
}
|
|
355
|
+
}, async (args) => {
|
|
356
|
+
debug('get_migration_recommendation called', args);
|
|
357
|
+
const input = GetMigrationRecommendationInputSchema.parse(args);
|
|
358
|
+
const { text, isError } = await executeGetMigrationRecommendation(input);
|
|
359
|
+
return {
|
|
360
|
+
content: [{ type: 'text', text }],
|
|
361
|
+
isError
|
|
362
|
+
};
|
|
363
|
+
});
|
|
364
|
+
// ========================================================================
|
|
365
|
+
// PROJECT-KIT TOOLS (MCPFinder)
|
|
366
|
+
// ========================================================================
|
|
367
|
+
// Register generate_mcp_kit tool (local, no API key required)
|
|
368
|
+
server.registerTool(generateMCPKitTool.name, {
|
|
369
|
+
title: 'Generate MCP Kit',
|
|
370
|
+
description: generateMCPKitTool.description,
|
|
371
|
+
inputSchema: {
|
|
372
|
+
projectDescription: z.string().min(50).max(5000).describe('Describe your project (50-5000 chars)'),
|
|
373
|
+
priorities: z.array(z.enum(PRIORITIES)).max(3).optional().describe('Top priorities (max 3)'),
|
|
374
|
+
constraints: z.array(z.string()).optional().describe('Tech constraints (e.g., must-use-postgresql)'),
|
|
375
|
+
projectType: z.enum(PROJECT_TYPES).optional().describe('Project type (if known)'),
|
|
376
|
+
scale: z.enum(SCALES).optional().describe('Project scale (if known)')
|
|
377
|
+
}
|
|
378
|
+
}, async (args) => {
|
|
379
|
+
debug('generate_mcp_kit called', args);
|
|
380
|
+
const input = GenerateMCPKitInputSchema.parse(args);
|
|
381
|
+
const result = generateMCPKit(input);
|
|
382
|
+
return {
|
|
383
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }]
|
|
384
|
+
};
|
|
385
|
+
});
|
|
386
|
+
// Register analyze_repo_mcps tool (local, no API key required)
|
|
387
|
+
server.registerTool(analyzeRepoMcpsTool.name, {
|
|
388
|
+
title: 'Analyze Repository MCPs',
|
|
389
|
+
description: analyzeRepoMcpsTool.description,
|
|
390
|
+
inputSchema: {
|
|
391
|
+
includeInstalled: z.boolean().optional().describe('Include already installed MCPs (default: false)'),
|
|
392
|
+
mcpConfigPath: z.string().optional().describe('Override path to MCP configuration file'),
|
|
393
|
+
workspaceRoot: z.string().optional().describe('Override workspace root directory (default: current directory)')
|
|
394
|
+
}
|
|
395
|
+
}, async (args) => {
|
|
396
|
+
debug('analyze_repo_mcps called', args);
|
|
397
|
+
const input = AnalyzeRepoMCPsInputSchema.parse(args);
|
|
398
|
+
const result = await analyzeRepo(input);
|
|
399
|
+
// Format as markdown for better readability
|
|
400
|
+
return {
|
|
401
|
+
content: [{ type: 'text', text: formatAnalysisResult(result) }]
|
|
402
|
+
};
|
|
403
|
+
});
|
|
404
|
+
// Register prepare_mcp_installation tool (local, no API key required)
|
|
405
|
+
server.registerTool(prepareMCPInstallationTool.name, {
|
|
406
|
+
title: 'Prepare MCP Installation',
|
|
407
|
+
description: prepareMCPInstallationTool.description,
|
|
408
|
+
inputSchema: {
|
|
409
|
+
workspaceRoot: z.string().optional().describe('Workspace root directory (default: current directory)'),
|
|
410
|
+
mcpConfigPath: z.string().optional().describe('Override path to existing MCP configuration file'),
|
|
411
|
+
includeInstalled: z.boolean().optional().describe('Include already installed MCPs in the preparation (default: false)'),
|
|
412
|
+
envMcpPath: z.string().optional().describe('Path where .env-mcp will be created (default: .env-mcp in workspaceRoot)')
|
|
413
|
+
}
|
|
414
|
+
}, async (args) => {
|
|
415
|
+
debug('prepare_mcp_installation called', args);
|
|
416
|
+
const input = PrepareMCPInstallationInputSchema.parse(args);
|
|
417
|
+
const result = await prepareMCPInstallation(input);
|
|
418
|
+
return {
|
|
419
|
+
content: [{ type: 'text', text: result.message + '\n\n' + formatPreparationSummary(result) }]
|
|
420
|
+
};
|
|
421
|
+
});
|
|
422
|
+
// Register execute_mcp_installation tool (local, no API key required)
|
|
423
|
+
server.registerTool(executeMCPInstallationTool.name, {
|
|
424
|
+
title: 'Execute MCP Installation',
|
|
425
|
+
description: executeMCPInstallationTool.description,
|
|
426
|
+
inputSchema: {
|
|
427
|
+
envMcpPath: z.string().optional().describe('Path to .env-mcp file (default: .env-mcp in current directory)'),
|
|
428
|
+
targetClient: z
|
|
429
|
+
.enum(['claude-code', 'claude-desktop', 'cursor', 'vscode', 'windsurf'])
|
|
430
|
+
.optional()
|
|
431
|
+
.describe('Target IDE/client for installation (default: claude-code)'),
|
|
432
|
+
dryRun: z.boolean().optional().describe('Only generate commands without marking ready to execute (default: false)')
|
|
433
|
+
}
|
|
434
|
+
}, async (args) => {
|
|
435
|
+
debug('execute_mcp_installation called', args);
|
|
436
|
+
const input = ExecuteMCPInstallationInputSchema.parse(args);
|
|
437
|
+
const result = await executeMCPInstallation(input);
|
|
438
|
+
return {
|
|
439
|
+
content: [{ type: 'text', text: formatExecutionResult(result) }]
|
|
440
|
+
};
|
|
441
|
+
});
|
|
442
|
+
// ========================================================================
|
|
443
|
+
// COMPATIBILITY TOOL (MCP Conflict Detection)
|
|
444
|
+
// ========================================================================
|
|
445
|
+
// Register check_mcp_compatibility tool (local, no API key required)
|
|
446
|
+
server.registerTool(checkCompatibilityToolDefinition.name, {
|
|
447
|
+
title: 'Check MCP Compatibility',
|
|
448
|
+
description: checkCompatibilityToolDefinition.description,
|
|
449
|
+
inputSchema: {
|
|
450
|
+
mcps: z
|
|
451
|
+
.array(z.string().min(1))
|
|
452
|
+
.min(1)
|
|
453
|
+
.max(20)
|
|
454
|
+
.describe('Array of MCP server IDs to check compatibility between')
|
|
455
|
+
}
|
|
456
|
+
}, async (args) => {
|
|
457
|
+
debug('check_mcp_compatibility called', args);
|
|
458
|
+
const input = CheckCompatibilityInputSchema.parse(args);
|
|
459
|
+
const { text, data, isError } = executeCheckCompatibility(input);
|
|
460
|
+
return {
|
|
461
|
+
content: [
|
|
462
|
+
{ type: 'text', text },
|
|
463
|
+
{ type: 'text', text: `\n---\n\n**Structured Data:**\n\`\`\`json\n${JSON.stringify(data, null, 2)}\n\`\`\`` }
|
|
464
|
+
],
|
|
465
|
+
isError
|
|
466
|
+
};
|
|
467
|
+
});
|
|
468
|
+
info('Registered 21 tools: list_technologies, analyze_tech, compare_techs, recommend_stack_demo, recommend_stack, get_blueprint, create_blueprint, setup_api_key, list_api_keys, revoke_api_key, create_audit, get_audit, list_audits, compare_audits, get_audit_quota, get_migration_recommendation, generate_mcp_kit, analyze_repo_mcps, prepare_mcp_installation, execute_mcp_installation, check_mcp_compatibility');
|
|
252
469
|
return server;
|
|
253
470
|
}
|
|
471
|
+
// ============================================================================
|
|
472
|
+
// HELPER FUNCTIONS
|
|
473
|
+
// ============================================================================
|
|
474
|
+
/**
|
|
475
|
+
* Format analyze_repo_mcps result as readable markdown.
|
|
476
|
+
*/
|
|
477
|
+
function formatAnalysisResult(result) {
|
|
478
|
+
const lines = [];
|
|
479
|
+
lines.push('# Repository Analysis\n');
|
|
480
|
+
// Detected Stack
|
|
481
|
+
lines.push('## Detected Technologies\n');
|
|
482
|
+
const stackItems = [
|
|
483
|
+
result.detectedStack.frontend &&
|
|
484
|
+
`- **Frontend**: ${result.detectedStack.frontend.name}${result.detectedStack.frontend.version ? ` (${result.detectedStack.frontend.version})` : ''}`,
|
|
485
|
+
result.detectedStack.backend &&
|
|
486
|
+
`- **Backend**: ${result.detectedStack.backend.name}${result.detectedStack.backend.version ? ` (${result.detectedStack.backend.version})` : ''}`,
|
|
487
|
+
result.detectedStack.database &&
|
|
488
|
+
`- **Database**: ${result.detectedStack.database.name}${result.detectedStack.database.version ? ` (${result.detectedStack.database.version})` : ''}`,
|
|
489
|
+
result.detectedStack.orm &&
|
|
490
|
+
`- **ORM**: ${result.detectedStack.orm.name}${result.detectedStack.orm.version ? ` (${result.detectedStack.orm.version})` : ''}`,
|
|
491
|
+
result.detectedStack.auth &&
|
|
492
|
+
`- **Auth**: ${result.detectedStack.auth.name}${result.detectedStack.auth.version ? ` (${result.detectedStack.auth.version})` : ''}`,
|
|
493
|
+
result.detectedStack.hosting &&
|
|
494
|
+
`- **Hosting**: ${result.detectedStack.hosting.name}${result.detectedStack.hosting.version ? ` (${result.detectedStack.hosting.version})` : ''}`,
|
|
495
|
+
result.detectedStack.payments &&
|
|
496
|
+
`- **Payments**: ${result.detectedStack.payments.name}${result.detectedStack.payments.version ? ` (${result.detectedStack.payments.version})` : ''}`
|
|
497
|
+
].filter((item) => Boolean(item));
|
|
498
|
+
if (stackItems.length > 0) {
|
|
499
|
+
lines.push(...stackItems);
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
502
|
+
lines.push('_No technologies detected from project files._');
|
|
503
|
+
}
|
|
504
|
+
if (result.detectedStack.services.length > 0) {
|
|
505
|
+
lines.push('\n**Services**:');
|
|
506
|
+
for (const service of result.detectedStack.services) {
|
|
507
|
+
lines.push(`- ${service.name}`);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
lines.push('');
|
|
511
|
+
// Files Analyzed
|
|
512
|
+
lines.push('## Files Analyzed\n');
|
|
513
|
+
if (result.metadata.filesAnalyzed.length > 0) {
|
|
514
|
+
lines.push(result.metadata.filesAnalyzed.map((f) => `- \`${f}\``).join('\n'));
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
lines.push('_No recognized configuration files found._');
|
|
518
|
+
}
|
|
519
|
+
lines.push('');
|
|
520
|
+
// Installed MCPs
|
|
521
|
+
if (result.installedMcps.length > 0) {
|
|
522
|
+
lines.push('## Already Installed MCPs\n');
|
|
523
|
+
lines.push(result.installedMcps.map((m) => `- ${m}`).join('\n'));
|
|
524
|
+
lines.push('');
|
|
525
|
+
}
|
|
526
|
+
// Recommended MCPs
|
|
527
|
+
lines.push('## Recommended MCPs\n');
|
|
528
|
+
if (result.recommendedMcps.length === 0) {
|
|
529
|
+
lines.push('_No additional MCPs recommended. You have everything you need!_');
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
// Group by priority
|
|
533
|
+
const highPriority = result.recommendedMcps.filter((m) => m.priority === 'high');
|
|
534
|
+
const mediumPriority = result.recommendedMcps.filter((m) => m.priority === 'medium');
|
|
535
|
+
const lowPriority = result.recommendedMcps.filter((m) => m.priority === 'low');
|
|
536
|
+
if (highPriority.length > 0) {
|
|
537
|
+
lines.push('### High Priority\n');
|
|
538
|
+
for (const mcp of highPriority) {
|
|
539
|
+
lines.push(`**${mcp.name}** (\`${mcp.slug}\`)`);
|
|
540
|
+
lines.push(`- ${mcp.description}`);
|
|
541
|
+
lines.push(`- _Matched: ${mcp.matchedTech}_`);
|
|
542
|
+
lines.push('');
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
if (mediumPriority.length > 0) {
|
|
546
|
+
lines.push('### Medium Priority\n');
|
|
547
|
+
for (const mcp of mediumPriority) {
|
|
548
|
+
lines.push(`**${mcp.name}** (\`${mcp.slug}\`)`);
|
|
549
|
+
lines.push(`- ${mcp.description}`);
|
|
550
|
+
lines.push(`- _Matched: ${mcp.matchedTech}_`);
|
|
551
|
+
lines.push('');
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (lowPriority.length > 0) {
|
|
555
|
+
lines.push('### Low Priority\n');
|
|
556
|
+
for (const mcp of lowPriority) {
|
|
557
|
+
lines.push(`**${mcp.name}** (\`${mcp.slug}\`)`);
|
|
558
|
+
lines.push(`- ${mcp.description}`);
|
|
559
|
+
lines.push(`- _Matched: ${mcp.matchedTech}_`);
|
|
560
|
+
lines.push('');
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
// Quick Install
|
|
565
|
+
if (result.recommendedMcps.length > 0) {
|
|
566
|
+
lines.push('## Quick Install\n');
|
|
567
|
+
lines.push('Add to your Claude Desktop config (`claude_desktop_config.json`):\n');
|
|
568
|
+
lines.push('```json');
|
|
569
|
+
lines.push(JSON.stringify(result.installConfig.claudeDesktop, null, 2));
|
|
570
|
+
lines.push('```\n');
|
|
571
|
+
}
|
|
572
|
+
// Metadata
|
|
573
|
+
lines.push(`---\n_Analysis completed: ${result.metadata.analysisDate}_`);
|
|
574
|
+
return lines.join('\n');
|
|
575
|
+
}
|
|
576
|
+
/**
|
|
577
|
+
* Format prepare_mcp_installation result summary.
|
|
578
|
+
*/
|
|
579
|
+
function formatPreparationSummary(result) {
|
|
580
|
+
const lines = [];
|
|
581
|
+
// MCPs to install grouped by priority
|
|
582
|
+
if (result.mcpsToInstall.length > 0) {
|
|
583
|
+
lines.push('## MCPs to Install\n');
|
|
584
|
+
const highPriority = result.mcpsToInstall.filter((m) => m.priority === 'high');
|
|
585
|
+
const mediumPriority = result.mcpsToInstall.filter((m) => m.priority === 'medium');
|
|
586
|
+
const lowPriority = result.mcpsToInstall.filter((m) => m.priority === 'low');
|
|
587
|
+
if (highPriority.length > 0) {
|
|
588
|
+
lines.push('### 🔴 High Priority');
|
|
589
|
+
for (const mcp of highPriority) {
|
|
590
|
+
const requiredVars = mcp.envVars.filter((v) => v.requirement === 'required').length;
|
|
591
|
+
lines.push(`- **${mcp.name}** (${requiredVars} required vars)`);
|
|
592
|
+
}
|
|
593
|
+
lines.push('');
|
|
594
|
+
}
|
|
595
|
+
if (mediumPriority.length > 0) {
|
|
596
|
+
lines.push('### 🟡 Medium Priority');
|
|
597
|
+
for (const mcp of mediumPriority) {
|
|
598
|
+
const requiredVars = mcp.envVars.filter((v) => v.requirement === 'required').length;
|
|
599
|
+
lines.push(`- **${mcp.name}** (${requiredVars} required vars)`);
|
|
600
|
+
}
|
|
601
|
+
lines.push('');
|
|
602
|
+
}
|
|
603
|
+
if (lowPriority.length > 0) {
|
|
604
|
+
lines.push('### 🟢 Low Priority');
|
|
605
|
+
for (const mcp of lowPriority) {
|
|
606
|
+
const requiredVars = mcp.envVars.filter((v) => v.requirement === 'required').length;
|
|
607
|
+
lines.push(`- **${mcp.name}** (${requiredVars} required vars)`);
|
|
608
|
+
}
|
|
609
|
+
lines.push('');
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
// Already installed
|
|
613
|
+
if (result.installedMcps.length > 0) {
|
|
614
|
+
lines.push('## Already Installed');
|
|
615
|
+
for (const mcp of result.installedMcps) {
|
|
616
|
+
lines.push(`- ✅ ${mcp}`);
|
|
617
|
+
}
|
|
618
|
+
lines.push('');
|
|
619
|
+
}
|
|
620
|
+
return lines.join('\n');
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Format execute_mcp_installation result.
|
|
624
|
+
*/
|
|
625
|
+
function formatExecutionResult(result) {
|
|
626
|
+
const lines = [];
|
|
627
|
+
lines.push(result.message);
|
|
628
|
+
lines.push('');
|
|
629
|
+
// Show aggregate command for Claude Code
|
|
630
|
+
if (result.aggregateCommand) {
|
|
631
|
+
lines.push('---\n');
|
|
632
|
+
lines.push('## Claude Code Installation\n');
|
|
633
|
+
lines.push('Run this command to install all ready MCPs:\n');
|
|
634
|
+
lines.push('```bash');
|
|
635
|
+
lines.push(result.aggregateCommand);
|
|
636
|
+
lines.push('```\n');
|
|
637
|
+
}
|
|
638
|
+
// Show JSON config for other clients
|
|
639
|
+
if (result.aggregateConfig && !result.aggregateCommand) {
|
|
640
|
+
lines.push('---\n');
|
|
641
|
+
lines.push('## JSON Configuration\n');
|
|
642
|
+
lines.push('Add this to your MCP configuration file:\n');
|
|
643
|
+
lines.push('```json');
|
|
644
|
+
lines.push(JSON.stringify(result.aggregateConfig, null, 2));
|
|
645
|
+
lines.push('```\n');
|
|
646
|
+
}
|
|
647
|
+
// Post-install instructions
|
|
648
|
+
if (result.postInstallInstructions.length > 0) {
|
|
649
|
+
lines.push('---\n');
|
|
650
|
+
lines.push('## Post-Installation\n');
|
|
651
|
+
for (const instruction of result.postInstallInstructions) {
|
|
652
|
+
lines.push(instruction);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
return lines.join('\n');
|
|
656
|
+
}
|
|
254
657
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|