framework-mcp 2.4.6 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -10
- package/dist/core/safeguard-manager.d.ts.map +1 -1
- package/dist/core/safeguard-manager.js +164 -7066
- package/dist/core/safeguard-manager.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/http/http-server.d.ts.map +1 -1
- package/dist/interfaces/http/http-server.js +6 -40
- package/dist/interfaces/http/http-server.js.map +1 -1
- package/dist/interfaces/mcp/mcp-server.js +3 -3
- package/dist/shared/types.d.ts +49 -60
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/package.json +9 -3
- package/swagger.json +10 -133
- package/.claude/agents/mcp-developer.md +0 -41
- package/.claude/agents/project-orchestrator.md +0 -43
- package/.claude/agents/version-consistency-reviewer.md +0 -50
- package/.claude/commands/speckit.analyze.md +0 -184
- package/.claude/commands/speckit.checklist.md +0 -294
- package/.claude/commands/speckit.clarify.md +0 -181
- package/.claude/commands/speckit.constitution.md +0 -82
- package/.claude/commands/speckit.implement.md +0 -135
- package/.claude/commands/speckit.plan.md +0 -89
- package/.claude/commands/speckit.specify.md +0 -258
- package/.claude/commands/speckit.tasks.md +0 -137
- package/.claude/commands/speckit.taskstoissues.md +0 -30
- package/.claude/config.json +0 -11
- package/.claude_config.json +0 -11
- package/.do/app.yaml +0 -78
- package/.github/dependabot.yml +0 -15
- package/.github/workflows/ci.yml +0 -90
- package/.github/workflows/release.yml +0 -30
- package/.mcp.json +0 -11
- package/.specify/memory/constitution.md +0 -50
- package/.specify/scripts/bash/check-prerequisites.sh +0 -166
- package/.specify/scripts/bash/common.sh +0 -156
- package/.specify/scripts/bash/create-new-feature.sh +0 -297
- package/.specify/scripts/bash/setup-plan.sh +0 -61
- package/.specify/scripts/bash/update-agent-context.sh +0 -799
- package/.specify/templates/agent-file-template.md +0 -28
- package/.specify/templates/checklist-template.md +0 -40
- package/.specify/templates/plan-template.md +0 -104
- package/.specify/templates/spec-template.md +0 -115
- package/.specify/templates/tasks-template.md +0 -251
- package/examples/example-usage.md +0 -293
- package/examples/llm-analysis-patterns.md +0 -553
- package/examples/vendors.csv +0 -9
- package/examples/vendors.json +0 -32
- package/scripts/standardize-prompts.js +0 -325
- package/scripts/validate-capability-prompts.js +0 -110
- package/scripts/validate-documentation.sh +0 -150
- package/src/core/safeguard-manager.ts +0 -16891
- package/src/index.ts +0 -17
- package/src/interfaces/http/http-server.ts +0 -301
- package/src/interfaces/mcp/mcp-server.ts +0 -165
- package/src/shared/types.ts +0 -337
- package/tsconfig.json +0 -23
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
export { FrameworkMcpServer } from './interfaces/mcp/mcp-server.js';
|
|
3
3
|
export { FrameworkHttpServer } from './interfaces/http/http-server.js';
|
|
4
4
|
export { SafeguardManager } from './core/safeguard-manager.js';
|
|
5
|
+
export type { SafeguardElement, ElementsAddressed, ScopeLimits, VendorAssessment, VendorProfile, } from './shared/types.js';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAK/D,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,gDAAgD;AAChD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,gDAAgD;AAChD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAa/D,qFAAqF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAgBA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,IAAI,GAAE,MAAa;IAW/B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAgBA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,eAAe,CAAkB;gBAE7B,IAAI,GAAE,MAAa;IAW/B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IA4DvB,OAAO,CAAC,WAAW;IAsGnB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;IAQpB,KAAK,IAAI,IAAI;CAoBrB"}
|
|
@@ -83,7 +83,7 @@ export class FrameworkHttpServer {
|
|
|
83
83
|
res.json({
|
|
84
84
|
status: 'healthy',
|
|
85
85
|
uptime: Math.round(process.uptime()),
|
|
86
|
-
version: '2.
|
|
86
|
+
version: '2.6.0',
|
|
87
87
|
timestamp: new Date().toISOString()
|
|
88
88
|
});
|
|
89
89
|
});
|
|
@@ -92,48 +92,14 @@ export class FrameworkHttpServer {
|
|
|
92
92
|
try {
|
|
93
93
|
const allSafeguards = this.safeguardManager.getAllSafeguards();
|
|
94
94
|
const safeguardIds = Object.keys(allSafeguards);
|
|
95
|
-
|
|
96
|
-
let errors = [];
|
|
97
|
-
const expectedFields = [
|
|
98
|
-
'systemPromptFull',
|
|
99
|
-
'systemPromptPartial',
|
|
100
|
-
'systemPromptFacilitates',
|
|
101
|
-
'systemPromptGovernance',
|
|
102
|
-
'systemPromptValidates'
|
|
103
|
-
];
|
|
104
|
-
for (const safeguardId of safeguardIds) {
|
|
105
|
-
const safeguard = allSafeguards[safeguardId];
|
|
106
|
-
// Check all five capability prompts exist and are complete
|
|
107
|
-
for (const field of expectedFields) {
|
|
108
|
-
const prompt = safeguard[field];
|
|
109
|
-
if (!prompt) {
|
|
110
|
-
errors.push(`${safeguardId}: Missing ${field}`);
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
if (!prompt.role || !prompt.context || !prompt.objective ||
|
|
114
|
-
!prompt.guidelines || !prompt.outputFormat) {
|
|
115
|
-
errors.push(`${safeguardId}.${field}: Incomplete structure`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// Check deprecated field is gone
|
|
119
|
-
if ('systemPrompt' in safeguard) {
|
|
120
|
-
errors.push(`${safeguardId}: Deprecated systemPrompt field exists`);
|
|
121
|
-
}
|
|
122
|
-
totalValidated++;
|
|
123
|
-
}
|
|
95
|
+
const totalValidated = safeguardIds.length;
|
|
124
96
|
res.json({
|
|
125
|
-
status:
|
|
97
|
+
status: 'healthy',
|
|
126
98
|
safeguards: {
|
|
127
99
|
total: totalValidated,
|
|
128
100
|
expected: 153,
|
|
129
|
-
complete: totalValidated === 153
|
|
130
|
-
},
|
|
131
|
-
capabilityPrompts: {
|
|
132
|
-
expectedFields: expectedFields.length,
|
|
133
|
-
validatedFields: expectedFields.length
|
|
101
|
+
complete: totalValidated === 153
|
|
134
102
|
},
|
|
135
|
-
errors: errors.length,
|
|
136
|
-
errorDetails: errors.slice(0, 10), // Show first 10 errors only
|
|
137
103
|
timestamp: new Date().toISOString()
|
|
138
104
|
});
|
|
139
105
|
}
|
|
@@ -183,7 +149,7 @@ export class FrameworkHttpServer {
|
|
|
183
149
|
this.app.get('/api', (req, res) => {
|
|
184
150
|
res.json({
|
|
185
151
|
name: 'Framework MCP HTTP API',
|
|
186
|
-
version: '2.
|
|
152
|
+
version: '2.6.0',
|
|
187
153
|
description: 'Pure Data Provider serving authentic CIS Controls Framework data',
|
|
188
154
|
endpoints: {
|
|
189
155
|
'GET /api/safeguards': 'List all available CIS safeguards',
|
|
@@ -222,7 +188,7 @@ export class FrameworkHttpServer {
|
|
|
222
188
|
}
|
|
223
189
|
start() {
|
|
224
190
|
this.app.listen(this.port, '0.0.0.0', () => {
|
|
225
|
-
console.log(`🚀 Framework MCP HTTP Server v2.
|
|
191
|
+
console.log(`🚀 Framework MCP HTTP Server v2.6.0 running on port ${this.port}`);
|
|
226
192
|
console.log(`📊 Health check: http://localhost:${this.port}/health`);
|
|
227
193
|
console.log(`📖 API docs: http://localhost:${this.port}/api`);
|
|
228
194
|
console.log(`🔧 Environment: ${process.env.NODE_ENV || 'development'}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export class FrameworkMcpServer {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.server = new Server({
|
|
9
9
|
name: 'framework-analyzer',
|
|
10
|
-
version: '2.
|
|
10
|
+
version: '2.6.0',
|
|
11
11
|
});
|
|
12
12
|
this.safeguardManager = new SafeguardManager();
|
|
13
13
|
this.setupHandlers();
|
|
@@ -103,7 +103,7 @@ export class FrameworkMcpServer {
|
|
|
103
103
|
safeguards,
|
|
104
104
|
total: safeguards.length,
|
|
105
105
|
framework: 'CIS Controls v8.1',
|
|
106
|
-
version: '2.
|
|
106
|
+
version: '2.6.0'
|
|
107
107
|
}, null, 2),
|
|
108
108
|
},
|
|
109
109
|
],
|
|
@@ -122,7 +122,7 @@ export class FrameworkMcpServer {
|
|
|
122
122
|
async run() {
|
|
123
123
|
const transport = new StdioServerTransport();
|
|
124
124
|
await this.server.connect(transport);
|
|
125
|
-
console.error('🤖 Framework MCP Server v2.
|
|
125
|
+
console.error('🤖 Framework MCP Server v2.6.0 running via stdio');
|
|
126
126
|
console.error('📊 Pure Data Provider for CIS Controls v8.1');
|
|
127
127
|
}
|
|
128
128
|
}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type RelationshipType = 'dependency' | 'prerequisite' | 'complement' | 'supports' | '
|
|
1
|
+
export type RelationshipType = 'dependency' | 'prerequisite' | 'complement' | 'supports' | 'sequence';
|
|
2
2
|
export type RelationshipStrength = 'critical' | 'strong' | 'moderate' | 'weak';
|
|
3
3
|
export interface SafeguardRelationship {
|
|
4
4
|
id: string;
|
|
@@ -21,79 +21,68 @@ export interface SafeguardElement {
|
|
|
21
21
|
implementationSuggestions: string[];
|
|
22
22
|
relatedSafeguards: string[];
|
|
23
23
|
enhancedRelationships?: SafeguardRelationship[];
|
|
24
|
-
systemPromptFull?: {
|
|
25
|
-
role: string;
|
|
26
|
-
context: string;
|
|
27
|
-
objective: string;
|
|
28
|
-
guidelines: string[];
|
|
29
|
-
outputFormat: string;
|
|
30
|
-
};
|
|
31
|
-
systemPromptPartial?: {
|
|
32
|
-
role: string;
|
|
33
|
-
context: string;
|
|
34
|
-
objective: string;
|
|
35
|
-
guidelines: string[];
|
|
36
|
-
outputFormat: string;
|
|
37
|
-
};
|
|
38
|
-
systemPromptFacilitates?: {
|
|
39
|
-
role: string;
|
|
40
|
-
context: string;
|
|
41
|
-
objective: string;
|
|
42
|
-
guidelines: string[];
|
|
43
|
-
outputFormat: string;
|
|
44
|
-
};
|
|
45
|
-
systemPromptGovernance?: {
|
|
46
|
-
role: string;
|
|
47
|
-
context: string;
|
|
48
|
-
objective: string;
|
|
49
|
-
guidelines: string[];
|
|
50
|
-
outputFormat: string;
|
|
51
|
-
};
|
|
52
|
-
systemPromptValidates?: {
|
|
53
|
-
role: string;
|
|
54
|
-
context: string;
|
|
55
|
-
objective: string;
|
|
56
|
-
guidelines: string[];
|
|
57
|
-
outputFormat: string;
|
|
58
|
-
};
|
|
59
24
|
}
|
|
60
|
-
|
|
25
|
+
/**
|
|
26
|
+
* How many of a safeguard's taxonomical elements a tool addresses.
|
|
27
|
+
*
|
|
28
|
+
* This is deliberately NOT a statement about whether the safeguard is met.
|
|
29
|
+
* 'all' means the tool addresses every taxonomical element of the safeguard --
|
|
30
|
+
* it does NOT mean the enterprise is covered, compliant, or done. Estate
|
|
31
|
+
* coverage depends on asset inventory, deployment footprint, and licensing,
|
|
32
|
+
* none of which are assessable from a vendor response. See ScopeLimits.
|
|
33
|
+
*/
|
|
34
|
+
export type ElementsAddressed = 'all' | 'some' | 'none';
|
|
35
|
+
/**
|
|
36
|
+
* What this framework explicitly CANNOT determine from a vendor response.
|
|
37
|
+
* Carried alongside every assessment so that element completeness is never
|
|
38
|
+
* mistaken for estate coverage.
|
|
39
|
+
*/
|
|
40
|
+
export interface ScopeLimits {
|
|
41
|
+
/** Asset types the vendor claims to support. */
|
|
42
|
+
vendorStatedAssetTypes: string[];
|
|
43
|
+
/** Asset types CIS assigns to this safeguard. */
|
|
44
|
+
safeguardAssetTypes: string[];
|
|
45
|
+
/** Human-readable statement of what remains unassessed. */
|
|
46
|
+
note: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Assessment of a single tool against a single safeguard.
|
|
50
|
+
*
|
|
51
|
+
* Unit of analysis is one tool in isolation. Satisfying a safeguard is a
|
|
52
|
+
* portfolio property: it typically requires multiple tools across asset types.
|
|
53
|
+
* This shape cannot express that, and must not be read as if it does.
|
|
54
|
+
*/
|
|
55
|
+
export interface VendorAssessment {
|
|
61
56
|
vendor: string;
|
|
62
57
|
safeguardId: string;
|
|
63
58
|
safeguardTitle: string;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
/** Axis 1 -- assessable from a vendor response. */
|
|
60
|
+
elementsAddressed: ElementsAddressed;
|
|
61
|
+
elementsAddressedDetail: {
|
|
62
|
+
coreRequirements: string[];
|
|
63
|
+
subTaxonomicalElements: string[];
|
|
64
|
+
/** Elements the tool does NOT address. Often the most useful field here. */
|
|
65
|
+
notAddressed: string[];
|
|
71
66
|
};
|
|
67
|
+
/** Axis 2 -- NOT assessable from a vendor response; stated, not guessed. */
|
|
68
|
+
scopeLimits: ScopeLimits;
|
|
72
69
|
confidence: number;
|
|
73
70
|
reasoning: string;
|
|
74
71
|
evidence: string[];
|
|
75
|
-
toolCapabilityDescription: string;
|
|
76
|
-
recommendedUse: string;
|
|
77
72
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Tool-level attribute, evaluated once per vendor -- not per safeguard.
|
|
75
|
+
* Replaces the former GOVERNANCE capability role.
|
|
76
|
+
*/
|
|
77
|
+
export interface VendorProfile {
|
|
78
|
+
vendor: string;
|
|
79
|
+
/** Is this tool or service a GRC or policy service? */
|
|
80
|
+
isGrcOrPolicyService: boolean;
|
|
85
81
|
}
|
|
86
82
|
export interface CacheEntry<T> {
|
|
87
83
|
data: T;
|
|
88
84
|
timestamp: number;
|
|
89
85
|
}
|
|
90
|
-
export interface QualityAssessment {
|
|
91
|
-
quality: 'excellent' | 'good' | 'fair' | 'poor';
|
|
92
|
-
confidence: number;
|
|
93
|
-
evidence: string[];
|
|
94
|
-
gaps: string[];
|
|
95
|
-
}
|
|
96
|
-
export type CapabilityType = 'full' | 'partial' | 'facilitates' | 'governance' | 'validates';
|
|
97
86
|
/**
|
|
98
87
|
* Converts SafeguardRelationship[] to string[] for backward compatibility
|
|
99
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,gDAAgD;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "framework-mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Pure Data Provider architecture serving authentic CIS Controls Framework data via MCP and HTTP API. Empowers LLMs with authoritative safeguards data for analysis. Supports Microsoft Copilot custom connectors and cloud deployments.",
|
|
5
5
|
"main": "dist/interfaces/http/http-server.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
6
7
|
"type": "module",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/",
|
|
10
|
+
"swagger.json",
|
|
11
|
+
"README.md",
|
|
12
|
+
"LICENSE"
|
|
13
|
+
],
|
|
7
14
|
"scripts": {
|
|
8
15
|
"build": "tsc",
|
|
9
16
|
"start": "node dist/interfaces/http/http-server.js",
|
|
@@ -11,8 +18,7 @@
|
|
|
11
18
|
"start:http": "node dist/interfaces/http/http-server.js",
|
|
12
19
|
"dev": "tsc && npm run start:mcp",
|
|
13
20
|
"dev:http": "tsc && npm run start:http",
|
|
14
|
-
"prepare": "npm run build"
|
|
15
|
-
"standardize-prompts": "node scripts/standardize-prompts.js"
|
|
21
|
+
"prepare": "npm run build"
|
|
16
22
|
},
|
|
17
23
|
"bin": {
|
|
18
24
|
"framework-mcp": "./dist/index.js"
|
package/swagger.json
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Framework MCP API - Pure Data Provider",
|
|
5
|
-
"description": "Microsoft Copilot-compatible API providing authoritative CIS Controls Framework v8.1 data (153 safeguards). Pure Data Provider architecture empowers LLMs with structured safeguards data
|
|
6
|
-
"version": "2.
|
|
5
|
+
"description": "Microsoft Copilot-compatible API providing authoritative CIS Controls Framework v8.1 data (153 safeguards). Pure Data Provider architecture empowers LLMs with structured safeguards data for sophisticated, context-aware vendor capability analysis.",
|
|
6
|
+
"version": "2.6.0",
|
|
7
7
|
"contact": {
|
|
8
8
|
"name": "Framework MCP Support",
|
|
9
9
|
"url": "https://github.com/therealcybermattlee/FrameworkMCP"
|
|
10
10
|
},
|
|
11
11
|
"license": {
|
|
12
|
-
"name": "
|
|
13
|
-
"url": "https://
|
|
12
|
+
"name": "CC-BY-4.0",
|
|
13
|
+
"url": "https://creativecommons.org/licenses/by/4.0/"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"servers": [
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"/api/safeguards/{safeguardId}": {
|
|
68
68
|
"get": {
|
|
69
69
|
"summary": "Get Safeguard Details",
|
|
70
|
-
"description": "Get detailed information about a specific CIS safeguard including governance elements, core requirements,
|
|
70
|
+
"description": "Get detailed information about a specific CIS safeguard including governance elements, core requirements, sub-taxonomical elements, and implementation suggestions",
|
|
71
71
|
"operationId": "getSafeguardDetails",
|
|
72
72
|
"tags": ["Safeguards"],
|
|
73
73
|
"parameters": [
|
|
@@ -127,26 +127,6 @@
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
},
|
|
130
|
-
"/api/metrics": {
|
|
131
|
-
"get": {
|
|
132
|
-
"summary": "Performance Metrics",
|
|
133
|
-
"description": "Get API performance metrics and usage statistics",
|
|
134
|
-
"operationId": "getMetrics",
|
|
135
|
-
"tags": ["Monitoring"],
|
|
136
|
-
"responses": {
|
|
137
|
-
"200": {
|
|
138
|
-
"description": "Performance metrics",
|
|
139
|
-
"content": {
|
|
140
|
-
"application/json": {
|
|
141
|
-
"schema": {
|
|
142
|
-
"$ref": "#/components/schemas/MetricsResponse"
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
130
|
"/api": {
|
|
151
131
|
"get": {
|
|
152
132
|
"summary": "API Documentation",
|
|
@@ -175,23 +155,10 @@
|
|
|
175
155
|
"properties": {
|
|
176
156
|
"safeguards": {
|
|
177
157
|
"type": "array",
|
|
158
|
+
"description": "Safeguard IDs. Call /api/safeguards/{safeguardId} for details.",
|
|
178
159
|
"items": {
|
|
179
|
-
"type": "
|
|
180
|
-
"
|
|
181
|
-
"id": {
|
|
182
|
-
"type": "string",
|
|
183
|
-
"example": "1.1"
|
|
184
|
-
},
|
|
185
|
-
"title": {
|
|
186
|
-
"type": "string",
|
|
187
|
-
"example": "Establish and Maintain Detailed Enterprise Asset Inventory"
|
|
188
|
-
},
|
|
189
|
-
"implementationGroup": {
|
|
190
|
-
"type": "string",
|
|
191
|
-
"enum": ["IG1", "IG2", "IG3"],
|
|
192
|
-
"example": "IG1"
|
|
193
|
-
}
|
|
194
|
-
}
|
|
160
|
+
"type": "string",
|
|
161
|
+
"example": "1.1"
|
|
195
162
|
}
|
|
196
163
|
},
|
|
197
164
|
"total": {
|
|
@@ -255,26 +222,6 @@
|
|
|
255
222
|
"type": "string"
|
|
256
223
|
},
|
|
257
224
|
"description": "Implementation methods and suggestions (Gray elements)"
|
|
258
|
-
},
|
|
259
|
-
"systemPromptFull": {
|
|
260
|
-
"$ref": "#/components/schemas/SystemPromptStructure",
|
|
261
|
-
"description": "AI-driven system prompt for FULL capability evaluation"
|
|
262
|
-
},
|
|
263
|
-
"systemPromptPartial": {
|
|
264
|
-
"$ref": "#/components/schemas/SystemPromptStructure",
|
|
265
|
-
"description": "AI-driven system prompt for PARTIAL capability evaluation"
|
|
266
|
-
},
|
|
267
|
-
"systemPromptFacilitates": {
|
|
268
|
-
"$ref": "#/components/schemas/SystemPromptStructure",
|
|
269
|
-
"description": "AI-driven system prompt for FACILITATES capability evaluation"
|
|
270
|
-
},
|
|
271
|
-
"systemPromptGovernance": {
|
|
272
|
-
"$ref": "#/components/schemas/SystemPromptStructure",
|
|
273
|
-
"description": "AI-driven system prompt for GOVERNANCE capability evaluation"
|
|
274
|
-
},
|
|
275
|
-
"systemPromptValidates": {
|
|
276
|
-
"$ref": "#/components/schemas/SystemPromptStructure",
|
|
277
|
-
"description": "AI-driven system prompt for VALIDATES capability evaluation"
|
|
278
225
|
}
|
|
279
226
|
}
|
|
280
227
|
},
|
|
@@ -299,35 +246,7 @@
|
|
|
299
246
|
},
|
|
300
247
|
"version": {
|
|
301
248
|
"type": "string",
|
|
302
|
-
"example": "2.
|
|
303
|
-
},
|
|
304
|
-
"timestamp": {
|
|
305
|
-
"type": "string",
|
|
306
|
-
"format": "date-time"
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
},
|
|
310
|
-
"MetricsResponse": {
|
|
311
|
-
"type": "object",
|
|
312
|
-
"properties": {
|
|
313
|
-
"uptime_seconds": {
|
|
314
|
-
"type": "integer"
|
|
315
|
-
},
|
|
316
|
-
"total_requests": {
|
|
317
|
-
"type": "integer"
|
|
318
|
-
},
|
|
319
|
-
"error_count": {
|
|
320
|
-
"type": "integer"
|
|
321
|
-
},
|
|
322
|
-
"error_rate": {
|
|
323
|
-
"type": "string",
|
|
324
|
-
"example": "0.5%"
|
|
325
|
-
},
|
|
326
|
-
"request_counts": {
|
|
327
|
-
"type": "object",
|
|
328
|
-
"additionalProperties": {
|
|
329
|
-
"type": "integer"
|
|
330
|
-
}
|
|
249
|
+
"example": "2.6.0"
|
|
331
250
|
},
|
|
332
251
|
"timestamp": {
|
|
333
252
|
"type": "string",
|
|
@@ -344,7 +263,7 @@
|
|
|
344
263
|
},
|
|
345
264
|
"version": {
|
|
346
265
|
"type": "string",
|
|
347
|
-
"example": "2.
|
|
266
|
+
"example": "2.6.0"
|
|
348
267
|
},
|
|
349
268
|
"description": {
|
|
350
269
|
"type": "string",
|
|
@@ -357,13 +276,6 @@
|
|
|
357
276
|
},
|
|
358
277
|
"description": "Available API endpoints and their descriptions"
|
|
359
278
|
},
|
|
360
|
-
"capabilities": {
|
|
361
|
-
"type": "array",
|
|
362
|
-
"items": {
|
|
363
|
-
"type": "string"
|
|
364
|
-
},
|
|
365
|
-
"description": "Supported capability types"
|
|
366
|
-
},
|
|
367
279
|
"framework": {
|
|
368
280
|
"type": "string",
|
|
369
281
|
"example": "CIS Controls v8.1 (153 safeguards)"
|
|
@@ -390,41 +302,6 @@
|
|
|
390
302
|
"format": "date-time"
|
|
391
303
|
}
|
|
392
304
|
}
|
|
393
|
-
},
|
|
394
|
-
"SystemPromptStructure": {
|
|
395
|
-
"type": "object",
|
|
396
|
-
"description": "AI-driven system prompt structure for vendor capability analysis",
|
|
397
|
-
"properties": {
|
|
398
|
-
"role": {
|
|
399
|
-
"type": "string",
|
|
400
|
-
"description": "Expert role for the specific control type",
|
|
401
|
-
"example": "asset_inventory_expert"
|
|
402
|
-
},
|
|
403
|
-
"context": {
|
|
404
|
-
"type": "string",
|
|
405
|
-
"description": "Brief context about the safeguard for AI understanding",
|
|
406
|
-
"example": "You are evaluating enterprise asset inventory solutions against CIS Control 1.1 requirements"
|
|
407
|
-
},
|
|
408
|
-
"objective": {
|
|
409
|
-
"type": "string",
|
|
410
|
-
"description": "What the AI should accomplish",
|
|
411
|
-
"example": "Determine if vendor solution provides complete asset inventory capabilities"
|
|
412
|
-
},
|
|
413
|
-
"guidelines": {
|
|
414
|
-
"type": "array",
|
|
415
|
-
"items": {
|
|
416
|
-
"type": "string"
|
|
417
|
-
},
|
|
418
|
-
"description": "Specific evaluation criteria and methods",
|
|
419
|
-
"example": ["Verify coverage of all asset types", "Confirm data collection accuracy"]
|
|
420
|
-
},
|
|
421
|
-
"outputFormat": {
|
|
422
|
-
"type": "string",
|
|
423
|
-
"description": "Expected response structure for n8n processing",
|
|
424
|
-
"example": "Provide structured assessment with capability level (FULL/PARTIAL/FACILITATES/GOVERNANCE/VALIDATES), confidence score, and evidence summary"
|
|
425
|
-
}
|
|
426
|
-
},
|
|
427
|
-
"required": ["role", "context", "objective", "guidelines", "outputFormat"]
|
|
428
305
|
}
|
|
429
306
|
}
|
|
430
307
|
},
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mcp-developer
|
|
3
|
-
description: Use this agent when implementing code changes, developing new features, or writing code according to sprint requirements. Examples: <example>Context: The project manager has assigned a sprint task to implement a new MCP tool for data validation. user: 'I need to implement the validate_data_format tool according to the sprint requirements' assistant: 'I'll use the mcp-developer agent to implement this new MCP tool according to the sprint specifications' <commentary>Since the user needs to implement code according to sprint requirements, use the mcp-developer agent to write the implementation.</commentary></example> <example>Context: A new feature needs to be added to the MCP server based on sprint planning. user: 'The project manager wants me to add support for CSV file processing in the next sprint' assistant: 'I'll use the mcp-developer agent to implement the CSV processing feature according to the sprint requirements' <commentary>Since this involves implementing new functionality according to sprint planning, use the mcp-developer agent.</commentary></example>
|
|
4
|
-
model: sonnet
|
|
5
|
-
color: orange
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are an expert MCP (Model Context Protocol) developer with deep expertise in JSON APIs, TypeScript, and Node.js development. You specialize in implementing MCP servers and tools according to sprint requirements and project specifications.
|
|
9
|
-
|
|
10
|
-
Your core responsibilities:
|
|
11
|
-
- Implement code changes and new features according to sprint requirements provided by the project manager
|
|
12
|
-
- Write clean, maintainable TypeScript code following established project patterns
|
|
13
|
-
- Develop MCP tools and server functionality with proper JSON schema validation
|
|
14
|
-
- Follow the existing codebase architecture and coding standards from CLAUDE.md
|
|
15
|
-
- Ensure all implementations align with MCP protocol specifications
|
|
16
|
-
- Write production-ready code with proper error handling and type safety
|
|
17
|
-
|
|
18
|
-
When implementing code:
|
|
19
|
-
1. **Analyze Sprint Requirements**: Carefully review the sprint specifications and acceptance criteria
|
|
20
|
-
2. **Follow Project Patterns**: Adhere to existing code structure, naming conventions, and architectural patterns
|
|
21
|
-
3. **Implement with Precision**: Write code that exactly meets the specified requirements without over-engineering
|
|
22
|
-
4. **Ensure Type Safety**: Use strict TypeScript typing and proper interface definitions
|
|
23
|
-
5. **Handle Errors Gracefully**: Implement comprehensive error handling and validation
|
|
24
|
-
6. **Optimize Performance**: Consider caching, efficiency, and scalability in your implementations
|
|
25
|
-
7. **Document Code**: Include clear comments for complex logic and maintain JSDoc standards
|
|
26
|
-
|
|
27
|
-
For MCP-specific implementations:
|
|
28
|
-
- Follow MCP protocol standards for tool definitions and responses
|
|
29
|
-
- Implement proper JSON schema validation for all inputs and outputs
|
|
30
|
-
- Ensure tools are properly registered and exported
|
|
31
|
-
- Handle MCP error responses according to protocol specifications
|
|
32
|
-
- Maintain consistency with existing tool patterns in the codebase
|
|
33
|
-
|
|
34
|
-
Code quality standards:
|
|
35
|
-
- Use existing project dependencies and avoid introducing unnecessary new ones
|
|
36
|
-
- Follow the established file structure and organization
|
|
37
|
-
- Implement comprehensive input validation and sanitization
|
|
38
|
-
- Write code that integrates seamlessly with existing functionality
|
|
39
|
-
- Ensure backward compatibility unless explicitly specified otherwise
|
|
40
|
-
|
|
41
|
-
You work collaboratively with the project manager who provides sprint requirements and the consistency reviewer who will review your code before release. Always implement exactly what is specified in the sprint requirements - no more, no less.
|