mcp-adr-analysis-server 2.7.29 → 2.7.30

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.
@@ -1,543 +0,0 @@
1
- /**
2
- * Deployment Type Registry
3
- *
4
- * Comprehensive registry of deployment platforms with their specific
5
- * file requirements, validation rules, and deployment patterns.
6
- *
7
- * Supports: OpenShift, Kubernetes, Firebase, Docker, MCP Servers,
8
- * FastMCP, bare metal, and hybrid deployments.
9
- */
10
- /**
11
- * Registry of all supported deployment types
12
- */
13
- export const DEPLOYMENT_TYPES = [
14
- // ===== MCP Server Deployments =====
15
- {
16
- id: 'mcp-nodejs',
17
- name: 'Node.js MCP Server',
18
- category: 'mcp',
19
- detectionPatterns: {
20
- files: ['package.json'],
21
- dependencies: ['@modelcontextprotocol/sdk'],
22
- },
23
- requiredFiles: [
24
- {
25
- path: 'package.json',
26
- required: true,
27
- canAutoGenerate: false,
28
- isSecret: false,
29
- description: 'Node.js package configuration with MCP server entry point',
30
- validationRules: [
31
- 'Must have "bin" field for CLI',
32
- 'Must include @modelcontextprotocol/sdk',
33
- ],
34
- },
35
- {
36
- path: 'src/index.ts',
37
- required: true,
38
- canAutoGenerate: true,
39
- isSecret: false,
40
- description: 'MCP server implementation',
41
- templateContent: `import { Server } from '@modelcontextprotocol/sdk/server/index.js';
42
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
43
-
44
- const server = new Server({
45
- name: 'your-mcp-server',
46
- version: '1.0.0',
47
- }, {
48
- capabilities: {
49
- tools: {},
50
- resources: {},
51
- prompts: {}
52
- }
53
- });
54
-
55
- // Add your tools, resources, and prompts here
56
-
57
- const transport = new StdioServerTransport();
58
- await server.connect(transport);`,
59
- },
60
- {
61
- path: 'tsconfig.json',
62
- required: true,
63
- canAutoGenerate: true,
64
- isSecret: false,
65
- description: 'TypeScript configuration for ES modules',
66
- templateContent: `{
67
- "compilerOptions": {
68
- "target": "ES2022",
69
- "module": "Node16",
70
- "moduleResolution": "Node16",
71
- "outDir": "dist",
72
- "rootDir": "src",
73
- "strict": true,
74
- "esModuleInterop": true,
75
- "skipLibCheck": true,
76
- "declaration": true
77
- },
78
- "include": ["src/**/*"],
79
- "exclude": ["node_modules", "dist"]
80
- }`,
81
- },
82
- ],
83
- optionalFiles: [
84
- {
85
- path: '.env',
86
- required: false,
87
- canAutoGenerate: true,
88
- isSecret: true,
89
- description: 'Environment variables (API keys, secrets)',
90
- templateContent: `# API Keys (DO NOT COMMIT)
91
- OPENROUTER_API_KEY=your_key_here
92
- # Add other environment variables below`,
93
- },
94
- {
95
- path: 'examples/claude_desktop_config.json',
96
- required: false,
97
- canAutoGenerate: true,
98
- isSecret: false,
99
- description: 'Example Claude Desktop configuration',
100
- templateContent: `{
101
- "mcpServers": {
102
- "your-server-name": {
103
- "command": "node",
104
- "args": ["dist/index.js"],
105
- "env": {
106
- "API_KEY": "your_key_here"
107
- }
108
- }
109
- }
110
- }`,
111
- },
112
- {
113
- path: 'README.md',
114
- required: false,
115
- canAutoGenerate: true,
116
- isSecret: false,
117
- description: 'Installation and usage documentation',
118
- },
119
- ],
120
- environmentVariables: [
121
- {
122
- name: 'NODE_ENV',
123
- required: false,
124
- description: 'Node environment (development/production)',
125
- isSecret: false,
126
- },
127
- ],
128
- validationCommands: ['npm run build', 'npx @modelcontextprotocol/inspector dist/index.js'],
129
- deploymentCommands: ['npm publish'],
130
- documentation: 'https://modelcontextprotocol.io/docs',
131
- },
132
- {
133
- id: 'fastmcp',
134
- name: 'FastMCP Server (Python)',
135
- category: 'mcp',
136
- detectionPatterns: {
137
- files: ['pyproject.toml', 'requirements.txt'],
138
- dependencies: ['fastmcp'],
139
- },
140
- requiredFiles: [
141
- {
142
- path: 'server.py',
143
- required: true,
144
- canAutoGenerate: true,
145
- isSecret: false,
146
- description: 'FastMCP server implementation',
147
- templateContent: `from fastmcp import FastMCP
148
-
149
- mcp = FastMCP("Your Server Name")
150
-
151
- @mcp.tool()
152
- def example_tool(arg: str) -> str:
153
- """Example tool description"""
154
- return f"Result: {arg}"
155
-
156
- if __name__ == "__main__":
157
- mcp.run()`,
158
- },
159
- {
160
- path: 'requirements.txt',
161
- required: true,
162
- canAutoGenerate: true,
163
- isSecret: false,
164
- description: 'Python dependencies',
165
- templateContent: `fastmcp>=0.1.0
166
- python-dotenv>=1.0.0`,
167
- },
168
- ],
169
- optionalFiles: [
170
- {
171
- path: '.env',
172
- required: false,
173
- canAutoGenerate: true,
174
- isSecret: true,
175
- description: 'Environment variables',
176
- templateContent: `# API Keys (DO NOT COMMIT)
177
- API_KEY=your_key_here`,
178
- },
179
- {
180
- path: 'pyproject.toml',
181
- required: false,
182
- canAutoGenerate: true,
183
- isSecret: false,
184
- description: 'Python project configuration',
185
- },
186
- ],
187
- environmentVariables: [],
188
- validationCommands: ['python -m pytest', 'python server.py --help'],
189
- deploymentCommands: ['pip install -e .', 'python server.py'],
190
- documentation: 'https://github.com/jlowin/fastmcp',
191
- },
192
- // ===== Container Orchestration =====
193
- {
194
- id: 'openshift',
195
- name: 'OpenShift',
196
- category: 'container',
197
- detectionPatterns: {
198
- files: ['openshift/', '.s2i/'],
199
- commands: ['oc'],
200
- },
201
- requiredFiles: [
202
- {
203
- path: 'openshift/deployment.yml',
204
- required: true,
205
- canAutoGenerate: true,
206
- isSecret: false,
207
- description: 'OpenShift DeploymentConfig',
208
- templateContent: `apiVersion: apps.openshift.io/v1
209
- kind: DeploymentConfig
210
- metadata:
211
- name: your-app
212
- spec:
213
- replicas: 1
214
- selector:
215
- app: your-app
216
- template:
217
- metadata:
218
- labels:
219
- app: your-app
220
- spec:
221
- containers:
222
- - name: your-app
223
- image: your-image:latest
224
- ports:
225
- - containerPort: 8080`,
226
- },
227
- {
228
- path: 'openshift/service.yml',
229
- required: true,
230
- canAutoGenerate: true,
231
- isSecret: false,
232
- description: 'OpenShift Service',
233
- templateContent: `apiVersion: v1
234
- kind: Service
235
- metadata:
236
- name: your-app
237
- spec:
238
- selector:
239
- app: your-app
240
- ports:
241
- - port: 8080
242
- targetPort: 8080`,
243
- },
244
- {
245
- path: 'openshift/route.yml',
246
- required: true,
247
- canAutoGenerate: true,
248
- isSecret: false,
249
- description: 'OpenShift Route',
250
- templateContent: `apiVersion: route.openshift.io/v1
251
- kind: Route
252
- metadata:
253
- name: your-app
254
- spec:
255
- to:
256
- kind: Service
257
- name: your-app`,
258
- },
259
- ],
260
- optionalFiles: [
261
- {
262
- path: '.s2i/environment',
263
- required: false,
264
- canAutoGenerate: true,
265
- isSecret: false,
266
- description: 'Source-to-Image environment variables',
267
- },
268
- {
269
- path: 'openshift/configmap.yml',
270
- required: false,
271
- canAutoGenerate: true,
272
- isSecret: false,
273
- description: 'Configuration data',
274
- },
275
- ],
276
- environmentVariables: [],
277
- validationCommands: ['oc version', 'oc apply --dry-run=client -f openshift/'],
278
- deploymentCommands: ['oc apply -f openshift/', 'oc rollout status dc/your-app'],
279
- documentation: 'https://docs.openshift.com/',
280
- },
281
- {
282
- id: 'kubernetes',
283
- name: 'Kubernetes',
284
- category: 'container',
285
- detectionPatterns: {
286
- files: ['k8s/', 'kubernetes/', 'deployment.yaml'],
287
- commands: ['kubectl'],
288
- },
289
- requiredFiles: [
290
- {
291
- path: 'k8s/deployment.yaml',
292
- required: true,
293
- canAutoGenerate: true,
294
- isSecret: false,
295
- description: 'Kubernetes Deployment',
296
- templateContent: `apiVersion: apps/v1
297
- kind: Deployment
298
- metadata:
299
- name: your-app
300
- spec:
301
- replicas: 3
302
- selector:
303
- matchLabels:
304
- app: your-app
305
- template:
306
- metadata:
307
- labels:
308
- app: your-app
309
- spec:
310
- containers:
311
- - name: your-app
312
- image: your-image:latest
313
- ports:
314
- - containerPort: 8080`,
315
- },
316
- {
317
- path: 'k8s/service.yaml',
318
- required: true,
319
- canAutoGenerate: true,
320
- isSecret: false,
321
- description: 'Kubernetes Service',
322
- },
323
- ],
324
- optionalFiles: [
325
- {
326
- path: 'k8s/ingress.yaml',
327
- required: false,
328
- canAutoGenerate: true,
329
- isSecret: false,
330
- description: 'Ingress configuration',
331
- },
332
- ],
333
- environmentVariables: [],
334
- validationCommands: ['kubectl apply --dry-run=client -f k8s/'],
335
- deploymentCommands: ['kubectl apply -f k8s/'],
336
- documentation: 'https://kubernetes.io/docs/',
337
- },
338
- {
339
- id: 'docker',
340
- name: 'Docker',
341
- category: 'container',
342
- detectionPatterns: {
343
- files: ['Dockerfile', 'docker-compose.yml'],
344
- },
345
- requiredFiles: [
346
- {
347
- path: 'Dockerfile',
348
- required: true,
349
- canAutoGenerate: true,
350
- isSecret: false,
351
- description: 'Docker image definition',
352
- templateContent: `FROM node:20-alpine
353
- WORKDIR /app
354
- COPY package*.json ./
355
- RUN npm ci --only=production
356
- COPY . .
357
- EXPOSE 8080
358
- CMD ["npm", "start"]`,
359
- },
360
- ],
361
- optionalFiles: [
362
- {
363
- path: 'docker-compose.yml',
364
- required: false,
365
- canAutoGenerate: true,
366
- isSecret: false,
367
- description: 'Multi-container orchestration',
368
- templateContent: `version: '3.8'
369
- services:
370
- app:
371
- build: .
372
- ports:
373
- - "8080:8080"
374
- environment:
375
- NODE_ENV: production`,
376
- },
377
- {
378
- path: '.dockerignore',
379
- required: false,
380
- canAutoGenerate: true,
381
- isSecret: false,
382
- description: 'Files to exclude from Docker context',
383
- templateContent: `node_modules
384
- .git
385
- .env
386
- *.log`,
387
- },
388
- ],
389
- environmentVariables: [],
390
- validationCommands: ['docker build -t test .'],
391
- deploymentCommands: ['docker build -t your-app .', 'docker run -p 8080:8080 your-app'],
392
- documentation: 'https://docs.docker.com/',
393
- },
394
- // ===== Serverless =====
395
- {
396
- id: 'firebase',
397
- name: 'Firebase',
398
- category: 'serverless',
399
- detectionPatterns: {
400
- files: ['firebase.json', 'functions/'],
401
- dependencies: ['firebase-admin', 'firebase-functions'],
402
- },
403
- requiredFiles: [
404
- {
405
- path: 'firebase.json',
406
- required: true,
407
- canAutoGenerate: true,
408
- isSecret: false,
409
- description: 'Firebase configuration',
410
- templateContent: `{
411
- "hosting": {
412
- "public": "public",
413
- "ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
414
- },
415
- "functions": {
416
- "source": "functions"
417
- }
418
- }`,
419
- },
420
- {
421
- path: 'functions/index.js',
422
- required: true,
423
- canAutoGenerate: true,
424
- isSecret: false,
425
- description: 'Cloud Functions entry point',
426
- },
427
- ],
428
- optionalFiles: [
429
- {
430
- path: 'functions/.env',
431
- required: false,
432
- canAutoGenerate: true,
433
- isSecret: true,
434
- description: 'Function environment variables',
435
- },
436
- ],
437
- environmentVariables: [],
438
- validationCommands: ['firebase deploy --only functions --dry-run'],
439
- deploymentCommands: ['firebase deploy'],
440
- documentation: 'https://firebase.google.com/docs',
441
- },
442
- // ===== Traditional Deployments =====
443
- {
444
- id: 'bare-metal',
445
- name: 'Bare Metal / VM',
446
- category: 'traditional',
447
- detectionPatterns: {
448
- files: ['systemd/', 'nginx.conf'],
449
- },
450
- requiredFiles: [],
451
- optionalFiles: [
452
- {
453
- path: 'systemd/your-app.service',
454
- required: false,
455
- canAutoGenerate: true,
456
- isSecret: false,
457
- description: 'Systemd service file',
458
- templateContent: `[Unit]
459
- Description=Your Application
460
- After=network.target
461
-
462
- [Service]
463
- Type=simple
464
- User=youruser
465
- WorkingDirectory=/opt/your-app
466
- ExecStart=/usr/bin/node /opt/your-app/dist/index.js
467
- Restart=always
468
-
469
- [Install]
470
- WantedBy=multi-user.target`,
471
- },
472
- ],
473
- environmentVariables: [],
474
- validationCommands: [],
475
- deploymentCommands: ['systemctl enable your-app', 'systemctl start your-app'],
476
- documentation: '',
477
- },
478
- ];
479
- /**
480
- * Detect deployment types based on project structure
481
- */
482
- export async function detectDeploymentTypes(projectPath) {
483
- const fs = await import('fs/promises');
484
- const path = await import('path');
485
- const detectedTypes = [];
486
- for (const deploymentType of DEPLOYMENT_TYPES) {
487
- let matches = 0;
488
- let totalChecks = 0;
489
- // Check file patterns
490
- if (deploymentType.detectionPatterns.files) {
491
- for (const filePattern of deploymentType.detectionPatterns.files) {
492
- totalChecks++;
493
- try {
494
- const filePath = path.join(projectPath, filePattern);
495
- await fs.access(filePath);
496
- matches++;
497
- }
498
- catch {
499
- // File doesn't exist
500
- }
501
- }
502
- }
503
- // Check dependencies in package.json
504
- if (deploymentType.detectionPatterns.dependencies) {
505
- totalChecks++;
506
- try {
507
- const packageJsonPath = path.join(projectPath, 'package.json');
508
- const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
509
- const allDeps = {
510
- ...packageJson.dependencies,
511
- ...packageJson.devDependencies,
512
- };
513
- const hasAllDeps = deploymentType.detectionPatterns.dependencies.every(dep => dep in allDeps);
514
- if (hasAllDeps) {
515
- matches++;
516
- }
517
- }
518
- catch {
519
- // package.json doesn't exist or can't be parsed
520
- }
521
- }
522
- // If we have matches, consider this deployment type detected
523
- if (matches > 0 && totalChecks > 0) {
524
- detectedTypes.push(deploymentType);
525
- }
526
- }
527
- return detectedTypes;
528
- }
529
- /**
530
- * Get all required files for detected deployment types
531
- */
532
- export function getRequiredFilesForDeployments(deploymentTypes) {
533
- const allFiles = new Map();
534
- for (const deployment of deploymentTypes) {
535
- for (const file of [...deployment.requiredFiles, ...deployment.optionalFiles]) {
536
- if (!allFiles.has(file.path)) {
537
- allFiles.set(file.path, file);
538
- }
539
- }
540
- }
541
- return Array.from(allFiles.values());
542
- }
543
- //# sourceMappingURL=deployment-type-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deployment-type-registry.js","sourceRoot":"","sources":["../../../src/utils/deployment-type-registry.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Research documentation utilities
3
- * Creates structured research documentation in docs/research/
4
- */
5
- export interface ResearchDocument {
6
- id: string;
7
- title: string;
8
- category: string;
9
- status: 'planned' | 'in_progress' | 'completed' | 'cancelled';
10
- priority: 'critical' | 'high' | 'medium' | 'low';
11
- questions: Array<{
12
- id: string;
13
- question: string;
14
- type: string;
15
- methodology: string;
16
- }>;
17
- timeline: {
18
- startDate: string;
19
- endDate: string;
20
- milestones: Array<{
21
- name: string;
22
- date: string;
23
- description: string;
24
- }>;
25
- };
26
- resources: Array<{
27
- type: string;
28
- description: string;
29
- status: string;
30
- }>;
31
- findings: Array<{
32
- date: string;
33
- finding: string;
34
- confidence: number;
35
- impact: string;
36
- }>;
37
- recommendations: Array<{
38
- recommendation: string;
39
- rationale: string;
40
- implementation: string;
41
- priority: string;
42
- }>;
43
- }
44
- /**
45
- * Create perform_research.md file for a research topic
46
- */
47
- export declare function createResearchDocument(researchData: ResearchDocument, outputDirectory?: string): Promise<{
48
- filePath: string;
49
- content: string;
50
- }>;
51
- /**
52
- * Create research index file
53
- */
54
- export declare function createResearchIndex(researchDocuments: ResearchDocument[], outputDirectory?: string): Promise<{
55
- filePath: string;
56
- content: string;
57
- }>;
58
- //# sourceMappingURL=research-documentation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"research-documentation.d.ts","sourceRoot":"","sources":["../../../src/utils/research-documentation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9D,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,SAAS,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,KAAK,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;KACJ,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,gBAAgB,EAC9B,eAAe,GAAE,MAAwB,GACxC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BhD;AAmQD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,eAAe,GAAE,MAAwB,GACxC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BhD"}