mcp-adr-analysis-server 2.7.39 → 2.7.40
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/dist/.tsbuildinfo +1 -1
- package/dist/src/index.d.ts +6 -276
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -8361
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp-adr-analysis-server.d.ts +320 -0
- package/dist/src/mcp-adr-analysis-server.d.ts.map +1 -0
- package/dist/src/mcp-adr-analysis-server.js +4700 -0
- package/dist/src/mcp-adr-analysis-server.js.map +1 -0
- package/dist/src/tools/mcp-tool-schemas.d.ts +9 -0
- package/dist/src/tools/mcp-tool-schemas.d.ts.map +1 -0
- package/dist/src/tools/mcp-tool-schemas.js +3371 -0
- package/dist/src/tools/mcp-tool-schemas.js.map +1 -0
- package/dist/src/tools/tool-catalog.d.ts.map +1 -1
- package/dist/src/tools/tool-catalog.js +24 -0
- package/dist/src/tools/tool-catalog.js.map +1 -1
- package/dist/src/tools/tool-dispatch.d.ts +9 -0
- package/dist/src/tools/tool-dispatch.d.ts.map +1 -0
- package/dist/src/tools/tool-dispatch.js +264 -0
- package/dist/src/tools/tool-dispatch.js.map +1 -0
- package/dist/src/tools/tool-dispatcher.d.ts +2 -4
- package/dist/src/tools/tool-dispatcher.d.ts.map +1 -1
- package/dist/src/tools/tool-dispatcher.js +4 -60
- package/dist/src/tools/tool-dispatcher.js.map +1 -1
- package/dist/src/types/memory-entities.d.ts +4 -4
- package/package.json +1 -1
|
@@ -0,0 +1,3371 @@
|
|
|
1
|
+
import { CONVERSATION_CONTEXT_SCHEMA } from '../types/conversation-context.js';
|
|
2
|
+
export function getSearchToolsDefinition() {
|
|
3
|
+
return {
|
|
4
|
+
name: 'search_tools',
|
|
5
|
+
description: 'Search and discover available tools by category, keyword, or capability. Use this to find the right tool for a task without loading all tool schemas. Returns lightweight tool metadata by default; use includeSchema:true for full schemas.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
category: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
enum: [
|
|
12
|
+
'analysis',
|
|
13
|
+
'adr',
|
|
14
|
+
'content-security',
|
|
15
|
+
'research',
|
|
16
|
+
'deployment',
|
|
17
|
+
'memory',
|
|
18
|
+
'file-system',
|
|
19
|
+
'rules',
|
|
20
|
+
'workflow',
|
|
21
|
+
'utility',
|
|
22
|
+
],
|
|
23
|
+
description: 'Filter tools by category',
|
|
24
|
+
},
|
|
25
|
+
query: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Search query to match tool names, descriptions, and keywords',
|
|
28
|
+
},
|
|
29
|
+
complexity: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
enum: ['simple', 'moderate', 'complex'],
|
|
32
|
+
description: 'Filter by tool complexity level',
|
|
33
|
+
},
|
|
34
|
+
cemcpOnly: {
|
|
35
|
+
type: 'boolean',
|
|
36
|
+
description: 'Only return tools with CE-MCP directive support (more token-efficient)',
|
|
37
|
+
default: false,
|
|
38
|
+
},
|
|
39
|
+
includeSchema: {
|
|
40
|
+
type: 'boolean',
|
|
41
|
+
description: 'Include full input schemas in response (increases token count)',
|
|
42
|
+
default: false,
|
|
43
|
+
},
|
|
44
|
+
limit: {
|
|
45
|
+
type: 'number',
|
|
46
|
+
description: 'Maximum number of tools to return',
|
|
47
|
+
default: 20,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export const MCP_TOOL_SCHEMAS = [
|
|
54
|
+
// Meta-tool for dynamic tool discovery (CE-MCP Phase 3)
|
|
55
|
+
getSearchToolsDefinition(),
|
|
56
|
+
{
|
|
57
|
+
name: 'analyze_project_ecosystem',
|
|
58
|
+
description: 'Comprehensive recursive project ecosystem analysis with advanced prompting techniques (Knowledge Generation + Reflexion)',
|
|
59
|
+
inputSchema: {
|
|
60
|
+
type: 'object',
|
|
61
|
+
properties: {
|
|
62
|
+
projectPath: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
description: 'Path to the project directory to analyze (optional, uses configured PROJECT_PATH if not provided)',
|
|
65
|
+
},
|
|
66
|
+
includePatterns: {
|
|
67
|
+
type: 'array',
|
|
68
|
+
items: { type: 'string' },
|
|
69
|
+
description: 'File patterns to include in analysis',
|
|
70
|
+
},
|
|
71
|
+
enhancedMode: {
|
|
72
|
+
type: 'boolean',
|
|
73
|
+
description: 'Enable advanced prompting features (Knowledge Generation + Reflexion)',
|
|
74
|
+
default: true,
|
|
75
|
+
},
|
|
76
|
+
knowledgeEnhancement: {
|
|
77
|
+
type: 'boolean',
|
|
78
|
+
description: 'Enable Knowledge Generation for technology-specific insights',
|
|
79
|
+
default: true,
|
|
80
|
+
},
|
|
81
|
+
learningEnabled: {
|
|
82
|
+
type: 'boolean',
|
|
83
|
+
description: 'Enable Reflexion learning from past analysis outcomes',
|
|
84
|
+
default: true,
|
|
85
|
+
},
|
|
86
|
+
technologyFocus: {
|
|
87
|
+
type: 'array',
|
|
88
|
+
items: { type: 'string' },
|
|
89
|
+
description: 'Specific technologies to focus analysis on (auto-detected if not provided)',
|
|
90
|
+
},
|
|
91
|
+
analysisDepth: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
enum: ['basic', 'detailed', 'comprehensive'],
|
|
94
|
+
description: 'Depth of ecosystem analysis',
|
|
95
|
+
default: 'comprehensive',
|
|
96
|
+
},
|
|
97
|
+
includeEnvironment: {
|
|
98
|
+
type: 'boolean',
|
|
99
|
+
description: 'Automatically include comprehensive environment analysis (default: true)',
|
|
100
|
+
default: true,
|
|
101
|
+
},
|
|
102
|
+
recursiveDepth: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'Depth of recursive project analysis',
|
|
105
|
+
enum: ['shallow', 'moderate', 'deep', 'comprehensive'],
|
|
106
|
+
default: 'comprehensive',
|
|
107
|
+
},
|
|
108
|
+
analysisScope: {
|
|
109
|
+
type: 'array',
|
|
110
|
+
items: { type: 'string' },
|
|
111
|
+
description: 'Specific analysis areas to focus on (e.g., ["security", "performance", "architecture", "dependencies"])',
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
required: [],
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'get_architectural_context',
|
|
119
|
+
description: 'Get detailed architectural context for specific files or the entire project, automatically sets up ADR infrastructure if missing, and provides outcome-focused workflow for project success',
|
|
120
|
+
inputSchema: {
|
|
121
|
+
type: 'object',
|
|
122
|
+
properties: {
|
|
123
|
+
filePath: {
|
|
124
|
+
type: 'string',
|
|
125
|
+
description: 'Specific file path to analyze (optional, analyzes entire project if not provided)',
|
|
126
|
+
},
|
|
127
|
+
includeCompliance: {
|
|
128
|
+
type: 'boolean',
|
|
129
|
+
description: 'Include compliance checks in the analysis',
|
|
130
|
+
default: true,
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'generate_adrs_from_prd',
|
|
137
|
+
description: 'Generate Architectural Decision Records from a Product Requirements Document with advanced prompting techniques (APE + Knowledge Generation)',
|
|
138
|
+
inputSchema: {
|
|
139
|
+
type: 'object',
|
|
140
|
+
properties: {
|
|
141
|
+
prdPath: {
|
|
142
|
+
type: 'string',
|
|
143
|
+
description: 'Path to the PRD.md file',
|
|
144
|
+
},
|
|
145
|
+
outputDirectory: {
|
|
146
|
+
type: 'string',
|
|
147
|
+
description: 'Directory to output generated ADRs (optional, uses configured ADR_DIRECTORY if not provided)',
|
|
148
|
+
},
|
|
149
|
+
enhancedMode: {
|
|
150
|
+
type: 'boolean',
|
|
151
|
+
description: 'Enable advanced prompting features (APE + Knowledge Generation)',
|
|
152
|
+
default: true,
|
|
153
|
+
},
|
|
154
|
+
promptOptimization: {
|
|
155
|
+
type: 'boolean',
|
|
156
|
+
description: 'Enable Automatic Prompt Engineering for optimized ADR generation',
|
|
157
|
+
default: true,
|
|
158
|
+
},
|
|
159
|
+
knowledgeEnhancement: {
|
|
160
|
+
type: 'boolean',
|
|
161
|
+
description: 'Enable Knowledge Generation for domain-specific insights',
|
|
162
|
+
default: true,
|
|
163
|
+
},
|
|
164
|
+
prdType: {
|
|
165
|
+
type: 'string',
|
|
166
|
+
enum: [
|
|
167
|
+
'web-application',
|
|
168
|
+
'mobile-app',
|
|
169
|
+
'microservices',
|
|
170
|
+
'data-platform',
|
|
171
|
+
'api-service',
|
|
172
|
+
'general',
|
|
173
|
+
],
|
|
174
|
+
description: 'Type of PRD for optimized knowledge generation',
|
|
175
|
+
default: 'general',
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
required: ['prdPath'],
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
name: 'compare_adr_progress',
|
|
183
|
+
description: 'Compare TODO.md progress against ADRs and current environment to validate implementation status',
|
|
184
|
+
inputSchema: {
|
|
185
|
+
type: 'object',
|
|
186
|
+
properties: {
|
|
187
|
+
todoPath: {
|
|
188
|
+
type: 'string',
|
|
189
|
+
description: 'Path to TODO.md file to analyze',
|
|
190
|
+
default: 'TODO.md',
|
|
191
|
+
},
|
|
192
|
+
adrDirectory: {
|
|
193
|
+
type: 'string',
|
|
194
|
+
description: 'Directory containing ADR files',
|
|
195
|
+
default: 'docs/adrs',
|
|
196
|
+
},
|
|
197
|
+
projectPath: {
|
|
198
|
+
type: 'string',
|
|
199
|
+
description: 'Path to project root for environment analysis',
|
|
200
|
+
default: '.',
|
|
201
|
+
},
|
|
202
|
+
environment: {
|
|
203
|
+
type: 'string',
|
|
204
|
+
enum: ['development', 'staging', 'production', 'testing', 'auto-detect'],
|
|
205
|
+
description: 'Target environment context for validation (auto-detect will infer from project structure)',
|
|
206
|
+
default: 'auto-detect',
|
|
207
|
+
},
|
|
208
|
+
environmentConfig: {
|
|
209
|
+
type: 'object',
|
|
210
|
+
description: 'Environment-specific configuration and requirements',
|
|
211
|
+
properties: {
|
|
212
|
+
requiredFiles: {
|
|
213
|
+
type: 'array',
|
|
214
|
+
items: { type: 'string' },
|
|
215
|
+
description: 'Files required for this environment',
|
|
216
|
+
},
|
|
217
|
+
requiredServices: {
|
|
218
|
+
type: 'array',
|
|
219
|
+
items: { type: 'string' },
|
|
220
|
+
description: 'Services that must be implemented for this environment',
|
|
221
|
+
},
|
|
222
|
+
securityLevel: {
|
|
223
|
+
type: 'string',
|
|
224
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
225
|
+
description: 'Required security level for this environment',
|
|
226
|
+
},
|
|
227
|
+
performanceRequirements: {
|
|
228
|
+
type: 'object',
|
|
229
|
+
description: 'Performance requirements for this environment',
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
validationType: {
|
|
234
|
+
type: 'string',
|
|
235
|
+
enum: ['full', 'todo-only', 'adr-only', 'environment-only'],
|
|
236
|
+
description: 'Type of validation to perform',
|
|
237
|
+
default: 'full',
|
|
238
|
+
},
|
|
239
|
+
includeFileChecks: {
|
|
240
|
+
type: 'boolean',
|
|
241
|
+
description: 'Include file existence and implementation checks',
|
|
242
|
+
default: true,
|
|
243
|
+
},
|
|
244
|
+
includeRuleValidation: {
|
|
245
|
+
type: 'boolean',
|
|
246
|
+
description: 'Include architectural rule compliance validation',
|
|
247
|
+
default: true,
|
|
248
|
+
},
|
|
249
|
+
deepCodeAnalysis: {
|
|
250
|
+
type: 'boolean',
|
|
251
|
+
description: 'Perform deep code analysis to distinguish mock from production implementations',
|
|
252
|
+
default: true,
|
|
253
|
+
},
|
|
254
|
+
functionalValidation: {
|
|
255
|
+
type: 'boolean',
|
|
256
|
+
description: 'Validate that code actually functions according to ADR goals, not just exists',
|
|
257
|
+
default: true,
|
|
258
|
+
},
|
|
259
|
+
strictMode: {
|
|
260
|
+
type: 'boolean',
|
|
261
|
+
description: 'Enable strict validation mode with reality-check mechanisms against overconfident assessments',
|
|
262
|
+
default: true,
|
|
263
|
+
},
|
|
264
|
+
environmentValidation: {
|
|
265
|
+
type: 'boolean',
|
|
266
|
+
description: 'Enable environment-specific validation rules and checks',
|
|
267
|
+
default: true,
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: 'analyze_content_security',
|
|
274
|
+
description: 'Analyze content for sensitive information using AI-powered detection with optional memory integration for security pattern learning',
|
|
275
|
+
inputSchema: {
|
|
276
|
+
type: 'object',
|
|
277
|
+
properties: {
|
|
278
|
+
content: {
|
|
279
|
+
type: 'string',
|
|
280
|
+
description: 'Content to analyze for sensitive information',
|
|
281
|
+
},
|
|
282
|
+
contentType: {
|
|
283
|
+
type: 'string',
|
|
284
|
+
enum: ['code', 'documentation', 'configuration', 'logs', 'general'],
|
|
285
|
+
description: 'Type of content being analyzed',
|
|
286
|
+
default: 'general',
|
|
287
|
+
},
|
|
288
|
+
userDefinedPatterns: {
|
|
289
|
+
type: 'array',
|
|
290
|
+
items: { type: 'string' },
|
|
291
|
+
description: 'User-defined sensitive patterns to detect',
|
|
292
|
+
},
|
|
293
|
+
enableMemoryIntegration: {
|
|
294
|
+
type: 'boolean',
|
|
295
|
+
description: 'Enable memory entity storage for security pattern learning and institutional knowledge building',
|
|
296
|
+
default: true,
|
|
297
|
+
},
|
|
298
|
+
knowledgeEnhancement: {
|
|
299
|
+
type: 'boolean',
|
|
300
|
+
description: 'Enable Generated Knowledge Prompting for security and privacy expertise',
|
|
301
|
+
default: true,
|
|
302
|
+
},
|
|
303
|
+
enhancedMode: {
|
|
304
|
+
type: 'boolean',
|
|
305
|
+
description: 'Enable advanced prompting features',
|
|
306
|
+
default: true,
|
|
307
|
+
},
|
|
308
|
+
},
|
|
309
|
+
required: ['content'],
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
name: 'generate_content_masking',
|
|
314
|
+
description: 'Generate masking instructions for detected sensitive content',
|
|
315
|
+
inputSchema: {
|
|
316
|
+
type: 'object',
|
|
317
|
+
properties: {
|
|
318
|
+
content: {
|
|
319
|
+
type: 'string',
|
|
320
|
+
description: 'Content to mask',
|
|
321
|
+
},
|
|
322
|
+
detectedItems: {
|
|
323
|
+
type: 'array',
|
|
324
|
+
items: {
|
|
325
|
+
type: 'object',
|
|
326
|
+
properties: {
|
|
327
|
+
type: { type: 'string' },
|
|
328
|
+
content: { type: 'string' },
|
|
329
|
+
startPosition: { type: 'number' },
|
|
330
|
+
endPosition: { type: 'number' },
|
|
331
|
+
severity: { type: 'string' },
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
description: 'Detected sensitive items to mask',
|
|
335
|
+
},
|
|
336
|
+
maskingStrategy: {
|
|
337
|
+
type: 'string',
|
|
338
|
+
enum: ['full', 'partial', 'placeholder', 'environment'],
|
|
339
|
+
description: 'Strategy for masking content',
|
|
340
|
+
default: 'full',
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
required: ['content', 'detectedItems'],
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: 'configure_custom_patterns',
|
|
348
|
+
description: 'Configure custom sensitive patterns for a project',
|
|
349
|
+
inputSchema: {
|
|
350
|
+
type: 'object',
|
|
351
|
+
properties: {
|
|
352
|
+
projectPath: {
|
|
353
|
+
type: 'string',
|
|
354
|
+
description: 'Path to the project directory',
|
|
355
|
+
},
|
|
356
|
+
existingPatterns: {
|
|
357
|
+
type: 'array',
|
|
358
|
+
items: { type: 'string' },
|
|
359
|
+
description: 'Existing patterns to consider',
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
required: ['projectPath'],
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
name: 'apply_basic_content_masking',
|
|
367
|
+
description: 'Apply basic content masking (fallback when AI is not available)',
|
|
368
|
+
inputSchema: {
|
|
369
|
+
type: 'object',
|
|
370
|
+
properties: {
|
|
371
|
+
content: {
|
|
372
|
+
type: 'string',
|
|
373
|
+
description: 'Content to mask',
|
|
374
|
+
},
|
|
375
|
+
maskingStrategy: {
|
|
376
|
+
type: 'string',
|
|
377
|
+
enum: ['full', 'partial', 'placeholder'],
|
|
378
|
+
description: 'Strategy for masking content',
|
|
379
|
+
default: 'full',
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
required: ['content'],
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
name: 'validate_content_masking',
|
|
387
|
+
description: 'Validate that content masking was applied correctly',
|
|
388
|
+
inputSchema: {
|
|
389
|
+
type: 'object',
|
|
390
|
+
properties: {
|
|
391
|
+
originalContent: {
|
|
392
|
+
type: 'string',
|
|
393
|
+
description: 'Original content before masking',
|
|
394
|
+
},
|
|
395
|
+
maskedContent: {
|
|
396
|
+
type: 'string',
|
|
397
|
+
description: 'Content after masking',
|
|
398
|
+
},
|
|
399
|
+
},
|
|
400
|
+
required: ['originalContent', 'maskedContent'],
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
name: 'manage_cache',
|
|
405
|
+
description: 'Manage MCP resource cache (clear, stats, cleanup)',
|
|
406
|
+
inputSchema: {
|
|
407
|
+
type: 'object',
|
|
408
|
+
properties: {
|
|
409
|
+
action: {
|
|
410
|
+
type: 'string',
|
|
411
|
+
enum: ['clear', 'stats', 'cleanup', 'invalidate'],
|
|
412
|
+
description: 'Cache management action to perform',
|
|
413
|
+
},
|
|
414
|
+
key: {
|
|
415
|
+
type: 'string',
|
|
416
|
+
description: 'Specific cache key to invalidate (for invalidate action)',
|
|
417
|
+
},
|
|
418
|
+
},
|
|
419
|
+
required: ['action'],
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
name: 'configure_output_masking',
|
|
424
|
+
description: 'Configure content masking for all MCP outputs',
|
|
425
|
+
inputSchema: {
|
|
426
|
+
type: 'object',
|
|
427
|
+
properties: {
|
|
428
|
+
enabled: {
|
|
429
|
+
type: 'boolean',
|
|
430
|
+
description: 'Enable or disable output masking',
|
|
431
|
+
},
|
|
432
|
+
strategy: {
|
|
433
|
+
type: 'string',
|
|
434
|
+
enum: ['full', 'partial', 'placeholder', 'environment'],
|
|
435
|
+
description: 'Masking strategy to use',
|
|
436
|
+
},
|
|
437
|
+
customPatterns: {
|
|
438
|
+
type: 'array',
|
|
439
|
+
items: { type: 'string' },
|
|
440
|
+
description: 'Custom patterns to mask',
|
|
441
|
+
},
|
|
442
|
+
action: {
|
|
443
|
+
type: 'string',
|
|
444
|
+
enum: ['get', 'set', 'reset'],
|
|
445
|
+
description: 'Configuration action',
|
|
446
|
+
default: 'get',
|
|
447
|
+
},
|
|
448
|
+
},
|
|
449
|
+
},
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
name: 'suggest_adrs',
|
|
453
|
+
description: 'Suggest architectural decisions with advanced prompting techniques (Knowledge Generation + Reflexion). TIP: Read @.mcp-server-context.md first for project history, patterns, and previous ADRs to ensure consistency.',
|
|
454
|
+
inputSchema: {
|
|
455
|
+
type: 'object',
|
|
456
|
+
properties: {
|
|
457
|
+
projectPath: {
|
|
458
|
+
type: 'string',
|
|
459
|
+
description: 'Path to the project directory',
|
|
460
|
+
default: '.',
|
|
461
|
+
},
|
|
462
|
+
analysisType: {
|
|
463
|
+
type: 'string',
|
|
464
|
+
enum: ['implicit_decisions', 'code_changes', 'comprehensive'],
|
|
465
|
+
description: 'Type of analysis to perform',
|
|
466
|
+
default: 'comprehensive',
|
|
467
|
+
},
|
|
468
|
+
beforeCode: {
|
|
469
|
+
type: 'string',
|
|
470
|
+
description: 'Code before changes (for code_changes analysis)',
|
|
471
|
+
},
|
|
472
|
+
afterCode: {
|
|
473
|
+
type: 'string',
|
|
474
|
+
description: 'Code after changes (for code_changes analysis)',
|
|
475
|
+
},
|
|
476
|
+
changeDescription: {
|
|
477
|
+
type: 'string',
|
|
478
|
+
description: 'Description of the changes (for code_changes analysis)',
|
|
479
|
+
},
|
|
480
|
+
commitMessages: {
|
|
481
|
+
type: 'array',
|
|
482
|
+
items: { type: 'string' },
|
|
483
|
+
description: 'Related commit messages (for code_changes analysis)',
|
|
484
|
+
},
|
|
485
|
+
existingAdrs: {
|
|
486
|
+
type: 'array',
|
|
487
|
+
items: { type: 'string' },
|
|
488
|
+
description: 'List of existing ADR titles to avoid duplication',
|
|
489
|
+
},
|
|
490
|
+
enhancedMode: {
|
|
491
|
+
type: 'boolean',
|
|
492
|
+
description: 'Enable advanced prompting features (Knowledge Generation + Reflexion)',
|
|
493
|
+
default: true,
|
|
494
|
+
},
|
|
495
|
+
learningEnabled: {
|
|
496
|
+
type: 'boolean',
|
|
497
|
+
description: 'Enable Reflexion learning from past experiences',
|
|
498
|
+
default: true,
|
|
499
|
+
},
|
|
500
|
+
knowledgeEnhancement: {
|
|
501
|
+
type: 'boolean',
|
|
502
|
+
description: 'Enable Knowledge Generation for domain-specific insights',
|
|
503
|
+
default: true,
|
|
504
|
+
},
|
|
505
|
+
conversationContext: CONVERSATION_CONTEXT_SCHEMA,
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
name: 'generate_adr_from_decision',
|
|
511
|
+
description: 'Generate a complete ADR from decision data. TIP: Reference @.mcp-server-context.md to align with existing architectural patterns and decisions.',
|
|
512
|
+
inputSchema: {
|
|
513
|
+
type: 'object',
|
|
514
|
+
properties: {
|
|
515
|
+
decisionData: {
|
|
516
|
+
type: 'object',
|
|
517
|
+
properties: {
|
|
518
|
+
title: { type: 'string', description: 'Decision title' },
|
|
519
|
+
context: { type: 'string', description: 'Decision context and problem' },
|
|
520
|
+
decision: { type: 'string', description: 'The architectural decision' },
|
|
521
|
+
consequences: { type: 'string', description: 'Decision consequences' },
|
|
522
|
+
alternatives: {
|
|
523
|
+
type: 'array',
|
|
524
|
+
items: { type: 'string' },
|
|
525
|
+
description: 'Alternative approaches considered',
|
|
526
|
+
},
|
|
527
|
+
evidence: {
|
|
528
|
+
type: 'array',
|
|
529
|
+
items: { type: 'string' },
|
|
530
|
+
description: 'Supporting evidence for the decision',
|
|
531
|
+
},
|
|
532
|
+
},
|
|
533
|
+
required: ['title', 'context', 'decision', 'consequences'],
|
|
534
|
+
},
|
|
535
|
+
templateFormat: {
|
|
536
|
+
type: 'string',
|
|
537
|
+
enum: ['nygard', 'madr', 'custom'],
|
|
538
|
+
description: 'ADR template format to use',
|
|
539
|
+
default: 'nygard',
|
|
540
|
+
},
|
|
541
|
+
existingAdrs: {
|
|
542
|
+
type: 'array',
|
|
543
|
+
items: { type: 'string' },
|
|
544
|
+
description: 'List of existing ADRs for numbering and references',
|
|
545
|
+
},
|
|
546
|
+
adrDirectory: {
|
|
547
|
+
type: 'string',
|
|
548
|
+
description: 'Directory where ADRs are stored',
|
|
549
|
+
default: 'docs/adrs',
|
|
550
|
+
},
|
|
551
|
+
},
|
|
552
|
+
required: ['decisionData'],
|
|
553
|
+
},
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
name: 'generate_adr_bootstrap',
|
|
557
|
+
description: "Generate bootstrap.sh and validate_bootstrap.sh scripts to ensure deployed code follows ADR requirements. **CRITICAL**: Before generating scripts, use WebFetch to query the base code repository (e.g., https://github.com/validatedpatterns/common for OpenShift) and authoritative pattern documentation (e.g., https://play.validatedpatterns.io/). Merge the base repository code into your project and have bootstrap.sh call the pattern's scripts rather than generating everything from scratch. This ensures compliance with validated deployment patterns.",
|
|
558
|
+
inputSchema: {
|
|
559
|
+
type: 'object',
|
|
560
|
+
properties: {
|
|
561
|
+
projectPath: {
|
|
562
|
+
type: 'string',
|
|
563
|
+
description: 'Path to the project directory',
|
|
564
|
+
default: '.',
|
|
565
|
+
},
|
|
566
|
+
adrDirectory: {
|
|
567
|
+
type: 'string',
|
|
568
|
+
description: 'Directory where ADRs are stored',
|
|
569
|
+
default: 'docs/adrs',
|
|
570
|
+
},
|
|
571
|
+
outputPath: {
|
|
572
|
+
type: 'string',
|
|
573
|
+
description: 'Directory where to generate scripts',
|
|
574
|
+
default: '.',
|
|
575
|
+
},
|
|
576
|
+
scriptType: {
|
|
577
|
+
type: 'string',
|
|
578
|
+
enum: ['bootstrap', 'validate', 'both'],
|
|
579
|
+
description: 'Which scripts to generate',
|
|
580
|
+
default: 'both',
|
|
581
|
+
},
|
|
582
|
+
includeTests: {
|
|
583
|
+
type: 'boolean',
|
|
584
|
+
description: 'Include test execution in bootstrap',
|
|
585
|
+
default: true,
|
|
586
|
+
},
|
|
587
|
+
includeDeployment: {
|
|
588
|
+
type: 'boolean',
|
|
589
|
+
description: 'Include deployment steps in bootstrap',
|
|
590
|
+
default: true,
|
|
591
|
+
},
|
|
592
|
+
customValidations: {
|
|
593
|
+
type: 'array',
|
|
594
|
+
items: { type: 'string' },
|
|
595
|
+
description: 'Custom validation commands to include',
|
|
596
|
+
},
|
|
597
|
+
},
|
|
598
|
+
},
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
name: 'bootstrap_validation_loop',
|
|
602
|
+
description: '**GUIDED EXECUTION MODE**: This tool guides you through an interactive, step-by-step deployment validation workflow. It does NOT execute commands internally - instead, it tells YOU what commands to run and processes the results iteratively. **Workflow**: (1) First call with iteration=0: Detects platform (OpenShift/K8s/Docker), validates environment connection, and requests human approval for target platform. (2) Subsequent calls: After running each command and reporting back with output, the tool provides next steps. **Environment Validation**: Before deployment, the tool verifies connection to the target platform (e.g., `oc status` for OpenShift, `kubectl cluster-info` for K8s) and requires explicit human confirmation. **Validated Patterns Integration**: Automatically identifies base code repositories (e.g., validatedpatterns/common for OpenShift) and guides you to merge them into your project. **Deployment Cleanup**: Supports CI/CD-style workflows with deployment teardown/restart guidance. **Call this tool iteratively**, passing previous command output back each time.',
|
|
603
|
+
inputSchema: {
|
|
604
|
+
type: 'object',
|
|
605
|
+
properties: {
|
|
606
|
+
projectPath: {
|
|
607
|
+
type: 'string',
|
|
608
|
+
description: 'Path to the project directory',
|
|
609
|
+
default: '.',
|
|
610
|
+
},
|
|
611
|
+
adrDirectory: {
|
|
612
|
+
type: 'string',
|
|
613
|
+
description: 'Directory where ADRs are stored',
|
|
614
|
+
default: 'docs/adrs',
|
|
615
|
+
},
|
|
616
|
+
targetEnvironment: {
|
|
617
|
+
type: 'string',
|
|
618
|
+
enum: ['development', 'staging', 'production', 'testing'],
|
|
619
|
+
description: 'Target deployment environment',
|
|
620
|
+
default: 'development',
|
|
621
|
+
},
|
|
622
|
+
maxIterations: {
|
|
623
|
+
type: 'number',
|
|
624
|
+
description: 'Maximum validation/fix iterations',
|
|
625
|
+
default: 5,
|
|
626
|
+
},
|
|
627
|
+
autoFix: {
|
|
628
|
+
type: 'boolean',
|
|
629
|
+
description: 'Whether to generate auto-fix suggestions in guidance',
|
|
630
|
+
default: true,
|
|
631
|
+
},
|
|
632
|
+
updateAdrsWithLearnings: {
|
|
633
|
+
type: 'boolean',
|
|
634
|
+
description: 'Update ADRs with deployment learnings (non-sensitive)',
|
|
635
|
+
default: true,
|
|
636
|
+
},
|
|
637
|
+
currentIteration: {
|
|
638
|
+
type: 'number',
|
|
639
|
+
description: 'Current iteration number (0 for initial call, then increment). Used to track workflow progress.',
|
|
640
|
+
default: 0,
|
|
641
|
+
},
|
|
642
|
+
previousExecutionOutput: {
|
|
643
|
+
type: 'string',
|
|
644
|
+
description: 'Output from the previous command execution. Paste the stdout/stderr from running the command that was recommended in the previous iteration.',
|
|
645
|
+
default: '',
|
|
646
|
+
},
|
|
647
|
+
previousExecutionSuccess: {
|
|
648
|
+
type: 'boolean',
|
|
649
|
+
description: 'Whether the previous command execution succeeded (exit code 0). Set to true if command succeeded, false if it failed.',
|
|
650
|
+
default: false,
|
|
651
|
+
},
|
|
652
|
+
deploymentCleanupRequested: {
|
|
653
|
+
type: 'boolean',
|
|
654
|
+
description: 'Set to true to request deployment cleanup/teardown guidance (for CI/CD workflows that need to delete and restart deployments).',
|
|
655
|
+
default: false,
|
|
656
|
+
},
|
|
657
|
+
appSelector: {
|
|
658
|
+
type: 'string',
|
|
659
|
+
description: 'Label selector scoping every destructive teardown command, e.g. "app=checkout-api". Required before any kubectl/oc delete is offered — the tool will not guess a selector, and without this it returns discovery instructions instead of a delete.',
|
|
660
|
+
},
|
|
661
|
+
},
|
|
662
|
+
},
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
name: 'discover_existing_adrs',
|
|
666
|
+
description: 'Discover and catalog existing ADRs in the project',
|
|
667
|
+
inputSchema: {
|
|
668
|
+
type: 'object',
|
|
669
|
+
properties: {
|
|
670
|
+
adrDirectory: {
|
|
671
|
+
type: 'string',
|
|
672
|
+
description: 'Directory to search for ADRs',
|
|
673
|
+
default: 'docs/adrs',
|
|
674
|
+
},
|
|
675
|
+
includeContent: {
|
|
676
|
+
type: 'boolean',
|
|
677
|
+
description: 'Whether to include ADR content in analysis',
|
|
678
|
+
default: false,
|
|
679
|
+
},
|
|
680
|
+
},
|
|
681
|
+
},
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
name: 'analyze_adr_timeline',
|
|
685
|
+
description: 'Analyze ADR timeline with smart time tracking, adaptive thresholds, and actionable recommendations. Auto-detects project context (startup/growth/mature) and generates prioritized work queue based on staleness, implementation lag, and technical debt.',
|
|
686
|
+
inputSchema: {
|
|
687
|
+
type: 'object',
|
|
688
|
+
properties: {
|
|
689
|
+
projectPath: {
|
|
690
|
+
type: 'string',
|
|
691
|
+
description: 'Path to the project directory',
|
|
692
|
+
default: '.',
|
|
693
|
+
},
|
|
694
|
+
adrDirectory: {
|
|
695
|
+
type: 'string',
|
|
696
|
+
description: 'Directory containing ADR files',
|
|
697
|
+
default: 'docs/adrs',
|
|
698
|
+
},
|
|
699
|
+
generateActions: {
|
|
700
|
+
type: 'boolean',
|
|
701
|
+
description: 'Generate actionable work items with priority and effort estimates',
|
|
702
|
+
default: true,
|
|
703
|
+
},
|
|
704
|
+
thresholdProfile: {
|
|
705
|
+
type: 'string',
|
|
706
|
+
enum: ['startup', 'growth', 'mature', 'maintenance', 'feature_development'],
|
|
707
|
+
description: 'Threshold profile for action generation (auto-detected if not specified)',
|
|
708
|
+
},
|
|
709
|
+
autoDetectContext: {
|
|
710
|
+
type: 'boolean',
|
|
711
|
+
description: 'Auto-detect project phase from git activity and ADR patterns',
|
|
712
|
+
default: true,
|
|
713
|
+
},
|
|
714
|
+
includeContent: {
|
|
715
|
+
type: 'boolean',
|
|
716
|
+
description: 'Include ADR content for better analysis',
|
|
717
|
+
default: true,
|
|
718
|
+
},
|
|
719
|
+
forceExtract: {
|
|
720
|
+
type: 'boolean',
|
|
721
|
+
description: 'Force timeline extraction even if ADRs have dates',
|
|
722
|
+
default: false,
|
|
723
|
+
},
|
|
724
|
+
},
|
|
725
|
+
},
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
name: 'review_existing_adrs',
|
|
729
|
+
description: 'Review existing ADRs against actual code implementation with cloud/DevOps expertise. TIP: After review, call get_server_context to update @.mcp-server-context.md with findings.',
|
|
730
|
+
inputSchema: {
|
|
731
|
+
type: 'object',
|
|
732
|
+
properties: {
|
|
733
|
+
adrDirectory: {
|
|
734
|
+
type: 'string',
|
|
735
|
+
description: 'Directory containing ADR files',
|
|
736
|
+
default: 'docs/adrs',
|
|
737
|
+
},
|
|
738
|
+
projectPath: {
|
|
739
|
+
type: 'string',
|
|
740
|
+
description: 'Path to the project directory',
|
|
741
|
+
default: '.',
|
|
742
|
+
},
|
|
743
|
+
specificAdr: {
|
|
744
|
+
type: 'string',
|
|
745
|
+
description: 'Specific ADR filename or title to review (optional)',
|
|
746
|
+
},
|
|
747
|
+
analysisDepth: {
|
|
748
|
+
type: 'string',
|
|
749
|
+
enum: ['basic', 'detailed', 'comprehensive'],
|
|
750
|
+
description: 'Depth of analysis to perform',
|
|
751
|
+
default: 'detailed',
|
|
752
|
+
},
|
|
753
|
+
includeTreeSitter: {
|
|
754
|
+
type: 'boolean',
|
|
755
|
+
description: 'Use tree-sitter for enhanced code analysis',
|
|
756
|
+
default: true,
|
|
757
|
+
},
|
|
758
|
+
generateUpdatePlan: {
|
|
759
|
+
type: 'boolean',
|
|
760
|
+
description: 'Generate action plan for updating non-compliant ADRs',
|
|
761
|
+
default: true,
|
|
762
|
+
},
|
|
763
|
+
},
|
|
764
|
+
},
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
name: 'validate_adr',
|
|
768
|
+
description: 'Validate an existing ADR against actual infrastructure reality using research-driven analysis. TIP: Compare findings against patterns in @.mcp-server-context.md for consistency checks.',
|
|
769
|
+
inputSchema: {
|
|
770
|
+
type: 'object',
|
|
771
|
+
properties: {
|
|
772
|
+
adrPath: {
|
|
773
|
+
type: 'string',
|
|
774
|
+
description: 'Path to the ADR file to validate (relative or absolute)',
|
|
775
|
+
},
|
|
776
|
+
projectPath: {
|
|
777
|
+
type: 'string',
|
|
778
|
+
description: 'Path to the project directory',
|
|
779
|
+
default: '.',
|
|
780
|
+
},
|
|
781
|
+
adrDirectory: {
|
|
782
|
+
type: 'string',
|
|
783
|
+
description: 'Directory containing ADR files',
|
|
784
|
+
default: 'docs/adrs',
|
|
785
|
+
},
|
|
786
|
+
includeEnvironmentCheck: {
|
|
787
|
+
type: 'boolean',
|
|
788
|
+
description: 'Include live environment verification in validation',
|
|
789
|
+
default: true,
|
|
790
|
+
},
|
|
791
|
+
confidenceThreshold: {
|
|
792
|
+
type: 'number',
|
|
793
|
+
description: 'Minimum research confidence threshold (0-1)',
|
|
794
|
+
default: 0.6,
|
|
795
|
+
},
|
|
796
|
+
},
|
|
797
|
+
required: ['adrPath'],
|
|
798
|
+
},
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
name: 'validate_all_adrs',
|
|
802
|
+
description: 'Validate all ADRs in a directory against actual infrastructure reality',
|
|
803
|
+
inputSchema: {
|
|
804
|
+
type: 'object',
|
|
805
|
+
properties: {
|
|
806
|
+
projectPath: {
|
|
807
|
+
type: 'string',
|
|
808
|
+
description: 'Path to the project directory',
|
|
809
|
+
default: '.',
|
|
810
|
+
},
|
|
811
|
+
adrDirectory: {
|
|
812
|
+
type: 'string',
|
|
813
|
+
description: 'Directory containing ADR files',
|
|
814
|
+
default: 'docs/adrs',
|
|
815
|
+
},
|
|
816
|
+
includeEnvironmentCheck: {
|
|
817
|
+
type: 'boolean',
|
|
818
|
+
description: 'Include live environment verification in validation',
|
|
819
|
+
default: true,
|
|
820
|
+
},
|
|
821
|
+
minConfidence: {
|
|
822
|
+
type: 'number',
|
|
823
|
+
description: 'Minimum research confidence for validation (0-1)',
|
|
824
|
+
default: 0.6,
|
|
825
|
+
},
|
|
826
|
+
},
|
|
827
|
+
},
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
name: 'incorporate_research',
|
|
831
|
+
description: 'Incorporate research findings into architectural decisions',
|
|
832
|
+
inputSchema: {
|
|
833
|
+
type: 'object',
|
|
834
|
+
properties: {
|
|
835
|
+
researchPath: {
|
|
836
|
+
type: 'string',
|
|
837
|
+
description: 'Path to research directory',
|
|
838
|
+
default: 'docs/research',
|
|
839
|
+
},
|
|
840
|
+
adrDirectory: {
|
|
841
|
+
type: 'string',
|
|
842
|
+
description: 'Path to ADR directory',
|
|
843
|
+
default: 'docs/adrs',
|
|
844
|
+
},
|
|
845
|
+
analysisType: {
|
|
846
|
+
type: 'string',
|
|
847
|
+
enum: [
|
|
848
|
+
'monitor',
|
|
849
|
+
'extract_topics',
|
|
850
|
+
'evaluate_impact',
|
|
851
|
+
'generate_updates',
|
|
852
|
+
'comprehensive',
|
|
853
|
+
],
|
|
854
|
+
description: 'Type of research analysis to perform',
|
|
855
|
+
default: 'comprehensive',
|
|
856
|
+
},
|
|
857
|
+
existingTopics: {
|
|
858
|
+
type: 'array',
|
|
859
|
+
items: { type: 'string' },
|
|
860
|
+
description: 'Previously identified research topics',
|
|
861
|
+
},
|
|
862
|
+
researchTopics: {
|
|
863
|
+
type: 'array',
|
|
864
|
+
items: {
|
|
865
|
+
type: 'object',
|
|
866
|
+
properties: {
|
|
867
|
+
id: { type: 'string' },
|
|
868
|
+
title: { type: 'string' },
|
|
869
|
+
category: { type: 'string' },
|
|
870
|
+
keyFindings: { type: 'array', items: { type: 'string' } },
|
|
871
|
+
relevanceScore: { type: 'number' },
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
description: 'Research topics for impact evaluation',
|
|
875
|
+
},
|
|
876
|
+
adrId: {
|
|
877
|
+
type: 'string',
|
|
878
|
+
description: 'ADR ID for update generation',
|
|
879
|
+
},
|
|
880
|
+
updateType: {
|
|
881
|
+
type: 'string',
|
|
882
|
+
enum: ['content', 'status', 'consequences', 'alternatives', 'deprecation'],
|
|
883
|
+
description: 'Type of ADR update to generate',
|
|
884
|
+
},
|
|
885
|
+
researchFindings: {
|
|
886
|
+
type: 'array',
|
|
887
|
+
items: {
|
|
888
|
+
type: 'object',
|
|
889
|
+
properties: {
|
|
890
|
+
finding: { type: 'string' },
|
|
891
|
+
evidence: { type: 'array', items: { type: 'string' } },
|
|
892
|
+
impact: { type: 'string' },
|
|
893
|
+
},
|
|
894
|
+
},
|
|
895
|
+
description: 'Research findings for update generation',
|
|
896
|
+
},
|
|
897
|
+
},
|
|
898
|
+
},
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
name: 'create_research_template',
|
|
902
|
+
description: 'Create a research template file for documenting findings',
|
|
903
|
+
inputSchema: {
|
|
904
|
+
type: 'object',
|
|
905
|
+
properties: {
|
|
906
|
+
title: {
|
|
907
|
+
type: 'string',
|
|
908
|
+
description: 'Title of the research',
|
|
909
|
+
},
|
|
910
|
+
category: {
|
|
911
|
+
type: 'string',
|
|
912
|
+
description: 'Research category',
|
|
913
|
+
default: 'general',
|
|
914
|
+
},
|
|
915
|
+
researchPath: {
|
|
916
|
+
type: 'string',
|
|
917
|
+
description: 'Path to research directory',
|
|
918
|
+
default: 'docs/research',
|
|
919
|
+
},
|
|
920
|
+
},
|
|
921
|
+
required: ['title'],
|
|
922
|
+
},
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
name: 'request_action_confirmation',
|
|
926
|
+
description: 'Request confirmation before applying research-based changes',
|
|
927
|
+
inputSchema: {
|
|
928
|
+
type: 'object',
|
|
929
|
+
properties: {
|
|
930
|
+
action: {
|
|
931
|
+
type: 'string',
|
|
932
|
+
description: 'Description of the action to be performed',
|
|
933
|
+
},
|
|
934
|
+
details: {
|
|
935
|
+
type: 'string',
|
|
936
|
+
description: 'Detailed information about the action',
|
|
937
|
+
},
|
|
938
|
+
impact: {
|
|
939
|
+
type: 'string',
|
|
940
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
941
|
+
description: 'Impact level of the action',
|
|
942
|
+
default: 'medium',
|
|
943
|
+
},
|
|
944
|
+
},
|
|
945
|
+
required: ['action', 'details'],
|
|
946
|
+
},
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
name: 'generate_rules',
|
|
950
|
+
description: 'Generate architectural rules from ADRs and code patterns',
|
|
951
|
+
inputSchema: {
|
|
952
|
+
type: 'object',
|
|
953
|
+
properties: {
|
|
954
|
+
source: {
|
|
955
|
+
type: 'string',
|
|
956
|
+
enum: ['adrs', 'patterns', 'both'],
|
|
957
|
+
description: 'Source for rule generation',
|
|
958
|
+
default: 'both',
|
|
959
|
+
},
|
|
960
|
+
adrDirectory: {
|
|
961
|
+
type: 'string',
|
|
962
|
+
description: 'Directory containing ADR files',
|
|
963
|
+
default: 'docs/adrs',
|
|
964
|
+
},
|
|
965
|
+
projectPath: {
|
|
966
|
+
type: 'string',
|
|
967
|
+
description: 'Path to project for pattern analysis',
|
|
968
|
+
default: '.',
|
|
969
|
+
},
|
|
970
|
+
existingRules: {
|
|
971
|
+
type: 'array',
|
|
972
|
+
items: {
|
|
973
|
+
type: 'object',
|
|
974
|
+
properties: {
|
|
975
|
+
id: { type: 'string' },
|
|
976
|
+
name: { type: 'string' },
|
|
977
|
+
description: { type: 'string' },
|
|
978
|
+
},
|
|
979
|
+
},
|
|
980
|
+
description: 'Existing rules to avoid duplication',
|
|
981
|
+
},
|
|
982
|
+
outputFormat: {
|
|
983
|
+
type: 'string',
|
|
984
|
+
enum: ['json', 'yaml', 'both'],
|
|
985
|
+
description: 'Output format for rules',
|
|
986
|
+
default: 'json',
|
|
987
|
+
},
|
|
988
|
+
},
|
|
989
|
+
},
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
name: 'validate_rules',
|
|
993
|
+
description: 'Validate code against architectural rules',
|
|
994
|
+
inputSchema: {
|
|
995
|
+
type: 'object',
|
|
996
|
+
properties: {
|
|
997
|
+
filePath: {
|
|
998
|
+
type: 'string',
|
|
999
|
+
description: 'Path to file to validate',
|
|
1000
|
+
},
|
|
1001
|
+
fileContent: {
|
|
1002
|
+
type: 'string',
|
|
1003
|
+
description: 'Content to validate (alternative to filePath)',
|
|
1004
|
+
},
|
|
1005
|
+
fileName: {
|
|
1006
|
+
type: 'string',
|
|
1007
|
+
description: 'Name of file being validated (when using fileContent)',
|
|
1008
|
+
},
|
|
1009
|
+
rules: {
|
|
1010
|
+
type: 'array',
|
|
1011
|
+
items: {
|
|
1012
|
+
type: 'object',
|
|
1013
|
+
properties: {
|
|
1014
|
+
id: { type: 'string' },
|
|
1015
|
+
name: { type: 'string' },
|
|
1016
|
+
description: { type: 'string' },
|
|
1017
|
+
pattern: { type: 'string' },
|
|
1018
|
+
severity: { type: 'string' },
|
|
1019
|
+
message: { type: 'string' },
|
|
1020
|
+
},
|
|
1021
|
+
required: ['id', 'name', 'pattern', 'severity', 'message'],
|
|
1022
|
+
},
|
|
1023
|
+
description: 'Rules to validate against',
|
|
1024
|
+
},
|
|
1025
|
+
validationType: {
|
|
1026
|
+
type: 'string',
|
|
1027
|
+
enum: ['file', 'function', 'component', 'module'],
|
|
1028
|
+
description: 'Type of validation to perform',
|
|
1029
|
+
default: 'file',
|
|
1030
|
+
},
|
|
1031
|
+
reportFormat: {
|
|
1032
|
+
type: 'string',
|
|
1033
|
+
enum: ['summary', 'detailed', 'json'],
|
|
1034
|
+
description: 'Format for validation report',
|
|
1035
|
+
default: 'detailed',
|
|
1036
|
+
},
|
|
1037
|
+
},
|
|
1038
|
+
required: ['rules'],
|
|
1039
|
+
},
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
name: 'create_rule_set',
|
|
1043
|
+
description: 'Create machine-readable rule set in JSON/YAML format',
|
|
1044
|
+
inputSchema: {
|
|
1045
|
+
type: 'object',
|
|
1046
|
+
properties: {
|
|
1047
|
+
name: {
|
|
1048
|
+
type: 'string',
|
|
1049
|
+
description: 'Name of the rule set',
|
|
1050
|
+
},
|
|
1051
|
+
description: {
|
|
1052
|
+
type: 'string',
|
|
1053
|
+
description: 'Description of the rule set',
|
|
1054
|
+
default: 'Generated architectural rule set',
|
|
1055
|
+
},
|
|
1056
|
+
adrRules: {
|
|
1057
|
+
type: 'array',
|
|
1058
|
+
items: { type: 'object' },
|
|
1059
|
+
description: 'Rules extracted from ADRs',
|
|
1060
|
+
},
|
|
1061
|
+
patternRules: {
|
|
1062
|
+
type: 'array',
|
|
1063
|
+
items: { type: 'object' },
|
|
1064
|
+
description: 'Rules generated from code patterns',
|
|
1065
|
+
},
|
|
1066
|
+
rules: {
|
|
1067
|
+
type: 'array',
|
|
1068
|
+
items: { type: 'object' },
|
|
1069
|
+
description: 'Additional rules to include',
|
|
1070
|
+
},
|
|
1071
|
+
outputFormat: {
|
|
1072
|
+
type: 'string',
|
|
1073
|
+
enum: ['json', 'yaml', 'both'],
|
|
1074
|
+
description: 'Output format for rule set',
|
|
1075
|
+
default: 'json',
|
|
1076
|
+
},
|
|
1077
|
+
author: {
|
|
1078
|
+
type: 'string',
|
|
1079
|
+
description: 'Author of the rule set',
|
|
1080
|
+
default: 'MCP ADR Analysis Server',
|
|
1081
|
+
},
|
|
1082
|
+
},
|
|
1083
|
+
required: ['name'],
|
|
1084
|
+
},
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
name: 'analyze_environment',
|
|
1088
|
+
description: 'Analyze environment context and provide optimization recommendations with optional memory integration for environment snapshot tracking',
|
|
1089
|
+
inputSchema: {
|
|
1090
|
+
type: 'object',
|
|
1091
|
+
properties: {
|
|
1092
|
+
projectPath: {
|
|
1093
|
+
type: 'string',
|
|
1094
|
+
description: 'Path to project directory',
|
|
1095
|
+
default: '.',
|
|
1096
|
+
},
|
|
1097
|
+
adrDirectory: {
|
|
1098
|
+
type: 'string',
|
|
1099
|
+
description: 'Directory containing ADR files',
|
|
1100
|
+
default: 'docs/adrs',
|
|
1101
|
+
},
|
|
1102
|
+
analysisType: {
|
|
1103
|
+
type: 'string',
|
|
1104
|
+
enum: ['specs', 'containerization', 'requirements', 'compliance', 'comprehensive'],
|
|
1105
|
+
description: 'Type of environment analysis to perform',
|
|
1106
|
+
default: 'comprehensive',
|
|
1107
|
+
},
|
|
1108
|
+
currentEnvironment: {
|
|
1109
|
+
type: 'object',
|
|
1110
|
+
description: 'Current environment specifications (for compliance analysis)',
|
|
1111
|
+
},
|
|
1112
|
+
requirements: {
|
|
1113
|
+
type: 'object',
|
|
1114
|
+
description: 'Environment requirements (for compliance analysis)',
|
|
1115
|
+
},
|
|
1116
|
+
industryStandards: {
|
|
1117
|
+
type: 'array',
|
|
1118
|
+
items: { type: 'string' },
|
|
1119
|
+
description: 'Industry standards to assess compliance against',
|
|
1120
|
+
},
|
|
1121
|
+
enableMemoryIntegration: {
|
|
1122
|
+
type: 'boolean',
|
|
1123
|
+
description: 'Enable memory entity storage for environment snapshot tracking and historical analysis',
|
|
1124
|
+
default: true,
|
|
1125
|
+
},
|
|
1126
|
+
enableTrendAnalysis: {
|
|
1127
|
+
type: 'boolean',
|
|
1128
|
+
description: 'Enable analysis of environment changes over time using stored snapshots',
|
|
1129
|
+
default: true,
|
|
1130
|
+
},
|
|
1131
|
+
},
|
|
1132
|
+
},
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
name: 'generate_research_questions',
|
|
1136
|
+
description: 'Generate context-aware research questions and create research tracking system',
|
|
1137
|
+
inputSchema: {
|
|
1138
|
+
type: 'object',
|
|
1139
|
+
properties: {
|
|
1140
|
+
analysisType: {
|
|
1141
|
+
type: 'string',
|
|
1142
|
+
enum: ['correlation', 'relevance', 'questions', 'tracking', 'comprehensive'],
|
|
1143
|
+
description: 'Type of research analysis to perform',
|
|
1144
|
+
default: 'comprehensive',
|
|
1145
|
+
},
|
|
1146
|
+
researchContext: {
|
|
1147
|
+
type: 'object',
|
|
1148
|
+
properties: {
|
|
1149
|
+
topic: { type: 'string' },
|
|
1150
|
+
category: { type: 'string' },
|
|
1151
|
+
scope: { type: 'string' },
|
|
1152
|
+
objectives: { type: 'array', items: { type: 'string' } },
|
|
1153
|
+
constraints: { type: 'array', items: { type: 'string' } },
|
|
1154
|
+
timeline: { type: 'string' },
|
|
1155
|
+
},
|
|
1156
|
+
description: 'Research context and objectives',
|
|
1157
|
+
},
|
|
1158
|
+
problems: {
|
|
1159
|
+
type: 'array',
|
|
1160
|
+
items: {
|
|
1161
|
+
type: 'object',
|
|
1162
|
+
properties: {
|
|
1163
|
+
id: { type: 'string' },
|
|
1164
|
+
description: { type: 'string' },
|
|
1165
|
+
category: { type: 'string' },
|
|
1166
|
+
severity: { type: 'string' },
|
|
1167
|
+
context: { type: 'string' },
|
|
1168
|
+
},
|
|
1169
|
+
},
|
|
1170
|
+
description: 'Problems to correlate with knowledge graph',
|
|
1171
|
+
},
|
|
1172
|
+
knowledgeGraph: {
|
|
1173
|
+
type: 'object',
|
|
1174
|
+
properties: {
|
|
1175
|
+
technologies: { type: 'array', items: { type: 'object' } },
|
|
1176
|
+
patterns: { type: 'array', items: { type: 'object' } },
|
|
1177
|
+
adrs: { type: 'array', items: { type: 'object' } },
|
|
1178
|
+
relationships: { type: 'array', items: { type: 'object' } },
|
|
1179
|
+
},
|
|
1180
|
+
description: 'Architectural knowledge graph',
|
|
1181
|
+
},
|
|
1182
|
+
relevantKnowledge: {
|
|
1183
|
+
type: 'object',
|
|
1184
|
+
properties: {
|
|
1185
|
+
adrs: { type: 'array', items: { type: 'object' } },
|
|
1186
|
+
patterns: { type: 'array', items: { type: 'object' } },
|
|
1187
|
+
gaps: { type: 'array', items: { type: 'object' } },
|
|
1188
|
+
opportunities: { type: 'array', items: { type: 'object' } },
|
|
1189
|
+
},
|
|
1190
|
+
description: 'Relevant knowledge for question generation',
|
|
1191
|
+
},
|
|
1192
|
+
researchQuestions: {
|
|
1193
|
+
type: 'array',
|
|
1194
|
+
items: {
|
|
1195
|
+
type: 'object',
|
|
1196
|
+
properties: {
|
|
1197
|
+
id: { type: 'string' },
|
|
1198
|
+
question: { type: 'string' },
|
|
1199
|
+
type: { type: 'string' },
|
|
1200
|
+
priority: { type: 'string' },
|
|
1201
|
+
timeline: { type: 'string' },
|
|
1202
|
+
methodology: { type: 'string' },
|
|
1203
|
+
},
|
|
1204
|
+
},
|
|
1205
|
+
description: 'Research questions for task tracking',
|
|
1206
|
+
},
|
|
1207
|
+
currentProgress: {
|
|
1208
|
+
type: 'array',
|
|
1209
|
+
items: {
|
|
1210
|
+
type: 'object',
|
|
1211
|
+
properties: {
|
|
1212
|
+
questionId: { type: 'string' },
|
|
1213
|
+
status: { type: 'string' },
|
|
1214
|
+
progress: { type: 'number' },
|
|
1215
|
+
findings: { type: 'array', items: { type: 'string' } },
|
|
1216
|
+
blockers: { type: 'array', items: { type: 'string' } },
|
|
1217
|
+
},
|
|
1218
|
+
},
|
|
1219
|
+
description: 'Current research progress',
|
|
1220
|
+
},
|
|
1221
|
+
projectPath: {
|
|
1222
|
+
type: 'string',
|
|
1223
|
+
description: 'Path to project directory',
|
|
1224
|
+
default: '.',
|
|
1225
|
+
},
|
|
1226
|
+
adrDirectory: {
|
|
1227
|
+
type: 'string',
|
|
1228
|
+
description: 'Directory containing ADR files',
|
|
1229
|
+
default: 'docs/adrs',
|
|
1230
|
+
},
|
|
1231
|
+
},
|
|
1232
|
+
},
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
name: 'perform_research',
|
|
1236
|
+
description: 'Perform research using cascading sources: project files → knowledge graph → environment resources → web search (fallback)',
|
|
1237
|
+
inputSchema: {
|
|
1238
|
+
type: 'object',
|
|
1239
|
+
properties: {
|
|
1240
|
+
question: {
|
|
1241
|
+
type: 'string',
|
|
1242
|
+
description: 'The research question to answer',
|
|
1243
|
+
},
|
|
1244
|
+
projectPath: {
|
|
1245
|
+
type: 'string',
|
|
1246
|
+
description: 'Path to project directory',
|
|
1247
|
+
default: '.',
|
|
1248
|
+
},
|
|
1249
|
+
adrDirectory: {
|
|
1250
|
+
type: 'string',
|
|
1251
|
+
description: 'Directory containing ADR files',
|
|
1252
|
+
default: 'docs/adrs',
|
|
1253
|
+
},
|
|
1254
|
+
researchDirectory: {
|
|
1255
|
+
type: 'string',
|
|
1256
|
+
description: 'Directory the research document is written to. Previously unset and unsettable: output went to docs/context/research/ regardless (#1528).',
|
|
1257
|
+
default: 'docs/research',
|
|
1258
|
+
},
|
|
1259
|
+
confidenceThreshold: {
|
|
1260
|
+
type: 'number',
|
|
1261
|
+
description: 'Minimum confidence threshold (0-1) before suggesting web search',
|
|
1262
|
+
default: 0.6,
|
|
1263
|
+
minimum: 0,
|
|
1264
|
+
maximum: 1,
|
|
1265
|
+
},
|
|
1266
|
+
performWebSearch: {
|
|
1267
|
+
type: 'boolean',
|
|
1268
|
+
description: 'Enable web search recommendations when confidence is low',
|
|
1269
|
+
default: true,
|
|
1270
|
+
},
|
|
1271
|
+
},
|
|
1272
|
+
required: ['question'],
|
|
1273
|
+
},
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
name: 'search_codebase',
|
|
1277
|
+
description: 'Atomic tool for searching codebase files based on query patterns. Returns raw file matches with relevance scores. Extracted from ResearchOrchestrator per ADR-018.',
|
|
1278
|
+
inputSchema: {
|
|
1279
|
+
type: 'object',
|
|
1280
|
+
properties: {
|
|
1281
|
+
query: {
|
|
1282
|
+
type: 'string',
|
|
1283
|
+
description: 'Search query (e.g., "Docker configuration", "authentication")',
|
|
1284
|
+
},
|
|
1285
|
+
projectPath: {
|
|
1286
|
+
type: 'string',
|
|
1287
|
+
description: 'Path to project root',
|
|
1288
|
+
default: '.',
|
|
1289
|
+
},
|
|
1290
|
+
scope: {
|
|
1291
|
+
type: 'array',
|
|
1292
|
+
items: { type: 'string' },
|
|
1293
|
+
description: 'Optional file scope patterns (e.g., ["src/**", "config/**"])',
|
|
1294
|
+
},
|
|
1295
|
+
includeContent: {
|
|
1296
|
+
type: 'boolean',
|
|
1297
|
+
description: 'Include file content in results',
|
|
1298
|
+
default: false,
|
|
1299
|
+
},
|
|
1300
|
+
maxFiles: {
|
|
1301
|
+
type: 'number',
|
|
1302
|
+
description: 'Maximum files to return',
|
|
1303
|
+
default: 20,
|
|
1304
|
+
minimum: 1,
|
|
1305
|
+
maximum: 100,
|
|
1306
|
+
},
|
|
1307
|
+
enableTreeSitter: {
|
|
1308
|
+
type: 'boolean',
|
|
1309
|
+
description: 'Use tree-sitter for enhanced analysis',
|
|
1310
|
+
default: true,
|
|
1311
|
+
},
|
|
1312
|
+
relevanceThreshold: {
|
|
1313
|
+
type: 'number',
|
|
1314
|
+
description: 'Minimum relevance threshold (0-1)',
|
|
1315
|
+
default: 0.2,
|
|
1316
|
+
minimum: 0,
|
|
1317
|
+
maximum: 1,
|
|
1318
|
+
},
|
|
1319
|
+
},
|
|
1320
|
+
required: ['query'],
|
|
1321
|
+
},
|
|
1322
|
+
},
|
|
1323
|
+
{
|
|
1324
|
+
name: 'analyze_deployment_progress',
|
|
1325
|
+
description: 'Analyze deployment progress and verify completion with outcome rules',
|
|
1326
|
+
inputSchema: {
|
|
1327
|
+
type: 'object',
|
|
1328
|
+
properties: {
|
|
1329
|
+
analysisType: {
|
|
1330
|
+
type: 'string',
|
|
1331
|
+
enum: ['tasks', 'cicd', 'progress', 'completion', 'comprehensive'],
|
|
1332
|
+
description: 'Type of deployment analysis to perform',
|
|
1333
|
+
default: 'comprehensive',
|
|
1334
|
+
},
|
|
1335
|
+
adrDirectory: {
|
|
1336
|
+
type: 'string',
|
|
1337
|
+
description: 'Directory containing ADR files',
|
|
1338
|
+
default: 'docs/adrs',
|
|
1339
|
+
},
|
|
1340
|
+
todoPath: {
|
|
1341
|
+
type: 'string',
|
|
1342
|
+
description: 'Path to TODO.md file for task identification',
|
|
1343
|
+
default: 'TODO.md',
|
|
1344
|
+
},
|
|
1345
|
+
cicdLogs: {
|
|
1346
|
+
type: 'string',
|
|
1347
|
+
description: 'CI/CD pipeline logs for analysis',
|
|
1348
|
+
},
|
|
1349
|
+
pipelineConfig: {
|
|
1350
|
+
type: 'string',
|
|
1351
|
+
description: 'CI/CD pipeline configuration',
|
|
1352
|
+
},
|
|
1353
|
+
deploymentTasks: {
|
|
1354
|
+
type: 'array',
|
|
1355
|
+
items: {
|
|
1356
|
+
type: 'object',
|
|
1357
|
+
properties: {
|
|
1358
|
+
taskId: { type: 'string' },
|
|
1359
|
+
taskName: { type: 'string' },
|
|
1360
|
+
status: { type: 'string' },
|
|
1361
|
+
progress: { type: 'number' },
|
|
1362
|
+
category: { type: 'string' },
|
|
1363
|
+
priority: { type: 'string' },
|
|
1364
|
+
verificationCriteria: { type: 'array', items: { type: 'string' } },
|
|
1365
|
+
expectedOutcome: { type: 'string' },
|
|
1366
|
+
},
|
|
1367
|
+
},
|
|
1368
|
+
description: 'Deployment tasks for progress calculation',
|
|
1369
|
+
},
|
|
1370
|
+
outcomeRules: {
|
|
1371
|
+
type: 'array',
|
|
1372
|
+
items: {
|
|
1373
|
+
type: 'object',
|
|
1374
|
+
properties: {
|
|
1375
|
+
ruleId: { type: 'string' },
|
|
1376
|
+
description: { type: 'string' },
|
|
1377
|
+
criteria: { type: 'array', items: { type: 'string' } },
|
|
1378
|
+
verificationMethod: { type: 'string' },
|
|
1379
|
+
},
|
|
1380
|
+
},
|
|
1381
|
+
description: 'Outcome rules for completion verification',
|
|
1382
|
+
},
|
|
1383
|
+
actualOutcomes: {
|
|
1384
|
+
type: 'array',
|
|
1385
|
+
items: {
|
|
1386
|
+
type: 'object',
|
|
1387
|
+
properties: {
|
|
1388
|
+
taskId: { type: 'string' },
|
|
1389
|
+
outcome: { type: 'string' },
|
|
1390
|
+
evidence: { type: 'array', items: { type: 'string' } },
|
|
1391
|
+
timestamp: { type: 'string' },
|
|
1392
|
+
},
|
|
1393
|
+
},
|
|
1394
|
+
description: 'Actual deployment outcomes',
|
|
1395
|
+
},
|
|
1396
|
+
cicdStatus: {
|
|
1397
|
+
type: 'object',
|
|
1398
|
+
description: 'CI/CD pipeline status data',
|
|
1399
|
+
},
|
|
1400
|
+
environmentStatus: {
|
|
1401
|
+
type: 'object',
|
|
1402
|
+
description: 'Environment status data',
|
|
1403
|
+
},
|
|
1404
|
+
},
|
|
1405
|
+
},
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
name: 'check_ai_execution_status',
|
|
1409
|
+
description: 'Check AI execution configuration and status for debugging prompt-only mode issues',
|
|
1410
|
+
inputSchema: {
|
|
1411
|
+
type: 'object',
|
|
1412
|
+
properties: {},
|
|
1413
|
+
required: [],
|
|
1414
|
+
},
|
|
1415
|
+
},
|
|
1416
|
+
{
|
|
1417
|
+
name: 'get_workflow_guidance',
|
|
1418
|
+
description: 'Get intelligent workflow guidance and tool recommendations based on your goals and project context to achieve expected outcomes efficiently',
|
|
1419
|
+
inputSchema: {
|
|
1420
|
+
type: 'object',
|
|
1421
|
+
properties: {
|
|
1422
|
+
goal: {
|
|
1423
|
+
type: 'string',
|
|
1424
|
+
description: 'What you want to accomplish (e.g., "analyze new project", "document existing decisions", "security audit", "modernize legacy system")',
|
|
1425
|
+
},
|
|
1426
|
+
projectContext: {
|
|
1427
|
+
type: 'string',
|
|
1428
|
+
description: 'Current state of your project (e.g., "new project", "existing project with ADRs", "legacy codebase", "greenfield development")',
|
|
1429
|
+
enum: [
|
|
1430
|
+
'new_project',
|
|
1431
|
+
'existing_with_adrs',
|
|
1432
|
+
'existing_without_adrs',
|
|
1433
|
+
'legacy_codebase',
|
|
1434
|
+
'greenfield',
|
|
1435
|
+
'maintenance_mode',
|
|
1436
|
+
'unknown',
|
|
1437
|
+
],
|
|
1438
|
+
},
|
|
1439
|
+
availableAssets: {
|
|
1440
|
+
type: 'array',
|
|
1441
|
+
items: { type: 'string' },
|
|
1442
|
+
description: 'What assets you already have (e.g., ["PRD.md", "existing ADRs", "codebase", "documentation", "test suite"])',
|
|
1443
|
+
},
|
|
1444
|
+
timeframe: {
|
|
1445
|
+
type: 'string',
|
|
1446
|
+
description: 'Available time/effort level',
|
|
1447
|
+
enum: ['quick_analysis', 'thorough_review', 'comprehensive_audit', 'ongoing_process'],
|
|
1448
|
+
},
|
|
1449
|
+
primaryConcerns: {
|
|
1450
|
+
type: 'array',
|
|
1451
|
+
items: { type: 'string' },
|
|
1452
|
+
description: 'Main areas of concern (e.g., ["security", "performance", "maintainability", "scalability", "compliance"])',
|
|
1453
|
+
},
|
|
1454
|
+
},
|
|
1455
|
+
required: ['goal', 'projectContext'],
|
|
1456
|
+
},
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
name: 'get_development_guidance',
|
|
1460
|
+
description: 'Get comprehensive development guidance that translates architectural decisions and workflow recommendations into specific coding tasks, implementation patterns, and development roadmap',
|
|
1461
|
+
inputSchema: {
|
|
1462
|
+
type: 'object',
|
|
1463
|
+
properties: {
|
|
1464
|
+
developmentPhase: {
|
|
1465
|
+
type: 'string',
|
|
1466
|
+
description: 'Current development phase',
|
|
1467
|
+
enum: [
|
|
1468
|
+
'planning',
|
|
1469
|
+
'setup',
|
|
1470
|
+
'implementation',
|
|
1471
|
+
'testing',
|
|
1472
|
+
'deployment',
|
|
1473
|
+
'maintenance',
|
|
1474
|
+
'refactoring',
|
|
1475
|
+
],
|
|
1476
|
+
},
|
|
1477
|
+
adrsToImplement: {
|
|
1478
|
+
type: 'array',
|
|
1479
|
+
items: { type: 'string' },
|
|
1480
|
+
description: 'List of ADR titles or file paths that need to be implemented in code',
|
|
1481
|
+
},
|
|
1482
|
+
technologyStack: {
|
|
1483
|
+
type: 'array',
|
|
1484
|
+
items: { type: 'string' },
|
|
1485
|
+
description: 'Current technology stack (e.g., ["TypeScript", "React", "Node.js", "PostgreSQL", "Docker"])',
|
|
1486
|
+
},
|
|
1487
|
+
currentProgress: {
|
|
1488
|
+
type: 'string',
|
|
1489
|
+
description: 'What has already been implemented or current state of development',
|
|
1490
|
+
},
|
|
1491
|
+
teamContext: {
|
|
1492
|
+
type: 'object',
|
|
1493
|
+
properties: {
|
|
1494
|
+
size: {
|
|
1495
|
+
type: 'string',
|
|
1496
|
+
enum: ['solo', 'small_team', 'medium_team', 'large_team'],
|
|
1497
|
+
},
|
|
1498
|
+
experienceLevel: {
|
|
1499
|
+
type: 'string',
|
|
1500
|
+
enum: ['junior', 'mixed', 'senior', 'expert'],
|
|
1501
|
+
},
|
|
1502
|
+
},
|
|
1503
|
+
},
|
|
1504
|
+
timeline: {
|
|
1505
|
+
type: 'string',
|
|
1506
|
+
description: 'Development timeline or deadline constraints',
|
|
1507
|
+
},
|
|
1508
|
+
focusAreas: {
|
|
1509
|
+
type: 'array',
|
|
1510
|
+
items: { type: 'string' },
|
|
1511
|
+
description: 'Specific areas to focus on (e.g., ["API design", "database schema", "testing strategy", "deployment pipeline"])',
|
|
1512
|
+
},
|
|
1513
|
+
},
|
|
1514
|
+
required: ['developmentPhase'],
|
|
1515
|
+
},
|
|
1516
|
+
},
|
|
1517
|
+
{
|
|
1518
|
+
name: 'list_roots',
|
|
1519
|
+
description: 'List available file system roots that can be accessed. Use this to discover what directories are available before reading files.',
|
|
1520
|
+
inputSchema: {
|
|
1521
|
+
type: 'object',
|
|
1522
|
+
properties: {},
|
|
1523
|
+
},
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
name: 'read_directory',
|
|
1527
|
+
description: 'List files and folders in a directory. Use this to explore the file structure within accessible roots.',
|
|
1528
|
+
inputSchema: {
|
|
1529
|
+
type: 'object',
|
|
1530
|
+
properties: {
|
|
1531
|
+
path: {
|
|
1532
|
+
type: 'string',
|
|
1533
|
+
description: 'Directory path to list (relative to project root or absolute within roots)',
|
|
1534
|
+
},
|
|
1535
|
+
},
|
|
1536
|
+
required: ['path'],
|
|
1537
|
+
},
|
|
1538
|
+
},
|
|
1539
|
+
{
|
|
1540
|
+
name: 'read_file',
|
|
1541
|
+
description: 'Read contents of a file',
|
|
1542
|
+
inputSchema: {
|
|
1543
|
+
type: 'object',
|
|
1544
|
+
properties: {
|
|
1545
|
+
filePath: {
|
|
1546
|
+
type: 'string',
|
|
1547
|
+
description: 'Path to the file to read',
|
|
1548
|
+
},
|
|
1549
|
+
path: {
|
|
1550
|
+
type: 'string',
|
|
1551
|
+
description: 'Path to the file to read (alias for filePath)',
|
|
1552
|
+
},
|
|
1553
|
+
},
|
|
1554
|
+
required: [],
|
|
1555
|
+
},
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
name: 'write_file',
|
|
1559
|
+
description: 'Write content to a file',
|
|
1560
|
+
inputSchema: {
|
|
1561
|
+
type: 'object',
|
|
1562
|
+
properties: {
|
|
1563
|
+
path: {
|
|
1564
|
+
type: 'string',
|
|
1565
|
+
description: 'Path to the file to write',
|
|
1566
|
+
},
|
|
1567
|
+
content: {
|
|
1568
|
+
type: 'string',
|
|
1569
|
+
description: 'Content to write to the file',
|
|
1570
|
+
},
|
|
1571
|
+
},
|
|
1572
|
+
required: ['path', 'content'],
|
|
1573
|
+
},
|
|
1574
|
+
},
|
|
1575
|
+
{
|
|
1576
|
+
name: 'list_directory',
|
|
1577
|
+
description: 'List contents of a directory',
|
|
1578
|
+
inputSchema: {
|
|
1579
|
+
type: 'object',
|
|
1580
|
+
properties: {
|
|
1581
|
+
path: {
|
|
1582
|
+
type: 'string',
|
|
1583
|
+
description: 'Path to the directory to list',
|
|
1584
|
+
},
|
|
1585
|
+
},
|
|
1586
|
+
required: ['path'],
|
|
1587
|
+
},
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
name: 'generate_deployment_guidance',
|
|
1591
|
+
description: 'Generate deployment guidance and instructions from ADRs with environment-specific configurations',
|
|
1592
|
+
inputSchema: {
|
|
1593
|
+
type: 'object',
|
|
1594
|
+
properties: {
|
|
1595
|
+
adrDirectory: {
|
|
1596
|
+
type: 'string',
|
|
1597
|
+
default: 'docs/adrs',
|
|
1598
|
+
description: 'Directory containing ADR files',
|
|
1599
|
+
},
|
|
1600
|
+
environment: {
|
|
1601
|
+
type: 'string',
|
|
1602
|
+
enum: ['development', 'staging', 'production', 'all'],
|
|
1603
|
+
default: 'production',
|
|
1604
|
+
description: 'Target deployment environment',
|
|
1605
|
+
},
|
|
1606
|
+
format: {
|
|
1607
|
+
type: 'string',
|
|
1608
|
+
enum: ['markdown', 'scripts', 'structured', 'all'],
|
|
1609
|
+
default: 'markdown',
|
|
1610
|
+
description: 'Output format for guidance',
|
|
1611
|
+
},
|
|
1612
|
+
projectPath: {
|
|
1613
|
+
type: 'string',
|
|
1614
|
+
description: 'Project root path (optional, uses configured PROJECT_PATH if not provided)',
|
|
1615
|
+
},
|
|
1616
|
+
includeScripts: {
|
|
1617
|
+
type: 'boolean',
|
|
1618
|
+
default: true,
|
|
1619
|
+
description: 'Generate deployment scripts',
|
|
1620
|
+
},
|
|
1621
|
+
includeConfigs: {
|
|
1622
|
+
type: 'boolean',
|
|
1623
|
+
default: true,
|
|
1624
|
+
description: 'Generate configuration files',
|
|
1625
|
+
},
|
|
1626
|
+
includeValidation: {
|
|
1627
|
+
type: 'boolean',
|
|
1628
|
+
default: true,
|
|
1629
|
+
description: 'Include validation and health checks',
|
|
1630
|
+
},
|
|
1631
|
+
technologyFilter: {
|
|
1632
|
+
type: 'array',
|
|
1633
|
+
items: {
|
|
1634
|
+
type: 'string',
|
|
1635
|
+
enum: [
|
|
1636
|
+
'containerization',
|
|
1637
|
+
'database',
|
|
1638
|
+
'web-server',
|
|
1639
|
+
'cache',
|
|
1640
|
+
'message-queue',
|
|
1641
|
+
'monitoring',
|
|
1642
|
+
'security',
|
|
1643
|
+
'ci-cd',
|
|
1644
|
+
'infrastructure',
|
|
1645
|
+
],
|
|
1646
|
+
},
|
|
1647
|
+
description: 'Filter by specific technology categories',
|
|
1648
|
+
},
|
|
1649
|
+
customRequirements: {
|
|
1650
|
+
type: 'array',
|
|
1651
|
+
items: { type: 'string' },
|
|
1652
|
+
description: 'Additional custom requirements',
|
|
1653
|
+
},
|
|
1654
|
+
includeRollback: {
|
|
1655
|
+
type: 'boolean',
|
|
1656
|
+
default: true,
|
|
1657
|
+
description: 'Include rollback procedures',
|
|
1658
|
+
},
|
|
1659
|
+
generateFiles: {
|
|
1660
|
+
type: 'boolean',
|
|
1661
|
+
default: false,
|
|
1662
|
+
description: 'Actually generate files (vs just guidance)',
|
|
1663
|
+
},
|
|
1664
|
+
},
|
|
1665
|
+
required: [],
|
|
1666
|
+
},
|
|
1667
|
+
},
|
|
1668
|
+
{
|
|
1669
|
+
name: 'smart_git_push',
|
|
1670
|
+
description: 'AI-driven security-focused git push with credential detection, file filtering, and deployment metrics tracking. Tests should be run by calling AI and results provided.',
|
|
1671
|
+
inputSchema: {
|
|
1672
|
+
type: 'object',
|
|
1673
|
+
properties: {
|
|
1674
|
+
branch: {
|
|
1675
|
+
type: 'string',
|
|
1676
|
+
description: 'Target branch for push (optional, uses current branch if not specified)',
|
|
1677
|
+
},
|
|
1678
|
+
message: {
|
|
1679
|
+
type: 'string',
|
|
1680
|
+
description: 'Commit message (optional, commits staged files if provided)',
|
|
1681
|
+
},
|
|
1682
|
+
testResults: {
|
|
1683
|
+
type: 'object',
|
|
1684
|
+
description: 'Test results from AI-executed tests (required for proper deployment tracking)',
|
|
1685
|
+
properties: {
|
|
1686
|
+
success: {
|
|
1687
|
+
type: 'boolean',
|
|
1688
|
+
description: 'Whether all tests passed',
|
|
1689
|
+
},
|
|
1690
|
+
testsRun: {
|
|
1691
|
+
type: 'number',
|
|
1692
|
+
description: 'Total number of tests executed',
|
|
1693
|
+
},
|
|
1694
|
+
testsPassed: {
|
|
1695
|
+
type: 'number',
|
|
1696
|
+
description: 'Number of tests that passed',
|
|
1697
|
+
},
|
|
1698
|
+
testsFailed: {
|
|
1699
|
+
type: 'number',
|
|
1700
|
+
description: 'Number of tests that failed',
|
|
1701
|
+
},
|
|
1702
|
+
duration: {
|
|
1703
|
+
type: 'number',
|
|
1704
|
+
description: 'Test execution duration in seconds',
|
|
1705
|
+
},
|
|
1706
|
+
command: {
|
|
1707
|
+
type: 'string',
|
|
1708
|
+
description: 'Test command that was executed by AI',
|
|
1709
|
+
},
|
|
1710
|
+
output: {
|
|
1711
|
+
type: 'string',
|
|
1712
|
+
description: 'Test execution output',
|
|
1713
|
+
},
|
|
1714
|
+
failureDetails: {
|
|
1715
|
+
type: 'array',
|
|
1716
|
+
items: { type: 'string' },
|
|
1717
|
+
description: 'Details of test failures',
|
|
1718
|
+
},
|
|
1719
|
+
testTypes: {
|
|
1720
|
+
type: 'object',
|
|
1721
|
+
description: 'Results broken down by test type (unit, integration, etc.)',
|
|
1722
|
+
additionalProperties: {
|
|
1723
|
+
type: 'object',
|
|
1724
|
+
properties: {
|
|
1725
|
+
passed: { type: 'number' },
|
|
1726
|
+
failed: { type: 'number' },
|
|
1727
|
+
},
|
|
1728
|
+
},
|
|
1729
|
+
},
|
|
1730
|
+
},
|
|
1731
|
+
required: ['success', 'testsRun', 'testsPassed', 'testsFailed'],
|
|
1732
|
+
},
|
|
1733
|
+
skipSecurity: {
|
|
1734
|
+
type: 'boolean',
|
|
1735
|
+
default: false,
|
|
1736
|
+
description: 'Skip security scanning (NOT RECOMMENDED)',
|
|
1737
|
+
},
|
|
1738
|
+
dryRun: {
|
|
1739
|
+
type: 'boolean',
|
|
1740
|
+
default: false,
|
|
1741
|
+
description: 'Show what would be pushed without actually pushing',
|
|
1742
|
+
},
|
|
1743
|
+
projectPath: {
|
|
1744
|
+
type: 'string',
|
|
1745
|
+
description: 'Path to project directory (defaults to current working directory)',
|
|
1746
|
+
},
|
|
1747
|
+
forceUnsafe: {
|
|
1748
|
+
type: 'boolean',
|
|
1749
|
+
default: false,
|
|
1750
|
+
description: 'Override security blocks and test failures (DANGEROUS)',
|
|
1751
|
+
},
|
|
1752
|
+
},
|
|
1753
|
+
},
|
|
1754
|
+
},
|
|
1755
|
+
{
|
|
1756
|
+
name: 'deployment_readiness',
|
|
1757
|
+
description: 'Comprehensive deployment readiness validation with test failure tracking, deployment history analysis, and hard blocking for unsafe deployments. Integrates with smart_git_push for deployment gating.',
|
|
1758
|
+
inputSchema: {
|
|
1759
|
+
type: 'object',
|
|
1760
|
+
properties: {
|
|
1761
|
+
operation: {
|
|
1762
|
+
type: 'string',
|
|
1763
|
+
enum: [
|
|
1764
|
+
'check_readiness',
|
|
1765
|
+
'validate_production',
|
|
1766
|
+
'test_validation',
|
|
1767
|
+
'deployment_history',
|
|
1768
|
+
'full_audit',
|
|
1769
|
+
'emergency_override',
|
|
1770
|
+
],
|
|
1771
|
+
description: 'Type of deployment readiness check to perform',
|
|
1772
|
+
},
|
|
1773
|
+
projectPath: {
|
|
1774
|
+
type: 'string',
|
|
1775
|
+
description: 'Path to project directory (defaults to current working directory)',
|
|
1776
|
+
},
|
|
1777
|
+
targetEnvironment: {
|
|
1778
|
+
type: 'string',
|
|
1779
|
+
enum: ['staging', 'production', 'integration'],
|
|
1780
|
+
default: 'production',
|
|
1781
|
+
description: 'Target deployment environment',
|
|
1782
|
+
},
|
|
1783
|
+
strictMode: {
|
|
1784
|
+
type: 'boolean',
|
|
1785
|
+
default: true,
|
|
1786
|
+
description: 'Enable strict validation (recommended for production)',
|
|
1787
|
+
},
|
|
1788
|
+
allowMockCode: {
|
|
1789
|
+
type: 'boolean',
|
|
1790
|
+
default: false,
|
|
1791
|
+
description: 'Allow mock code in deployment (NOT RECOMMENDED)',
|
|
1792
|
+
},
|
|
1793
|
+
productionCodeThreshold: {
|
|
1794
|
+
type: 'number',
|
|
1795
|
+
default: 85,
|
|
1796
|
+
description: 'Minimum production code quality score (0-100)',
|
|
1797
|
+
},
|
|
1798
|
+
mockCodeMaxAllowed: {
|
|
1799
|
+
type: 'number',
|
|
1800
|
+
default: 0,
|
|
1801
|
+
description: 'Maximum mock code indicators allowed',
|
|
1802
|
+
},
|
|
1803
|
+
maxTestFailures: {
|
|
1804
|
+
type: 'number',
|
|
1805
|
+
default: 0,
|
|
1806
|
+
description: 'Maximum test failures allowed (0 = zero tolerance)',
|
|
1807
|
+
},
|
|
1808
|
+
requireTestCoverage: {
|
|
1809
|
+
type: 'number',
|
|
1810
|
+
default: 80,
|
|
1811
|
+
description: 'Minimum test coverage percentage required',
|
|
1812
|
+
},
|
|
1813
|
+
blockOnFailingTests: {
|
|
1814
|
+
type: 'boolean',
|
|
1815
|
+
default: true,
|
|
1816
|
+
description: 'Block deployment if tests are failing',
|
|
1817
|
+
},
|
|
1818
|
+
testSuiteRequired: {
|
|
1819
|
+
type: 'array',
|
|
1820
|
+
items: { type: 'string' },
|
|
1821
|
+
default: [],
|
|
1822
|
+
description: 'Required test suites that must pass',
|
|
1823
|
+
},
|
|
1824
|
+
maxRecentFailures: {
|
|
1825
|
+
type: 'number',
|
|
1826
|
+
default: 2,
|
|
1827
|
+
description: 'Maximum recent deployment failures allowed',
|
|
1828
|
+
},
|
|
1829
|
+
deploymentSuccessThreshold: {
|
|
1830
|
+
type: 'number',
|
|
1831
|
+
default: 80,
|
|
1832
|
+
description: 'Minimum deployment success rate required (%)',
|
|
1833
|
+
},
|
|
1834
|
+
blockOnRecentFailures: {
|
|
1835
|
+
type: 'boolean',
|
|
1836
|
+
default: true,
|
|
1837
|
+
description: 'Block if recent deployments failed',
|
|
1838
|
+
},
|
|
1839
|
+
rollbackFrequencyThreshold: {
|
|
1840
|
+
type: 'number',
|
|
1841
|
+
default: 20,
|
|
1842
|
+
description: 'Maximum rollback frequency allowed (%)',
|
|
1843
|
+
},
|
|
1844
|
+
requireAdrCompliance: {
|
|
1845
|
+
type: 'boolean',
|
|
1846
|
+
default: true,
|
|
1847
|
+
description: 'Require ADR compliance validation',
|
|
1848
|
+
},
|
|
1849
|
+
integrateTodoTasks: {
|
|
1850
|
+
type: 'boolean',
|
|
1851
|
+
default: true,
|
|
1852
|
+
description: 'Auto-create blocking tasks for issues',
|
|
1853
|
+
},
|
|
1854
|
+
updateHealthScoring: {
|
|
1855
|
+
type: 'boolean',
|
|
1856
|
+
default: true,
|
|
1857
|
+
description: 'Update project health scores',
|
|
1858
|
+
},
|
|
1859
|
+
triggerSmartGitPush: {
|
|
1860
|
+
type: 'boolean',
|
|
1861
|
+
default: false,
|
|
1862
|
+
description: 'Trigger smart git push validation',
|
|
1863
|
+
},
|
|
1864
|
+
emergencyBypass: {
|
|
1865
|
+
type: 'boolean',
|
|
1866
|
+
default: false,
|
|
1867
|
+
description: 'Emergency bypass for critical fixes',
|
|
1868
|
+
},
|
|
1869
|
+
businessJustification: {
|
|
1870
|
+
type: 'string',
|
|
1871
|
+
description: 'Business justification for overrides (required for emergency_override)',
|
|
1872
|
+
},
|
|
1873
|
+
approvalRequired: {
|
|
1874
|
+
type: 'boolean',
|
|
1875
|
+
default: true,
|
|
1876
|
+
description: 'Require approval for overrides',
|
|
1877
|
+
},
|
|
1878
|
+
enableMemoryIntegration: {
|
|
1879
|
+
type: 'boolean',
|
|
1880
|
+
description: 'Enable memory entity storage for deployment assessment tracking and historical analysis',
|
|
1881
|
+
default: true,
|
|
1882
|
+
},
|
|
1883
|
+
migrateExistingHistory: {
|
|
1884
|
+
type: 'boolean',
|
|
1885
|
+
description: 'Migrate existing JSON-based deployment history to memory entities',
|
|
1886
|
+
default: true,
|
|
1887
|
+
},
|
|
1888
|
+
},
|
|
1889
|
+
required: ['operation'],
|
|
1890
|
+
},
|
|
1891
|
+
},
|
|
1892
|
+
{
|
|
1893
|
+
name: 'release_tracking',
|
|
1894
|
+
description: 'Track releases mapped to ADR decisions. Generates changelogs, manages milestones, compares releases, and assesses release readiness. Supports greenfield and brownfield projects. Writes CHANGELOG.md, creates GitHub Releases and Milestones.',
|
|
1895
|
+
inputSchema: {
|
|
1896
|
+
type: 'object',
|
|
1897
|
+
properties: {
|
|
1898
|
+
operation: {
|
|
1899
|
+
type: 'string',
|
|
1900
|
+
enum: [
|
|
1901
|
+
'detect_releases',
|
|
1902
|
+
'track_release',
|
|
1903
|
+
'generate_changelog',
|
|
1904
|
+
'compare_releases',
|
|
1905
|
+
'release_summary',
|
|
1906
|
+
'next_release_preview',
|
|
1907
|
+
'create_milestone',
|
|
1908
|
+
'sync_milestones',
|
|
1909
|
+
'push_local_milestones',
|
|
1910
|
+
],
|
|
1911
|
+
description: 'Operation to perform',
|
|
1912
|
+
},
|
|
1913
|
+
projectPath: {
|
|
1914
|
+
type: 'string',
|
|
1915
|
+
description: 'Project root path (defaults to current working directory)',
|
|
1916
|
+
},
|
|
1917
|
+
version: {
|
|
1918
|
+
type: 'string',
|
|
1919
|
+
description: 'Release version to track (e.g., v2.3.0)',
|
|
1920
|
+
},
|
|
1921
|
+
compareFrom: {
|
|
1922
|
+
type: 'string',
|
|
1923
|
+
description: 'Starting version for comparison',
|
|
1924
|
+
},
|
|
1925
|
+
compareTo: {
|
|
1926
|
+
type: 'string',
|
|
1927
|
+
description: 'Ending version for comparison',
|
|
1928
|
+
},
|
|
1929
|
+
format: {
|
|
1930
|
+
type: 'string',
|
|
1931
|
+
enum: ['markdown', 'keep-a-changelog', 'conventional'],
|
|
1932
|
+
default: 'keep-a-changelog',
|
|
1933
|
+
description: 'Changelog output format',
|
|
1934
|
+
},
|
|
1935
|
+
includeAdrLinks: {
|
|
1936
|
+
type: 'boolean',
|
|
1937
|
+
default: true,
|
|
1938
|
+
description: 'Include ADR references in changelog',
|
|
1939
|
+
},
|
|
1940
|
+
includeCommitHashes: {
|
|
1941
|
+
type: 'boolean',
|
|
1942
|
+
default: false,
|
|
1943
|
+
description: 'Include commit hashes in output',
|
|
1944
|
+
},
|
|
1945
|
+
groupByAdr: {
|
|
1946
|
+
type: 'boolean',
|
|
1947
|
+
default: false,
|
|
1948
|
+
description: 'Group changelog entries by ADR',
|
|
1949
|
+
},
|
|
1950
|
+
writeToFile: {
|
|
1951
|
+
type: 'boolean',
|
|
1952
|
+
default: false,
|
|
1953
|
+
description: 'Write CHANGELOG.md to repo',
|
|
1954
|
+
},
|
|
1955
|
+
includeReadiness: {
|
|
1956
|
+
type: 'boolean',
|
|
1957
|
+
default: true,
|
|
1958
|
+
description: 'Include release readiness score',
|
|
1959
|
+
},
|
|
1960
|
+
includeTimeline: {
|
|
1961
|
+
type: 'boolean',
|
|
1962
|
+
default: true,
|
|
1963
|
+
description: 'Include mermaid timeline diagram',
|
|
1964
|
+
},
|
|
1965
|
+
milestoneTitle: {
|
|
1966
|
+
type: 'string',
|
|
1967
|
+
description: 'GitHub milestone title (for create_milestone)',
|
|
1968
|
+
},
|
|
1969
|
+
milestoneDescription: {
|
|
1970
|
+
type: 'string',
|
|
1971
|
+
description: 'GitHub milestone description',
|
|
1972
|
+
},
|
|
1973
|
+
milestoneDueDate: {
|
|
1974
|
+
type: 'string',
|
|
1975
|
+
description: 'Milestone due date (YYYY-MM-DD)',
|
|
1976
|
+
},
|
|
1977
|
+
createGithubRelease: {
|
|
1978
|
+
type: 'boolean',
|
|
1979
|
+
default: false,
|
|
1980
|
+
description: 'Create a GitHub Release (requires gh CLI)',
|
|
1981
|
+
},
|
|
1982
|
+
syncGithubMilestones: {
|
|
1983
|
+
type: 'boolean',
|
|
1984
|
+
default: false,
|
|
1985
|
+
description: 'Sync milestones to GitHub (requires gh CLI)',
|
|
1986
|
+
},
|
|
1987
|
+
updateTodo: {
|
|
1988
|
+
type: 'boolean',
|
|
1989
|
+
default: false,
|
|
1990
|
+
description: 'Update TODO.md with milestone status',
|
|
1991
|
+
},
|
|
1992
|
+
localOnly: {
|
|
1993
|
+
type: 'boolean',
|
|
1994
|
+
default: false,
|
|
1995
|
+
description: 'For create_milestone: persist locally instead of calling gh CLI. Useful when gh auth is unavailable.',
|
|
1996
|
+
},
|
|
1997
|
+
writeReleasePlan: {
|
|
1998
|
+
type: 'boolean',
|
|
1999
|
+
default: false,
|
|
2000
|
+
description: 'For create_milestone/push_local_milestones: also render local milestones into RELEASE_PLAN.md (bounded section).',
|
|
2001
|
+
},
|
|
2002
|
+
releasePlanPath: {
|
|
2003
|
+
type: 'string',
|
|
2004
|
+
default: 'RELEASE_PLAN.md',
|
|
2005
|
+
description: 'Path to RELEASE_PLAN.md (relative to projectPath).',
|
|
2006
|
+
},
|
|
2007
|
+
},
|
|
2008
|
+
required: ['operation'],
|
|
2009
|
+
},
|
|
2010
|
+
},
|
|
2011
|
+
{
|
|
2012
|
+
name: 'generate_adr_todo',
|
|
2013
|
+
description: 'Generate TODO.md from ADRs with comprehensive task breakdown. Decomposes each ADR into paired test+production tasks (TDD), links tasks to release milestones, and preserves manual edits via a bounded HTML-comment section. Re-runs are idempotent; tasks for deleted/superseded ADRs move to a Stale Tasks section.',
|
|
2014
|
+
inputSchema: {
|
|
2015
|
+
type: 'object',
|
|
2016
|
+
properties: {
|
|
2017
|
+
adrDirectory: {
|
|
2018
|
+
type: 'string',
|
|
2019
|
+
default: 'docs/adrs',
|
|
2020
|
+
description: 'Directory containing ADR files (relative to projectPath)',
|
|
2021
|
+
},
|
|
2022
|
+
scope: {
|
|
2023
|
+
type: 'string',
|
|
2024
|
+
enum: ['all', 'pending', 'accepted'],
|
|
2025
|
+
default: 'pending',
|
|
2026
|
+
description: 'Which ADRs to decompose: all, pending (proposed/draft), or accepted only',
|
|
2027
|
+
},
|
|
2028
|
+
projectPath: {
|
|
2029
|
+
type: 'string',
|
|
2030
|
+
description: 'Project root path (defaults to current working directory)',
|
|
2031
|
+
},
|
|
2032
|
+
todoPath: {
|
|
2033
|
+
type: 'string',
|
|
2034
|
+
default: 'TODO.md',
|
|
2035
|
+
description: 'Output TODO file (relative to projectPath)',
|
|
2036
|
+
},
|
|
2037
|
+
phase: {
|
|
2038
|
+
type: 'string',
|
|
2039
|
+
enum: ['both', 'test', 'production'],
|
|
2040
|
+
default: 'both',
|
|
2041
|
+
description: 'TDD pairing — "both" emits paired test+production tasks (default), "production" or "test" narrows output',
|
|
2042
|
+
},
|
|
2043
|
+
linkToMilestones: {
|
|
2044
|
+
type: 'boolean',
|
|
2045
|
+
default: true,
|
|
2046
|
+
description: 'Link generated tasks to release milestones (local + GitHub merged)',
|
|
2047
|
+
},
|
|
2048
|
+
dryRun: {
|
|
2049
|
+
type: 'boolean',
|
|
2050
|
+
default: false,
|
|
2051
|
+
description: 'Compute changes but do not write TODO.md (preview only)',
|
|
2052
|
+
},
|
|
2053
|
+
},
|
|
2054
|
+
required: [],
|
|
2055
|
+
},
|
|
2056
|
+
},
|
|
2057
|
+
{
|
|
2058
|
+
name: 'troubleshoot_guided_workflow',
|
|
2059
|
+
description: 'Structured failure analysis and test plan generation with memory integration for troubleshooting session tracking and intelligent ADR/research suggestion capabilities - provide JSON failure info to get specific test commands',
|
|
2060
|
+
inputSchema: {
|
|
2061
|
+
type: 'object',
|
|
2062
|
+
properties: {
|
|
2063
|
+
operation: {
|
|
2064
|
+
type: 'string',
|
|
2065
|
+
enum: ['analyze_failure', 'generate_test_plan', 'full_workflow'],
|
|
2066
|
+
description: 'Type of troubleshooting operation',
|
|
2067
|
+
},
|
|
2068
|
+
failure: {
|
|
2069
|
+
type: 'object',
|
|
2070
|
+
properties: {
|
|
2071
|
+
failureType: {
|
|
2072
|
+
type: 'string',
|
|
2073
|
+
enum: [
|
|
2074
|
+
'test_failure',
|
|
2075
|
+
'deployment_failure',
|
|
2076
|
+
'build_failure',
|
|
2077
|
+
'runtime_error',
|
|
2078
|
+
'performance_issue',
|
|
2079
|
+
'security_issue',
|
|
2080
|
+
'other',
|
|
2081
|
+
],
|
|
2082
|
+
description: 'Type of failure',
|
|
2083
|
+
},
|
|
2084
|
+
failureDetails: {
|
|
2085
|
+
type: 'object',
|
|
2086
|
+
properties: {
|
|
2087
|
+
command: {
|
|
2088
|
+
type: 'string',
|
|
2089
|
+
description: 'Command that failed (optional)',
|
|
2090
|
+
},
|
|
2091
|
+
exitCode: {
|
|
2092
|
+
type: 'number',
|
|
2093
|
+
description: 'Exit code of failed process (optional)',
|
|
2094
|
+
},
|
|
2095
|
+
errorMessage: {
|
|
2096
|
+
type: 'string',
|
|
2097
|
+
description: 'Primary error message',
|
|
2098
|
+
},
|
|
2099
|
+
stackTrace: {
|
|
2100
|
+
type: 'string',
|
|
2101
|
+
description: 'Stack trace if available (optional)',
|
|
2102
|
+
},
|
|
2103
|
+
logOutput: {
|
|
2104
|
+
type: 'string',
|
|
2105
|
+
description: 'Relevant log output (optional)',
|
|
2106
|
+
},
|
|
2107
|
+
environment: {
|
|
2108
|
+
type: 'string',
|
|
2109
|
+
description: 'Environment where failure occurred (optional)',
|
|
2110
|
+
},
|
|
2111
|
+
timestamp: {
|
|
2112
|
+
type: 'string',
|
|
2113
|
+
description: 'When the failure occurred (optional)',
|
|
2114
|
+
},
|
|
2115
|
+
affectedFiles: {
|
|
2116
|
+
type: 'array',
|
|
2117
|
+
items: { type: 'string' },
|
|
2118
|
+
description: 'Files involved in the failure (optional)',
|
|
2119
|
+
},
|
|
2120
|
+
},
|
|
2121
|
+
required: ['errorMessage'],
|
|
2122
|
+
description: 'Detailed failure information',
|
|
2123
|
+
},
|
|
2124
|
+
context: {
|
|
2125
|
+
type: 'object',
|
|
2126
|
+
properties: {
|
|
2127
|
+
recentChanges: {
|
|
2128
|
+
type: 'string',
|
|
2129
|
+
description: 'Recent changes that might be related (optional)',
|
|
2130
|
+
},
|
|
2131
|
+
reproducible: {
|
|
2132
|
+
type: 'boolean',
|
|
2133
|
+
description: 'Whether the failure is reproducible (optional)',
|
|
2134
|
+
},
|
|
2135
|
+
frequency: {
|
|
2136
|
+
type: 'string',
|
|
2137
|
+
description: 'How often this failure occurs (optional)',
|
|
2138
|
+
},
|
|
2139
|
+
impact: {
|
|
2140
|
+
type: 'string',
|
|
2141
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
2142
|
+
description: 'Impact level of the failure (optional)',
|
|
2143
|
+
},
|
|
2144
|
+
},
|
|
2145
|
+
description: 'Additional context about the failure (optional)',
|
|
2146
|
+
},
|
|
2147
|
+
},
|
|
2148
|
+
required: ['failureType', 'failureDetails'],
|
|
2149
|
+
description: 'Structured failure information (required for analyze_failure and generate_test_plan)',
|
|
2150
|
+
},
|
|
2151
|
+
projectPath: {
|
|
2152
|
+
type: 'string',
|
|
2153
|
+
description: 'Path to project directory (optional)',
|
|
2154
|
+
},
|
|
2155
|
+
adrDirectory: {
|
|
2156
|
+
type: 'string',
|
|
2157
|
+
description: 'ADR directory path',
|
|
2158
|
+
default: 'docs/adrs',
|
|
2159
|
+
},
|
|
2160
|
+
todoPath: {
|
|
2161
|
+
type: 'string',
|
|
2162
|
+
description: 'Path to TODO.md file',
|
|
2163
|
+
default: 'TODO.md',
|
|
2164
|
+
},
|
|
2165
|
+
enableMemoryIntegration: {
|
|
2166
|
+
type: 'boolean',
|
|
2167
|
+
description: 'Enable memory entity storage for troubleshooting session tracking and pattern recognition',
|
|
2168
|
+
default: true,
|
|
2169
|
+
},
|
|
2170
|
+
enablePatternRecognition: {
|
|
2171
|
+
type: 'boolean',
|
|
2172
|
+
description: 'Enable automatic pattern recognition and failure classification',
|
|
2173
|
+
default: true,
|
|
2174
|
+
},
|
|
2175
|
+
enableAdrSuggestion: {
|
|
2176
|
+
type: 'boolean',
|
|
2177
|
+
description: 'Enable automatic ADR suggestion based on recurring failures',
|
|
2178
|
+
default: true,
|
|
2179
|
+
},
|
|
2180
|
+
enableResearchGeneration: {
|
|
2181
|
+
type: 'boolean',
|
|
2182
|
+
description: 'Enable automatic research question generation for persistent problems',
|
|
2183
|
+
default: true,
|
|
2184
|
+
},
|
|
2185
|
+
},
|
|
2186
|
+
required: ['operation'],
|
|
2187
|
+
},
|
|
2188
|
+
},
|
|
2189
|
+
{
|
|
2190
|
+
name: 'smart_score',
|
|
2191
|
+
description: 'Central coordination for project health scoring system - recalculate, sync, diagnose, optimize, and reset scores across all MCP tools',
|
|
2192
|
+
inputSchema: {
|
|
2193
|
+
type: 'object',
|
|
2194
|
+
properties: {
|
|
2195
|
+
operation: {
|
|
2196
|
+
type: 'string',
|
|
2197
|
+
enum: [
|
|
2198
|
+
'recalculate_scores',
|
|
2199
|
+
'sync_scores',
|
|
2200
|
+
'diagnose_scores',
|
|
2201
|
+
'optimize_weights',
|
|
2202
|
+
'reset_scores',
|
|
2203
|
+
'get_score_trends',
|
|
2204
|
+
'get_intent_scores',
|
|
2205
|
+
],
|
|
2206
|
+
description: 'Smart scoring operation to perform',
|
|
2207
|
+
},
|
|
2208
|
+
projectPath: {
|
|
2209
|
+
type: 'string',
|
|
2210
|
+
description: 'Path to project directory',
|
|
2211
|
+
},
|
|
2212
|
+
components: {
|
|
2213
|
+
type: 'array',
|
|
2214
|
+
items: {
|
|
2215
|
+
type: 'string',
|
|
2216
|
+
enum: [
|
|
2217
|
+
'task_completion',
|
|
2218
|
+
'deployment_readiness',
|
|
2219
|
+
'architecture_compliance',
|
|
2220
|
+
'security_posture',
|
|
2221
|
+
'code_quality',
|
|
2222
|
+
'all',
|
|
2223
|
+
],
|
|
2224
|
+
},
|
|
2225
|
+
default: ['all'],
|
|
2226
|
+
description: 'Score components to recalculate (for recalculate_scores operation)',
|
|
2227
|
+
},
|
|
2228
|
+
forceUpdate: {
|
|
2229
|
+
type: 'boolean',
|
|
2230
|
+
default: false,
|
|
2231
|
+
description: 'Force update even if data is fresh',
|
|
2232
|
+
},
|
|
2233
|
+
updateSources: {
|
|
2234
|
+
type: 'boolean',
|
|
2235
|
+
default: true,
|
|
2236
|
+
description: 'Trigger source tool updates before recalculating',
|
|
2237
|
+
},
|
|
2238
|
+
todoPath: {
|
|
2239
|
+
type: 'string',
|
|
2240
|
+
default: 'TODO.md',
|
|
2241
|
+
description: 'Path to TODO.md file (for sync_scores operation)',
|
|
2242
|
+
},
|
|
2243
|
+
triggerTools: {
|
|
2244
|
+
type: 'array',
|
|
2245
|
+
items: {
|
|
2246
|
+
type: 'string',
|
|
2247
|
+
enum: [
|
|
2248
|
+
'smart_git_push',
|
|
2249
|
+
'compare_adr_progress',
|
|
2250
|
+
'analyze_content_security',
|
|
2251
|
+
'validate_rules',
|
|
2252
|
+
],
|
|
2253
|
+
},
|
|
2254
|
+
description: 'Tools to trigger for fresh data (for sync_scores operation)',
|
|
2255
|
+
},
|
|
2256
|
+
rebalanceWeights: {
|
|
2257
|
+
type: 'boolean',
|
|
2258
|
+
default: false,
|
|
2259
|
+
description: 'Recalculate optimal scoring weights (for sync_scores operation)',
|
|
2260
|
+
},
|
|
2261
|
+
includeHistory: {
|
|
2262
|
+
type: 'boolean',
|
|
2263
|
+
default: true,
|
|
2264
|
+
description: 'Include score history analysis (for diagnose_scores operation)',
|
|
2265
|
+
},
|
|
2266
|
+
checkDataFreshness: {
|
|
2267
|
+
type: 'boolean',
|
|
2268
|
+
default: true,
|
|
2269
|
+
description: 'Validate data freshness across tools (for diagnose_scores operation)',
|
|
2270
|
+
},
|
|
2271
|
+
suggestImprovements: {
|
|
2272
|
+
type: 'boolean',
|
|
2273
|
+
default: true,
|
|
2274
|
+
description: 'Provide score improvement suggestions (for diagnose_scores operation)',
|
|
2275
|
+
},
|
|
2276
|
+
analysisMode: {
|
|
2277
|
+
type: 'string',
|
|
2278
|
+
enum: ['current_state', 'historical_data', 'project_type'],
|
|
2279
|
+
default: 'current_state',
|
|
2280
|
+
description: 'Method for weight optimization (for optimize_weights operation)',
|
|
2281
|
+
},
|
|
2282
|
+
customWeights: {
|
|
2283
|
+
type: 'object',
|
|
2284
|
+
properties: {
|
|
2285
|
+
taskCompletion: { type: 'number', minimum: 0, maximum: 1 },
|
|
2286
|
+
deploymentReadiness: { type: 'number', minimum: 0, maximum: 1 },
|
|
2287
|
+
architectureCompliance: { type: 'number', minimum: 0, maximum: 1 },
|
|
2288
|
+
securityPosture: { type: 'number', minimum: 0, maximum: 1 },
|
|
2289
|
+
codeQuality: { type: 'number', minimum: 0, maximum: 1 },
|
|
2290
|
+
},
|
|
2291
|
+
description: 'Custom weight overrides (for optimize_weights operation)',
|
|
2292
|
+
},
|
|
2293
|
+
previewOnly: {
|
|
2294
|
+
type: 'boolean',
|
|
2295
|
+
default: false,
|
|
2296
|
+
description: 'Preview changes without applying (for optimize_weights operation)',
|
|
2297
|
+
},
|
|
2298
|
+
component: {
|
|
2299
|
+
type: 'string',
|
|
2300
|
+
enum: [
|
|
2301
|
+
'task_completion',
|
|
2302
|
+
'deployment_readiness',
|
|
2303
|
+
'architecture_compliance',
|
|
2304
|
+
'security_posture',
|
|
2305
|
+
'code_quality',
|
|
2306
|
+
'all',
|
|
2307
|
+
],
|
|
2308
|
+
default: 'all',
|
|
2309
|
+
description: 'Score component to reset (for reset_scores operation)',
|
|
2310
|
+
},
|
|
2311
|
+
preserveHistory: {
|
|
2312
|
+
type: 'boolean',
|
|
2313
|
+
default: true,
|
|
2314
|
+
description: 'Preserve score history in backup (for reset_scores operation)',
|
|
2315
|
+
},
|
|
2316
|
+
recalculateAfterReset: {
|
|
2317
|
+
type: 'boolean',
|
|
2318
|
+
default: true,
|
|
2319
|
+
description: 'Immediately recalculate after reset (for reset_scores operation)',
|
|
2320
|
+
},
|
|
2321
|
+
intentId: {
|
|
2322
|
+
type: 'string',
|
|
2323
|
+
description: 'Intent ID to get score trends for (for get_intent_scores operation)',
|
|
2324
|
+
},
|
|
2325
|
+
},
|
|
2326
|
+
required: ['operation', 'projectPath'],
|
|
2327
|
+
},
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
name: 'mcp_planning',
|
|
2331
|
+
description: 'Enhanced project planning and workflow management tool - phase-based project management, team resource allocation, progress tracking, risk analysis, and executive reporting',
|
|
2332
|
+
inputSchema: {
|
|
2333
|
+
type: 'object',
|
|
2334
|
+
properties: {
|
|
2335
|
+
operation: {
|
|
2336
|
+
type: 'string',
|
|
2337
|
+
enum: [
|
|
2338
|
+
'create_project',
|
|
2339
|
+
'manage_phases',
|
|
2340
|
+
'track_progress',
|
|
2341
|
+
'manage_resources',
|
|
2342
|
+
'risk_analysis',
|
|
2343
|
+
'generate_reports',
|
|
2344
|
+
],
|
|
2345
|
+
description: 'Project planning operation to perform',
|
|
2346
|
+
},
|
|
2347
|
+
projectPath: {
|
|
2348
|
+
type: 'string',
|
|
2349
|
+
description: 'Project root path',
|
|
2350
|
+
},
|
|
2351
|
+
projectName: {
|
|
2352
|
+
type: 'string',
|
|
2353
|
+
description: 'Project name (for create_project operation)',
|
|
2354
|
+
},
|
|
2355
|
+
description: {
|
|
2356
|
+
type: 'string',
|
|
2357
|
+
description: 'Project description (for create_project operation)',
|
|
2358
|
+
},
|
|
2359
|
+
phases: {
|
|
2360
|
+
type: 'array',
|
|
2361
|
+
items: {
|
|
2362
|
+
type: 'object',
|
|
2363
|
+
properties: {
|
|
2364
|
+
name: { type: 'string' },
|
|
2365
|
+
duration: { type: 'string' },
|
|
2366
|
+
dependencies: {
|
|
2367
|
+
type: 'array',
|
|
2368
|
+
items: { type: 'string' },
|
|
2369
|
+
default: [],
|
|
2370
|
+
},
|
|
2371
|
+
milestones: {
|
|
2372
|
+
type: 'array',
|
|
2373
|
+
items: { type: 'string' },
|
|
2374
|
+
default: [],
|
|
2375
|
+
},
|
|
2376
|
+
},
|
|
2377
|
+
required: ['name', 'duration'],
|
|
2378
|
+
},
|
|
2379
|
+
description: 'Initial project phases (for create_project operation)',
|
|
2380
|
+
},
|
|
2381
|
+
team: {
|
|
2382
|
+
type: 'array',
|
|
2383
|
+
items: {
|
|
2384
|
+
type: 'object',
|
|
2385
|
+
properties: {
|
|
2386
|
+
name: { type: 'string' },
|
|
2387
|
+
role: { type: 'string' },
|
|
2388
|
+
skills: {
|
|
2389
|
+
type: 'array',
|
|
2390
|
+
items: { type: 'string' },
|
|
2391
|
+
default: [],
|
|
2392
|
+
},
|
|
2393
|
+
capacity: { type: 'string' },
|
|
2394
|
+
},
|
|
2395
|
+
required: ['name', 'role', 'capacity'],
|
|
2396
|
+
},
|
|
2397
|
+
default: [],
|
|
2398
|
+
description: 'Team structure (for create_project operation)',
|
|
2399
|
+
},
|
|
2400
|
+
importFromAdrs: {
|
|
2401
|
+
type: 'boolean',
|
|
2402
|
+
default: true,
|
|
2403
|
+
description: 'Import phases from existing ADRs (for create_project operation)',
|
|
2404
|
+
},
|
|
2405
|
+
importFromTodos: {
|
|
2406
|
+
type: 'boolean',
|
|
2407
|
+
default: true,
|
|
2408
|
+
description: 'Import tasks from TODO system (for create_project operation)',
|
|
2409
|
+
},
|
|
2410
|
+
action: {
|
|
2411
|
+
type: 'string',
|
|
2412
|
+
enum: [
|
|
2413
|
+
'list',
|
|
2414
|
+
'create',
|
|
2415
|
+
'update',
|
|
2416
|
+
'delete',
|
|
2417
|
+
'transition',
|
|
2418
|
+
'add',
|
|
2419
|
+
'remove',
|
|
2420
|
+
'allocate',
|
|
2421
|
+
'optimize',
|
|
2422
|
+
],
|
|
2423
|
+
description: 'Management action (for manage_phases/manage_resources operations)',
|
|
2424
|
+
},
|
|
2425
|
+
phaseId: {
|
|
2426
|
+
type: 'string',
|
|
2427
|
+
description: 'Phase ID for phase operations',
|
|
2428
|
+
},
|
|
2429
|
+
phaseData: {
|
|
2430
|
+
type: 'object',
|
|
2431
|
+
properties: {
|
|
2432
|
+
name: { type: 'string' },
|
|
2433
|
+
description: { type: 'string' },
|
|
2434
|
+
estimatedDuration: { type: 'string' },
|
|
2435
|
+
dependencies: {
|
|
2436
|
+
type: 'array',
|
|
2437
|
+
items: { type: 'string' },
|
|
2438
|
+
},
|
|
2439
|
+
milestones: {
|
|
2440
|
+
type: 'array',
|
|
2441
|
+
items: { type: 'string' },
|
|
2442
|
+
},
|
|
2443
|
+
linkedAdrs: {
|
|
2444
|
+
type: 'array',
|
|
2445
|
+
items: { type: 'string' },
|
|
2446
|
+
},
|
|
2447
|
+
},
|
|
2448
|
+
description: 'Phase data for create/update operations',
|
|
2449
|
+
},
|
|
2450
|
+
targetStatus: {
|
|
2451
|
+
type: 'string',
|
|
2452
|
+
enum: ['planning', 'active', 'completed', 'blocked', 'cancelled'],
|
|
2453
|
+
description: 'Target status for phase transition',
|
|
2454
|
+
},
|
|
2455
|
+
reportType: {
|
|
2456
|
+
type: 'string',
|
|
2457
|
+
enum: [
|
|
2458
|
+
'summary',
|
|
2459
|
+
'detailed',
|
|
2460
|
+
'gantt',
|
|
2461
|
+
'milestones',
|
|
2462
|
+
'risks',
|
|
2463
|
+
'executive',
|
|
2464
|
+
'status',
|
|
2465
|
+
'health',
|
|
2466
|
+
'team_performance',
|
|
2467
|
+
'milestone_tracking',
|
|
2468
|
+
],
|
|
2469
|
+
default: 'summary',
|
|
2470
|
+
description: 'Type of progress report or generated report',
|
|
2471
|
+
},
|
|
2472
|
+
timeframe: {
|
|
2473
|
+
type: 'string',
|
|
2474
|
+
enum: [
|
|
2475
|
+
'current',
|
|
2476
|
+
'weekly',
|
|
2477
|
+
'monthly',
|
|
2478
|
+
'quarterly',
|
|
2479
|
+
'week',
|
|
2480
|
+
'month',
|
|
2481
|
+
'quarter',
|
|
2482
|
+
'project',
|
|
2483
|
+
],
|
|
2484
|
+
default: 'current',
|
|
2485
|
+
description: 'Time frame for reports and tracking',
|
|
2486
|
+
},
|
|
2487
|
+
includeVisuals: {
|
|
2488
|
+
type: 'boolean',
|
|
2489
|
+
default: true,
|
|
2490
|
+
description: 'Include visual progress indicators',
|
|
2491
|
+
},
|
|
2492
|
+
updateTaskProgress: {
|
|
2493
|
+
type: 'boolean',
|
|
2494
|
+
default: true,
|
|
2495
|
+
description: 'Sync progress from TODO system',
|
|
2496
|
+
},
|
|
2497
|
+
memberId: {
|
|
2498
|
+
type: 'string',
|
|
2499
|
+
description: 'Team member ID for resource operations',
|
|
2500
|
+
},
|
|
2501
|
+
memberData: {
|
|
2502
|
+
type: 'object',
|
|
2503
|
+
properties: {
|
|
2504
|
+
name: { type: 'string' },
|
|
2505
|
+
role: { type: 'string' },
|
|
2506
|
+
skills: {
|
|
2507
|
+
type: 'array',
|
|
2508
|
+
items: { type: 'string' },
|
|
2509
|
+
},
|
|
2510
|
+
capacity: { type: 'string' },
|
|
2511
|
+
},
|
|
2512
|
+
description: 'Team member data for resource operations',
|
|
2513
|
+
},
|
|
2514
|
+
allocationData: {
|
|
2515
|
+
type: 'object',
|
|
2516
|
+
properties: {
|
|
2517
|
+
phaseId: { type: 'string' },
|
|
2518
|
+
allocation: {
|
|
2519
|
+
type: 'number',
|
|
2520
|
+
minimum: 0,
|
|
2521
|
+
maximum: 100,
|
|
2522
|
+
},
|
|
2523
|
+
},
|
|
2524
|
+
required: ['phaseId', 'allocation'],
|
|
2525
|
+
description: 'Resource allocation data',
|
|
2526
|
+
},
|
|
2527
|
+
analysisType: {
|
|
2528
|
+
type: 'string',
|
|
2529
|
+
enum: ['automated', 'manual', 'comprehensive'],
|
|
2530
|
+
default: 'comprehensive',
|
|
2531
|
+
description: 'Type of risk analysis',
|
|
2532
|
+
},
|
|
2533
|
+
includeAdrRisks: {
|
|
2534
|
+
type: 'boolean',
|
|
2535
|
+
default: true,
|
|
2536
|
+
description: 'Analyze risks from ADR complexity',
|
|
2537
|
+
},
|
|
2538
|
+
includeDependencyRisks: {
|
|
2539
|
+
type: 'boolean',
|
|
2540
|
+
default: true,
|
|
2541
|
+
description: 'Analyze dependency chain risks',
|
|
2542
|
+
},
|
|
2543
|
+
includeResourceRisks: {
|
|
2544
|
+
type: 'boolean',
|
|
2545
|
+
default: true,
|
|
2546
|
+
description: 'Analyze resource allocation risks',
|
|
2547
|
+
},
|
|
2548
|
+
generateMitigation: {
|
|
2549
|
+
type: 'boolean',
|
|
2550
|
+
default: true,
|
|
2551
|
+
description: 'Generate mitigation strategies',
|
|
2552
|
+
},
|
|
2553
|
+
format: {
|
|
2554
|
+
type: 'string',
|
|
2555
|
+
enum: ['markdown', 'json', 'html'],
|
|
2556
|
+
default: 'markdown',
|
|
2557
|
+
description: 'Report output format',
|
|
2558
|
+
},
|
|
2559
|
+
includeCharts: {
|
|
2560
|
+
type: 'boolean',
|
|
2561
|
+
default: true,
|
|
2562
|
+
description: 'Include progress charts and graphs',
|
|
2563
|
+
},
|
|
2564
|
+
},
|
|
2565
|
+
required: ['operation', 'projectPath'],
|
|
2566
|
+
},
|
|
2567
|
+
},
|
|
2568
|
+
{
|
|
2569
|
+
name: 'interactive_adr_planning',
|
|
2570
|
+
description: 'Interactive guided ADR planning and creation tool - walks users through structured decision-making process with research integration, option evaluation, and automatic ADR generation. TIP: Start by reading @.mcp-server-context.md to understand project context and previous decisions.',
|
|
2571
|
+
inputSchema: {
|
|
2572
|
+
type: 'object',
|
|
2573
|
+
properties: {
|
|
2574
|
+
operation: {
|
|
2575
|
+
type: 'string',
|
|
2576
|
+
enum: [
|
|
2577
|
+
'start_session',
|
|
2578
|
+
'continue_session',
|
|
2579
|
+
'provide_input',
|
|
2580
|
+
'request_research',
|
|
2581
|
+
'evaluate_options',
|
|
2582
|
+
'make_decision',
|
|
2583
|
+
'assess_impact',
|
|
2584
|
+
'plan_implementation',
|
|
2585
|
+
'generate_adr',
|
|
2586
|
+
'update_todos',
|
|
2587
|
+
'get_guidance',
|
|
2588
|
+
'save_session',
|
|
2589
|
+
'complete_session',
|
|
2590
|
+
],
|
|
2591
|
+
description: 'Interactive planning operation to perform',
|
|
2592
|
+
},
|
|
2593
|
+
sessionId: {
|
|
2594
|
+
type: 'string',
|
|
2595
|
+
description: 'Planning session ID (required for all operations except start_session)',
|
|
2596
|
+
},
|
|
2597
|
+
input: {
|
|
2598
|
+
type: 'string',
|
|
2599
|
+
description: 'User input for the current phase (varies by phase)',
|
|
2600
|
+
},
|
|
2601
|
+
projectPath: {
|
|
2602
|
+
type: 'string',
|
|
2603
|
+
description: 'Project root path',
|
|
2604
|
+
},
|
|
2605
|
+
autoResearch: {
|
|
2606
|
+
type: 'boolean',
|
|
2607
|
+
default: true,
|
|
2608
|
+
description: 'Automatically trigger research when needed',
|
|
2609
|
+
},
|
|
2610
|
+
generateTodos: {
|
|
2611
|
+
type: 'boolean',
|
|
2612
|
+
default: true,
|
|
2613
|
+
description: 'Automatically generate TODO items from decisions',
|
|
2614
|
+
},
|
|
2615
|
+
},
|
|
2616
|
+
required: ['operation', 'projectPath'],
|
|
2617
|
+
},
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
name: 'memory_loading',
|
|
2621
|
+
description: 'Advanced memory loading tool for the memory-centric architecture. Query, explore, and manage memory entities and relationships. Load ADRs into memory system and perform intelligent queries.',
|
|
2622
|
+
inputSchema: {
|
|
2623
|
+
type: 'object',
|
|
2624
|
+
properties: {
|
|
2625
|
+
action: {
|
|
2626
|
+
type: 'string',
|
|
2627
|
+
enum: [
|
|
2628
|
+
'load_adrs',
|
|
2629
|
+
'query_entities',
|
|
2630
|
+
'get_entity',
|
|
2631
|
+
'find_related',
|
|
2632
|
+
'get_intelligence',
|
|
2633
|
+
'create_snapshot',
|
|
2634
|
+
],
|
|
2635
|
+
description: 'Memory operation to perform',
|
|
2636
|
+
default: 'query_entities',
|
|
2637
|
+
},
|
|
2638
|
+
query: {
|
|
2639
|
+
type: 'object',
|
|
2640
|
+
properties: {
|
|
2641
|
+
entityTypes: {
|
|
2642
|
+
type: 'array',
|
|
2643
|
+
items: {
|
|
2644
|
+
type: 'string',
|
|
2645
|
+
enum: [
|
|
2646
|
+
'architectural_decision',
|
|
2647
|
+
'code_component',
|
|
2648
|
+
'business_requirement',
|
|
2649
|
+
'technical_constraint',
|
|
2650
|
+
'quality_concern',
|
|
2651
|
+
'implementation_pattern',
|
|
2652
|
+
'environmental_factor',
|
|
2653
|
+
'stakeholder_input',
|
|
2654
|
+
'knowledge_artifact',
|
|
2655
|
+
'decision_context',
|
|
2656
|
+
],
|
|
2657
|
+
},
|
|
2658
|
+
description: 'Filter by entity types',
|
|
2659
|
+
},
|
|
2660
|
+
tags: {
|
|
2661
|
+
type: 'array',
|
|
2662
|
+
items: { type: 'string' },
|
|
2663
|
+
description: 'Filter by tags',
|
|
2664
|
+
},
|
|
2665
|
+
textQuery: {
|
|
2666
|
+
type: 'string',
|
|
2667
|
+
description: 'Full-text search query',
|
|
2668
|
+
},
|
|
2669
|
+
relationshipTypes: {
|
|
2670
|
+
type: 'array',
|
|
2671
|
+
items: {
|
|
2672
|
+
type: 'string',
|
|
2673
|
+
enum: [
|
|
2674
|
+
'depends_on',
|
|
2675
|
+
'influences',
|
|
2676
|
+
'conflicts_with',
|
|
2677
|
+
'implements',
|
|
2678
|
+
'supersedes',
|
|
2679
|
+
'relates_to',
|
|
2680
|
+
'originated_from',
|
|
2681
|
+
'impacts',
|
|
2682
|
+
'constrains',
|
|
2683
|
+
],
|
|
2684
|
+
},
|
|
2685
|
+
description: 'Filter by relationship types',
|
|
2686
|
+
},
|
|
2687
|
+
confidenceThreshold: {
|
|
2688
|
+
type: 'number',
|
|
2689
|
+
minimum: 0,
|
|
2690
|
+
maximum: 1,
|
|
2691
|
+
description: 'Minimum confidence threshold',
|
|
2692
|
+
},
|
|
2693
|
+
relevanceThreshold: {
|
|
2694
|
+
type: 'number',
|
|
2695
|
+
minimum: 0,
|
|
2696
|
+
maximum: 1,
|
|
2697
|
+
description: 'Minimum relevance threshold',
|
|
2698
|
+
},
|
|
2699
|
+
timeRange: {
|
|
2700
|
+
type: 'object',
|
|
2701
|
+
properties: {
|
|
2702
|
+
from: { type: 'string', description: 'Start date (ISO 8601)' },
|
|
2703
|
+
to: { type: 'string', description: 'End date (ISO 8601)' },
|
|
2704
|
+
},
|
|
2705
|
+
description: 'Filter by time range',
|
|
2706
|
+
},
|
|
2707
|
+
contextFilters: {
|
|
2708
|
+
type: 'object',
|
|
2709
|
+
properties: {
|
|
2710
|
+
projectPhase: { type: 'string', description: 'Project phase filter' },
|
|
2711
|
+
businessDomain: { type: 'string', description: 'Business domain filter' },
|
|
2712
|
+
technicalStack: {
|
|
2713
|
+
type: 'array',
|
|
2714
|
+
items: { type: 'string' },
|
|
2715
|
+
description: 'Technical stack filter',
|
|
2716
|
+
},
|
|
2717
|
+
environmentalFactors: {
|
|
2718
|
+
type: 'array',
|
|
2719
|
+
items: { type: 'string' },
|
|
2720
|
+
description: 'Environmental factors filter',
|
|
2721
|
+
},
|
|
2722
|
+
},
|
|
2723
|
+
description: 'Context-based filters',
|
|
2724
|
+
},
|
|
2725
|
+
limit: {
|
|
2726
|
+
type: 'number',
|
|
2727
|
+
minimum: 1,
|
|
2728
|
+
description: 'Maximum number of results',
|
|
2729
|
+
},
|
|
2730
|
+
sortBy: {
|
|
2731
|
+
type: 'string',
|
|
2732
|
+
enum: ['relevance', 'confidence', 'lastModified', 'created', 'accessCount'],
|
|
2733
|
+
description: 'Sort field',
|
|
2734
|
+
default: 'relevance',
|
|
2735
|
+
},
|
|
2736
|
+
includeRelated: {
|
|
2737
|
+
type: 'boolean',
|
|
2738
|
+
description: 'Include related entities and relationships',
|
|
2739
|
+
default: false,
|
|
2740
|
+
},
|
|
2741
|
+
relationshipDepth: {
|
|
2742
|
+
type: 'number',
|
|
2743
|
+
minimum: 1,
|
|
2744
|
+
maximum: 5,
|
|
2745
|
+
description: 'Maximum relationship traversal depth',
|
|
2746
|
+
default: 2,
|
|
2747
|
+
},
|
|
2748
|
+
},
|
|
2749
|
+
description: 'Query parameters for entity search',
|
|
2750
|
+
},
|
|
2751
|
+
entityId: {
|
|
2752
|
+
type: 'string',
|
|
2753
|
+
description: 'Entity ID for get_entity and find_related actions',
|
|
2754
|
+
},
|
|
2755
|
+
maxDepth: {
|
|
2756
|
+
type: 'number',
|
|
2757
|
+
minimum: 1,
|
|
2758
|
+
maximum: 5,
|
|
2759
|
+
description: 'Maximum depth for relationship traversal (find_related action)',
|
|
2760
|
+
default: 2,
|
|
2761
|
+
},
|
|
2762
|
+
forceReload: {
|
|
2763
|
+
type: 'boolean',
|
|
2764
|
+
description: 'Force reload of ADRs (load_adrs action)',
|
|
2765
|
+
default: false,
|
|
2766
|
+
},
|
|
2767
|
+
},
|
|
2768
|
+
},
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
name: 'expand_analysis_section',
|
|
2772
|
+
description: 'Retrieve full analysis content from tiered responses. Expand entire analysis or specific sections stored in memory. Use this when a tool returns a summary with an expandable ID.',
|
|
2773
|
+
inputSchema: {
|
|
2774
|
+
type: 'object',
|
|
2775
|
+
properties: {
|
|
2776
|
+
expandableId: {
|
|
2777
|
+
type: 'string',
|
|
2778
|
+
description: 'ID of the expandable analysis (provided in tiered response)',
|
|
2779
|
+
},
|
|
2780
|
+
section: {
|
|
2781
|
+
type: 'string',
|
|
2782
|
+
description: 'Optional: Specific section to expand (omit to get full analysis). Available sections are listed in the tiered response.',
|
|
2783
|
+
},
|
|
2784
|
+
format: {
|
|
2785
|
+
type: 'string',
|
|
2786
|
+
enum: ['markdown', 'json'],
|
|
2787
|
+
description: 'Output format (default: markdown)',
|
|
2788
|
+
default: 'markdown',
|
|
2789
|
+
},
|
|
2790
|
+
},
|
|
2791
|
+
required: ['expandableId'],
|
|
2792
|
+
},
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
name: 'tool_chain_orchestrator',
|
|
2796
|
+
description: 'AI-powered dynamic tool sequencing - intelligently analyze user requests and generate structured tool execution plans',
|
|
2797
|
+
inputSchema: {
|
|
2798
|
+
type: 'object',
|
|
2799
|
+
properties: {
|
|
2800
|
+
userRequest: {
|
|
2801
|
+
type: 'string',
|
|
2802
|
+
description: 'User request to analyze and create tool execution plan for',
|
|
2803
|
+
},
|
|
2804
|
+
availableTools: {
|
|
2805
|
+
type: 'array',
|
|
2806
|
+
items: { type: 'string' },
|
|
2807
|
+
description: 'List of available MCP tools to orchestrate',
|
|
2808
|
+
},
|
|
2809
|
+
executionMode: {
|
|
2810
|
+
type: 'string',
|
|
2811
|
+
enum: ['plan_only', 'plan_and_execute', 'validate_plan'],
|
|
2812
|
+
description: 'Orchestration mode',
|
|
2813
|
+
default: 'plan_only',
|
|
2814
|
+
},
|
|
2815
|
+
maxSteps: {
|
|
2816
|
+
type: 'number',
|
|
2817
|
+
description: 'Maximum number of steps in the execution plan',
|
|
2818
|
+
default: 10,
|
|
2819
|
+
},
|
|
2820
|
+
allowParallel: {
|
|
2821
|
+
type: 'boolean',
|
|
2822
|
+
description: 'Allow parallel execution of independent steps',
|
|
2823
|
+
default: true,
|
|
2824
|
+
},
|
|
2825
|
+
contextHints: {
|
|
2826
|
+
type: 'array',
|
|
2827
|
+
items: { type: 'string' },
|
|
2828
|
+
description: 'Additional context hints for better plan generation',
|
|
2829
|
+
},
|
|
2830
|
+
},
|
|
2831
|
+
required: ['userRequest'],
|
|
2832
|
+
},
|
|
2833
|
+
},
|
|
2834
|
+
{
|
|
2835
|
+
name: 'expand_memory',
|
|
2836
|
+
description: 'Phase 3: Retrieve and expand stored content from a tiered response using its expandable ID',
|
|
2837
|
+
inputSchema: {
|
|
2838
|
+
type: 'object',
|
|
2839
|
+
properties: {
|
|
2840
|
+
expandableId: {
|
|
2841
|
+
type: 'string',
|
|
2842
|
+
description: 'Expandable ID from a tiered response',
|
|
2843
|
+
},
|
|
2844
|
+
section: {
|
|
2845
|
+
type: 'string',
|
|
2846
|
+
description: 'Optional: specific section to expand',
|
|
2847
|
+
},
|
|
2848
|
+
includeContext: {
|
|
2849
|
+
type: 'boolean',
|
|
2850
|
+
description: 'Include related conversation context and knowledge graph state',
|
|
2851
|
+
default: true,
|
|
2852
|
+
},
|
|
2853
|
+
},
|
|
2854
|
+
required: ['expandableId'],
|
|
2855
|
+
},
|
|
2856
|
+
},
|
|
2857
|
+
{
|
|
2858
|
+
name: 'query_conversation_history',
|
|
2859
|
+
description: 'Phase 3: Search and retrieve conversation sessions based on filters',
|
|
2860
|
+
inputSchema: {
|
|
2861
|
+
type: 'object',
|
|
2862
|
+
properties: {
|
|
2863
|
+
projectPath: {
|
|
2864
|
+
type: 'string',
|
|
2865
|
+
description: 'Filter by project path',
|
|
2866
|
+
},
|
|
2867
|
+
dateRange: {
|
|
2868
|
+
type: 'object',
|
|
2869
|
+
properties: {
|
|
2870
|
+
start: { type: 'string', description: 'Start date (ISO 8601)' },
|
|
2871
|
+
end: { type: 'string', description: 'End date (ISO 8601)' },
|
|
2872
|
+
},
|
|
2873
|
+
description: 'Filter by date range',
|
|
2874
|
+
},
|
|
2875
|
+
toolsUsed: {
|
|
2876
|
+
type: 'array',
|
|
2877
|
+
items: { type: 'string' },
|
|
2878
|
+
description: 'Filter by tools used in the session',
|
|
2879
|
+
},
|
|
2880
|
+
keyword: {
|
|
2881
|
+
type: 'string',
|
|
2882
|
+
description: 'Search keyword in conversation turns',
|
|
2883
|
+
},
|
|
2884
|
+
limit: {
|
|
2885
|
+
type: 'number',
|
|
2886
|
+
description: 'Maximum number of sessions to return',
|
|
2887
|
+
default: 10,
|
|
2888
|
+
},
|
|
2889
|
+
},
|
|
2890
|
+
},
|
|
2891
|
+
},
|
|
2892
|
+
{
|
|
2893
|
+
name: 'get_conversation_snapshot',
|
|
2894
|
+
description: 'Phase 3: Get current conversation context snapshot for resumption or analysis',
|
|
2895
|
+
inputSchema: {
|
|
2896
|
+
type: 'object',
|
|
2897
|
+
properties: {
|
|
2898
|
+
recentTurnCount: {
|
|
2899
|
+
type: 'number',
|
|
2900
|
+
description: 'Number of recent turns to include',
|
|
2901
|
+
default: 5,
|
|
2902
|
+
},
|
|
2903
|
+
},
|
|
2904
|
+
},
|
|
2905
|
+
},
|
|
2906
|
+
{
|
|
2907
|
+
name: 'get_memory_stats',
|
|
2908
|
+
description: 'Phase 3: Get statistics about stored conversation memory',
|
|
2909
|
+
inputSchema: {
|
|
2910
|
+
type: 'object',
|
|
2911
|
+
properties: {},
|
|
2912
|
+
},
|
|
2913
|
+
},
|
|
2914
|
+
{
|
|
2915
|
+
name: 'update_knowledge',
|
|
2916
|
+
description: 'ADR-018: Simple CRUD operations for knowledge graph. Add/remove entities (intents, ADRs, tools, code) and relationships. Use knowledge://graph resource to read current state (zero token cost).',
|
|
2917
|
+
inputSchema: {
|
|
2918
|
+
type: 'object',
|
|
2919
|
+
properties: {
|
|
2920
|
+
operation: {
|
|
2921
|
+
type: 'string',
|
|
2922
|
+
enum: ['add_entity', 'remove_entity', 'add_relationship', 'remove_relationship'],
|
|
2923
|
+
description: 'Type of operation to perform on the knowledge graph',
|
|
2924
|
+
},
|
|
2925
|
+
entity: {
|
|
2926
|
+
type: 'string',
|
|
2927
|
+
description: 'Entity ID (for add_entity/remove_entity operations)',
|
|
2928
|
+
},
|
|
2929
|
+
entityType: {
|
|
2930
|
+
type: 'string',
|
|
2931
|
+
enum: ['intent', 'adr', 'code', 'tool', 'decision'],
|
|
2932
|
+
description: 'Type of entity (required for add_entity operation)',
|
|
2933
|
+
},
|
|
2934
|
+
relationship: {
|
|
2935
|
+
type: 'string',
|
|
2936
|
+
enum: ['implements', 'uses', 'created', 'depends-on', 'supersedes'],
|
|
2937
|
+
description: 'Relationship type (for add_relationship/remove_relationship)',
|
|
2938
|
+
},
|
|
2939
|
+
source: {
|
|
2940
|
+
type: 'string',
|
|
2941
|
+
description: 'Source node ID (for relationship operations)',
|
|
2942
|
+
},
|
|
2943
|
+
target: {
|
|
2944
|
+
type: 'string',
|
|
2945
|
+
description: 'Target node ID (for relationship operations)',
|
|
2946
|
+
},
|
|
2947
|
+
metadata: {
|
|
2948
|
+
type: 'object',
|
|
2949
|
+
description: 'Additional metadata for the entity or relationship',
|
|
2950
|
+
additionalProperties: true,
|
|
2951
|
+
},
|
|
2952
|
+
},
|
|
2953
|
+
required: ['operation'],
|
|
2954
|
+
},
|
|
2955
|
+
},
|
|
2956
|
+
{
|
|
2957
|
+
name: 'get_server_context',
|
|
2958
|
+
description: "Generate a comprehensive context file showing the server's current state, memory, and capabilities. Creates .mcp-server-context.md that can be @ referenced in conversations for instant LLM awareness",
|
|
2959
|
+
inputSchema: {
|
|
2960
|
+
type: 'object',
|
|
2961
|
+
properties: {
|
|
2962
|
+
writeToFile: {
|
|
2963
|
+
type: 'boolean',
|
|
2964
|
+
description: 'Whether to write the context to .mcp-server-context.md file',
|
|
2965
|
+
default: true,
|
|
2966
|
+
},
|
|
2967
|
+
outputPath: {
|
|
2968
|
+
type: 'string',
|
|
2969
|
+
description: 'Custom output path for the context file',
|
|
2970
|
+
},
|
|
2971
|
+
includeDetailed: {
|
|
2972
|
+
type: 'boolean',
|
|
2973
|
+
description: 'Include detailed information',
|
|
2974
|
+
default: true,
|
|
2975
|
+
},
|
|
2976
|
+
maxRecentItems: {
|
|
2977
|
+
type: 'number',
|
|
2978
|
+
description: 'Maximum number of recent items to show',
|
|
2979
|
+
default: 5,
|
|
2980
|
+
},
|
|
2981
|
+
},
|
|
2982
|
+
},
|
|
2983
|
+
},
|
|
2984
|
+
{
|
|
2985
|
+
name: 'get_current_datetime',
|
|
2986
|
+
description: 'Get the current date and time in various formats. Useful for timestamping ADRs, research documents, and other architectural artifacts. Returns ISO 8601, human-readable, and ADR-specific date formats.',
|
|
2987
|
+
inputSchema: {
|
|
2988
|
+
type: 'object',
|
|
2989
|
+
properties: {
|
|
2990
|
+
timezone: {
|
|
2991
|
+
type: 'string',
|
|
2992
|
+
description: 'Timezone for the datetime (e.g., "UTC", "America/New_York", "Europe/London"). Defaults to UTC.',
|
|
2993
|
+
default: 'UTC',
|
|
2994
|
+
},
|
|
2995
|
+
format: {
|
|
2996
|
+
type: 'string',
|
|
2997
|
+
enum: ['iso', 'human', 'adr', 'all'],
|
|
2998
|
+
description: 'Output format: "iso" for ISO 8601, "human" for human-readable, "adr" for ADR date format (YYYY-MM-DD), "all" for all formats',
|
|
2999
|
+
default: 'all',
|
|
3000
|
+
},
|
|
3001
|
+
includeTimestamp: {
|
|
3002
|
+
type: 'boolean',
|
|
3003
|
+
description: 'Include Unix timestamp in milliseconds',
|
|
3004
|
+
default: true,
|
|
3005
|
+
},
|
|
3006
|
+
},
|
|
3007
|
+
},
|
|
3008
|
+
},
|
|
3009
|
+
// Session management tool for dynamic project switching
|
|
3010
|
+
{
|
|
3011
|
+
name: 'set_project_path',
|
|
3012
|
+
description: 'Dynamically set the active project path for the current session. Call this at the start of a session to switch between projects without restarting the server or modifying environment variables. All subsequent tool calls will use this path as the default.',
|
|
3013
|
+
inputSchema: {
|
|
3014
|
+
type: 'object',
|
|
3015
|
+
properties: {
|
|
3016
|
+
path: {
|
|
3017
|
+
type: 'string',
|
|
3018
|
+
description: 'Absolute path to the project directory. Must be an existing directory.',
|
|
3019
|
+
},
|
|
3020
|
+
validatePath: {
|
|
3021
|
+
type: 'boolean',
|
|
3022
|
+
description: 'Whether to validate that the path exists and is a directory (default: true)',
|
|
3023
|
+
default: true,
|
|
3024
|
+
},
|
|
3025
|
+
},
|
|
3026
|
+
required: ['path'],
|
|
3027
|
+
},
|
|
3028
|
+
},
|
|
3029
|
+
// CE-MCP Phase 4: Lazy Prompt Loading Tool
|
|
3030
|
+
{
|
|
3031
|
+
name: 'load_prompt',
|
|
3032
|
+
description: 'Load a specific prompt or prompt section on-demand. Part of CE-MCP lazy loading system that reduces token usage by ~96% by loading prompts only when needed. Use this to retrieve prompt templates for ADR generation, analysis, deployment, and other operations.',
|
|
3033
|
+
inputSchema: {
|
|
3034
|
+
type: 'object',
|
|
3035
|
+
properties: {
|
|
3036
|
+
promptName: {
|
|
3037
|
+
type: 'string',
|
|
3038
|
+
description: 'Name of the prompt to load (e.g., "adr-suggestion", "deployment-analysis", "environment-analysis", "research-question", "rule-generation", "analysis", "security")',
|
|
3039
|
+
enum: [
|
|
3040
|
+
'adr-suggestion',
|
|
3041
|
+
'deployment-analysis',
|
|
3042
|
+
'environment-analysis',
|
|
3043
|
+
'research-question',
|
|
3044
|
+
'rule-generation',
|
|
3045
|
+
'analysis',
|
|
3046
|
+
'research-integration',
|
|
3047
|
+
'validated-pattern',
|
|
3048
|
+
'security',
|
|
3049
|
+
],
|
|
3050
|
+
},
|
|
3051
|
+
section: {
|
|
3052
|
+
type: 'string',
|
|
3053
|
+
description: 'Specific section within the prompt to load. If not provided, loads the entire prompt. Available sections depend on the prompt.',
|
|
3054
|
+
},
|
|
3055
|
+
estimateOnly: {
|
|
3056
|
+
type: 'boolean',
|
|
3057
|
+
description: 'If true, returns only token estimate without loading the full prompt content',
|
|
3058
|
+
default: false,
|
|
3059
|
+
},
|
|
3060
|
+
},
|
|
3061
|
+
required: ['promptName'],
|
|
3062
|
+
},
|
|
3063
|
+
},
|
|
3064
|
+
// ADR Aggregator Integration Tools (https://adraggregator.com)
|
|
3065
|
+
{
|
|
3066
|
+
name: 'sync_to_aggregator',
|
|
3067
|
+
description: 'Sync ADRs to ADR Aggregator platform (https://adraggregator.com) for centralized tracking, visualization, and team collaboration. Supports incremental and full sync modes with optional metadata.',
|
|
3068
|
+
inputSchema: {
|
|
3069
|
+
type: 'object',
|
|
3070
|
+
properties: {
|
|
3071
|
+
full_sync: {
|
|
3072
|
+
type: 'boolean',
|
|
3073
|
+
description: 'Replace all ADRs instead of incremental sync',
|
|
3074
|
+
default: false,
|
|
3075
|
+
},
|
|
3076
|
+
include_metadata: {
|
|
3077
|
+
type: 'boolean',
|
|
3078
|
+
description: 'Include analysis metadata in sync',
|
|
3079
|
+
default: true,
|
|
3080
|
+
},
|
|
3081
|
+
include_diagrams: {
|
|
3082
|
+
type: 'boolean',
|
|
3083
|
+
description: 'Include Mermaid diagrams (Pro+ tier)',
|
|
3084
|
+
default: false,
|
|
3085
|
+
},
|
|
3086
|
+
include_timeline: {
|
|
3087
|
+
type: 'boolean',
|
|
3088
|
+
description: 'Include timeline/staleness data',
|
|
3089
|
+
default: false,
|
|
3090
|
+
},
|
|
3091
|
+
include_security_scan: {
|
|
3092
|
+
type: 'boolean',
|
|
3093
|
+
description: 'Include security scan results',
|
|
3094
|
+
default: false,
|
|
3095
|
+
},
|
|
3096
|
+
include_code_links: {
|
|
3097
|
+
type: 'boolean',
|
|
3098
|
+
description: 'Include AST-based code links (Pro+ tier)',
|
|
3099
|
+
default: false,
|
|
3100
|
+
},
|
|
3101
|
+
adr_paths: {
|
|
3102
|
+
type: 'array',
|
|
3103
|
+
items: { type: 'string' },
|
|
3104
|
+
description: 'Specific ADR paths to sync (syncs all if not provided)',
|
|
3105
|
+
},
|
|
3106
|
+
projectPath: {
|
|
3107
|
+
type: 'string',
|
|
3108
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3109
|
+
},
|
|
3110
|
+
},
|
|
3111
|
+
},
|
|
3112
|
+
},
|
|
3113
|
+
{
|
|
3114
|
+
name: 'get_adr_context',
|
|
3115
|
+
description: 'Fetch ADR context from ADR Aggregator including summaries, diagrams, timeline data, and code links. Useful for getting a consolidated view of architectural decisions.',
|
|
3116
|
+
inputSchema: {
|
|
3117
|
+
type: 'object',
|
|
3118
|
+
properties: {
|
|
3119
|
+
include_diagrams: {
|
|
3120
|
+
type: 'boolean',
|
|
3121
|
+
description: 'Include Mermaid diagrams (Pro+ tier)',
|
|
3122
|
+
default: false,
|
|
3123
|
+
},
|
|
3124
|
+
include_timeline: {
|
|
3125
|
+
type: 'boolean',
|
|
3126
|
+
description: 'Include timeline data',
|
|
3127
|
+
default: true,
|
|
3128
|
+
},
|
|
3129
|
+
include_code_links: {
|
|
3130
|
+
type: 'boolean',
|
|
3131
|
+
description: 'Include code links (Pro+ tier)',
|
|
3132
|
+
default: false,
|
|
3133
|
+
},
|
|
3134
|
+
include_research: {
|
|
3135
|
+
type: 'boolean',
|
|
3136
|
+
description: 'Include research context (Pro+ tier)',
|
|
3137
|
+
default: false,
|
|
3138
|
+
},
|
|
3139
|
+
staleness_filter: {
|
|
3140
|
+
type: 'string',
|
|
3141
|
+
enum: ['all', 'fresh', 'stale', 'very_stale'],
|
|
3142
|
+
description: 'Filter by staleness level',
|
|
3143
|
+
default: 'all',
|
|
3144
|
+
},
|
|
3145
|
+
graph_depth: {
|
|
3146
|
+
type: 'number',
|
|
3147
|
+
description: 'Knowledge graph depth (Team tier)',
|
|
3148
|
+
minimum: 1,
|
|
3149
|
+
maximum: 5,
|
|
3150
|
+
},
|
|
3151
|
+
projectPath: {
|
|
3152
|
+
type: 'string',
|
|
3153
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3154
|
+
},
|
|
3155
|
+
},
|
|
3156
|
+
},
|
|
3157
|
+
},
|
|
3158
|
+
{
|
|
3159
|
+
name: 'get_staleness_report',
|
|
3160
|
+
description: 'Get ADR staleness report from ADR Aggregator with review compliance metrics. Identifies stale ADRs that need attention and provides governance insights.',
|
|
3161
|
+
inputSchema: {
|
|
3162
|
+
type: 'object',
|
|
3163
|
+
properties: {
|
|
3164
|
+
threshold: {
|
|
3165
|
+
type: 'number',
|
|
3166
|
+
description: 'Days threshold for staleness',
|
|
3167
|
+
default: 90,
|
|
3168
|
+
},
|
|
3169
|
+
projectPath: {
|
|
3170
|
+
type: 'string',
|
|
3171
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3172
|
+
},
|
|
3173
|
+
},
|
|
3174
|
+
},
|
|
3175
|
+
},
|
|
3176
|
+
{
|
|
3177
|
+
name: 'get_adr_templates',
|
|
3178
|
+
description: 'Get domain-specific ADR templates and anti-patterns from ADR Aggregator. Includes best practices for web applications, microservices, APIs, and more. No authentication required.',
|
|
3179
|
+
inputSchema: {
|
|
3180
|
+
type: 'object',
|
|
3181
|
+
properties: {
|
|
3182
|
+
domain: {
|
|
3183
|
+
type: 'string',
|
|
3184
|
+
description: 'Domain filter (web_application, microservices, api, data_platform, etc.)',
|
|
3185
|
+
},
|
|
3186
|
+
},
|
|
3187
|
+
},
|
|
3188
|
+
},
|
|
3189
|
+
{
|
|
3190
|
+
name: 'get_adr_diagrams',
|
|
3191
|
+
description: 'Get Mermaid diagrams for ADRs from ADR Aggregator. Includes workflow, relationship, and impact diagrams. Requires Pro+ tier.',
|
|
3192
|
+
inputSchema: {
|
|
3193
|
+
type: 'object',
|
|
3194
|
+
properties: {
|
|
3195
|
+
adr_path: {
|
|
3196
|
+
type: 'string',
|
|
3197
|
+
description: 'Specific ADR path (returns all if not specified)',
|
|
3198
|
+
},
|
|
3199
|
+
projectPath: {
|
|
3200
|
+
type: 'string',
|
|
3201
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3202
|
+
},
|
|
3203
|
+
},
|
|
3204
|
+
},
|
|
3205
|
+
},
|
|
3206
|
+
{
|
|
3207
|
+
name: 'validate_adr_compliance',
|
|
3208
|
+
description: 'Validate ADR compliance against implementation via ADR Aggregator. Checks that code actually implements documented decisions. Requires Pro+ tier.',
|
|
3209
|
+
inputSchema: {
|
|
3210
|
+
type: 'object',
|
|
3211
|
+
properties: {
|
|
3212
|
+
adr_paths: {
|
|
3213
|
+
type: 'array',
|
|
3214
|
+
items: { type: 'string' },
|
|
3215
|
+
description: 'Specific ADR paths to validate',
|
|
3216
|
+
},
|
|
3217
|
+
validation_type: {
|
|
3218
|
+
type: 'string',
|
|
3219
|
+
enum: ['implementation', 'architecture', 'security', 'all'],
|
|
3220
|
+
description: 'Type of validation to perform',
|
|
3221
|
+
default: 'all',
|
|
3222
|
+
},
|
|
3223
|
+
projectPath: {
|
|
3224
|
+
type: 'string',
|
|
3225
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3226
|
+
},
|
|
3227
|
+
},
|
|
3228
|
+
},
|
|
3229
|
+
},
|
|
3230
|
+
{
|
|
3231
|
+
name: 'get_knowledge_graph',
|
|
3232
|
+
description: 'Get cross-repository knowledge graph from ADR Aggregator with analytics and insights. Visualize ADR relationships across repositories. Requires Team tier.',
|
|
3233
|
+
inputSchema: {
|
|
3234
|
+
type: 'object',
|
|
3235
|
+
properties: {
|
|
3236
|
+
scope: {
|
|
3237
|
+
type: 'string',
|
|
3238
|
+
enum: ['repository', 'organization'],
|
|
3239
|
+
description: 'Scope of the graph',
|
|
3240
|
+
default: 'repository',
|
|
3241
|
+
},
|
|
3242
|
+
include_analytics: {
|
|
3243
|
+
type: 'boolean',
|
|
3244
|
+
description: 'Include graph analytics and insights',
|
|
3245
|
+
default: true,
|
|
3246
|
+
},
|
|
3247
|
+
projectPath: {
|
|
3248
|
+
type: 'string',
|
|
3249
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3250
|
+
},
|
|
3251
|
+
},
|
|
3252
|
+
},
|
|
3253
|
+
},
|
|
3254
|
+
{
|
|
3255
|
+
name: 'update_implementation_status',
|
|
3256
|
+
description: 'Update the implementation status of synced ADRs directly from the IDE. Supports statuses: not_started, in_progress, implemented, deprecated, blocked. Requires Pro+ tier.',
|
|
3257
|
+
inputSchema: {
|
|
3258
|
+
type: 'object',
|
|
3259
|
+
properties: {
|
|
3260
|
+
updates: {
|
|
3261
|
+
type: 'array',
|
|
3262
|
+
items: {
|
|
3263
|
+
type: 'object',
|
|
3264
|
+
properties: {
|
|
3265
|
+
adr_path: {
|
|
3266
|
+
type: 'string',
|
|
3267
|
+
description: 'Path to the ADR file relative to project root',
|
|
3268
|
+
},
|
|
3269
|
+
implementation_status: {
|
|
3270
|
+
type: 'string',
|
|
3271
|
+
enum: ['not_started', 'in_progress', 'implemented', 'deprecated', 'blocked'],
|
|
3272
|
+
description: 'New implementation status',
|
|
3273
|
+
},
|
|
3274
|
+
notes: {
|
|
3275
|
+
type: 'string',
|
|
3276
|
+
description: 'Optional notes about the status change',
|
|
3277
|
+
},
|
|
3278
|
+
},
|
|
3279
|
+
required: ['adr_path', 'implementation_status'],
|
|
3280
|
+
},
|
|
3281
|
+
description: 'Array of ADR status updates to apply',
|
|
3282
|
+
},
|
|
3283
|
+
projectPath: {
|
|
3284
|
+
type: 'string',
|
|
3285
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3286
|
+
},
|
|
3287
|
+
},
|
|
3288
|
+
required: ['updates'],
|
|
3289
|
+
},
|
|
3290
|
+
},
|
|
3291
|
+
{
|
|
3292
|
+
name: 'get_adr_priorities',
|
|
3293
|
+
description: 'Get ADR priorities for roadmap and backlog planning from ADR Aggregator. Returns prioritized ADRs with scores, dependencies, blockers, implementation status, and gap counts.',
|
|
3294
|
+
inputSchema: {
|
|
3295
|
+
type: 'object',
|
|
3296
|
+
properties: {
|
|
3297
|
+
include_ai: {
|
|
3298
|
+
type: 'boolean',
|
|
3299
|
+
description: 'Include AI-based priority recommendations',
|
|
3300
|
+
default: false,
|
|
3301
|
+
},
|
|
3302
|
+
projectPath: {
|
|
3303
|
+
type: 'string',
|
|
3304
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3305
|
+
},
|
|
3306
|
+
},
|
|
3307
|
+
},
|
|
3308
|
+
},
|
|
3309
|
+
{
|
|
3310
|
+
name: 'analyze_gaps',
|
|
3311
|
+
description: 'Scan local codebase and compare with ADRs to detect bi-directional gaps. Finds: (1) ADR-to-code gaps: file references in ADRs that do not exist, (2) Code-to-ADR gaps: technologies in package.json and architectural patterns without ADR coverage. Reports gaps to ADR Aggregator for tracking.',
|
|
3312
|
+
inputSchema: {
|
|
3313
|
+
type: 'object',
|
|
3314
|
+
properties: {
|
|
3315
|
+
projectPath: {
|
|
3316
|
+
type: 'string',
|
|
3317
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3318
|
+
},
|
|
3319
|
+
reportToAggregator: {
|
|
3320
|
+
type: 'boolean',
|
|
3321
|
+
description: 'Whether to report gaps to ADR Aggregator',
|
|
3322
|
+
default: true,
|
|
3323
|
+
},
|
|
3324
|
+
includeDismissed: {
|
|
3325
|
+
type: 'boolean',
|
|
3326
|
+
description: 'Include previously dismissed gaps in analysis',
|
|
3327
|
+
default: false,
|
|
3328
|
+
},
|
|
3329
|
+
scanDirectories: {
|
|
3330
|
+
type: 'array',
|
|
3331
|
+
items: { type: 'string' },
|
|
3332
|
+
description: 'Specific directories to scan (defaults to src, lib, app, packages)',
|
|
3333
|
+
},
|
|
3334
|
+
includePatterns: {
|
|
3335
|
+
type: 'array',
|
|
3336
|
+
items: { type: 'string' },
|
|
3337
|
+
description: 'File patterns to include in scan (regex)',
|
|
3338
|
+
},
|
|
3339
|
+
excludePatterns: {
|
|
3340
|
+
type: 'array',
|
|
3341
|
+
items: { type: 'string' },
|
|
3342
|
+
description: 'File patterns to exclude from scan (regex)',
|
|
3343
|
+
},
|
|
3344
|
+
},
|
|
3345
|
+
},
|
|
3346
|
+
},
|
|
3347
|
+
{
|
|
3348
|
+
name: 'get_gaps',
|
|
3349
|
+
description: 'Get current code gaps from ADR Aggregator. Returns gaps with their status (open, dismissed, resolved) for tracking and management.',
|
|
3350
|
+
inputSchema: {
|
|
3351
|
+
type: 'object',
|
|
3352
|
+
properties: {
|
|
3353
|
+
projectPath: {
|
|
3354
|
+
type: 'string',
|
|
3355
|
+
description: 'Project path (defaults to PROJECT_PATH)',
|
|
3356
|
+
},
|
|
3357
|
+
includeDismissed: {
|
|
3358
|
+
type: 'boolean',
|
|
3359
|
+
description: 'Include dismissed gaps',
|
|
3360
|
+
default: false,
|
|
3361
|
+
},
|
|
3362
|
+
includeResolved: {
|
|
3363
|
+
type: 'boolean',
|
|
3364
|
+
description: 'Include resolved gaps',
|
|
3365
|
+
default: false,
|
|
3366
|
+
},
|
|
3367
|
+
},
|
|
3368
|
+
},
|
|
3369
|
+
},
|
|
3370
|
+
];
|
|
3371
|
+
//# sourceMappingURL=mcp-tool-schemas.js.map
|