framework-mcp 1.3.7 → 1.5.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/COPILOT_INTEGRATION.md +49 -62
- package/DEPLOYMENT_GUIDE.md +46 -47
- package/MCP_INTEGRATION_GUIDE.md +96 -129
- package/MIGRATION_GUIDE_v1.4.0.md +190 -0
- package/README.md +148 -173
- package/RELEASE_NOTES_v1.4.0.md +178 -0
- package/dist/core/safeguard-manager.d.ts.map +1 -1
- package/dist/core/safeguard-manager.js +2271 -153
- package/dist/core/safeguard-manager.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/http/http-server.d.ts +0 -4
- package/dist/interfaces/http/http-server.d.ts.map +1 -1
- package/dist/interfaces/http/http-server.js +6 -85
- package/dist/interfaces/http/http-server.js.map +1 -1
- package/dist/interfaces/mcp/mcp-server.d.ts +0 -4
- package/dist/interfaces/mcp/mcp-server.d.ts.map +1 -1
- package/dist/interfaces/mcp/mcp-server.js +4 -71
- package/dist/interfaces/mcp/mcp-server.js.map +1 -1
- package/dist/shared/types.d.ts +7 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/examples/llm-analysis-patterns.md +553 -0
- package/package.json +2 -2
- package/scripts/validate-documentation.sh +4 -4
- package/src/core/safeguard-manager.ts +2271 -153
- package/src/index.ts +1 -2
- package/src/interfaces/http/http-server.ts +6 -101
- package/src/interfaces/mcp/mcp-server.ts +4 -85
- package/src/shared/types.ts +7 -0
- package/swagger.json +43 -168
- package/dist/core/capability-analyzer.d.ts +0 -23
- package/dist/core/capability-analyzer.d.ts.map +0 -1
- package/dist/core/capability-analyzer.js +0 -333
- package/dist/core/capability-analyzer.js.map +0 -1
- package/src/core/capability-analyzer.ts +0 -417
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,
|
|
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;AAE/D,qFAAqF"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
export declare class FrameworkHttpServer {
|
|
3
3
|
private app;
|
|
4
|
-
private capabilityAnalyzer;
|
|
5
4
|
private safeguardManager;
|
|
6
5
|
private port;
|
|
7
6
|
constructor(port?: number);
|
|
8
7
|
private setupMiddleware;
|
|
9
8
|
private setupRoutes;
|
|
10
9
|
private setupErrorHandling;
|
|
11
|
-
private validateInput;
|
|
12
|
-
private validateTextInput;
|
|
13
|
-
private validateCapability;
|
|
14
10
|
private createErrorResponse;
|
|
15
11
|
start(): void;
|
|
16
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAcA,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,GAAE,MAAa;IAU/B,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,WAAW;IA0EnB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;IAQpB,KAAK,IAAI,IAAI;CAoBrB"}
|
|
@@ -3,12 +3,10 @@ import express from 'express';
|
|
|
3
3
|
import cors from 'cors';
|
|
4
4
|
import helmet from 'helmet';
|
|
5
5
|
import compression from 'compression';
|
|
6
|
-
import { CapabilityAnalyzer } from '../../core/capability-analyzer.js';
|
|
7
6
|
import { SafeguardManager } from '../../core/safeguard-manager.js';
|
|
8
7
|
export class FrameworkHttpServer {
|
|
9
8
|
constructor(port = 8080) {
|
|
10
9
|
this.app = express();
|
|
11
|
-
this.capabilityAnalyzer = new CapabilityAnalyzer();
|
|
12
10
|
this.safeguardManager = new SafeguardManager();
|
|
13
11
|
this.port = port;
|
|
14
12
|
this.setupMiddleware();
|
|
@@ -49,35 +47,13 @@ export class FrameworkHttpServer {
|
|
|
49
47
|
setupRoutes() {
|
|
50
48
|
// Health check endpoint (required for DigitalOcean App Services)
|
|
51
49
|
this.app.get('/health', (req, res) => {
|
|
52
|
-
const metrics = this.capabilityAnalyzer.getPerformanceMetrics();
|
|
53
50
|
res.json({
|
|
54
51
|
status: 'healthy',
|
|
55
|
-
uptime: Math.round(
|
|
56
|
-
|
|
57
|
-
errorCount: metrics.errorCount,
|
|
58
|
-
version: '1.3.7',
|
|
52
|
+
uptime: Math.round(process.uptime()),
|
|
53
|
+
version: '1.4.0',
|
|
59
54
|
timestamp: new Date().toISOString()
|
|
60
55
|
});
|
|
61
56
|
});
|
|
62
|
-
// Capability analysis endpoint
|
|
63
|
-
this.app.post('/api/analyze-vendor-response', async (req, res) => {
|
|
64
|
-
try {
|
|
65
|
-
const { vendor_name, safeguard_id, response_text } = req.body;
|
|
66
|
-
this.validateInput(req.body, ['vendor_name', 'safeguard_id', 'response_text']);
|
|
67
|
-
this.validateTextInput(response_text, 'Response text');
|
|
68
|
-
this.safeguardManager.validateSafeguardId(safeguard_id);
|
|
69
|
-
const safeguard = this.safeguardManager.getSafeguardDetails(safeguard_id);
|
|
70
|
-
if (!safeguard) {
|
|
71
|
-
return res.status(404).json(this.createErrorResponse('Safeguard not found'));
|
|
72
|
-
}
|
|
73
|
-
const result = this.capabilityAnalyzer.performCapabilityAnalysis(vendor_name, safeguard, response_text);
|
|
74
|
-
res.json(result);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
console.error('[HTTP Server] analyze-vendor-response error:', error);
|
|
78
|
-
res.status(400).json(this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error'));
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
57
|
// Get safeguard details endpoint
|
|
82
58
|
this.app.get('/api/safeguards/:safeguardId', (req, res) => {
|
|
83
59
|
try {
|
|
@@ -111,46 +87,18 @@ export class FrameworkHttpServer {
|
|
|
111
87
|
res.status(500).json(this.createErrorResponse('Internal server error'));
|
|
112
88
|
}
|
|
113
89
|
});
|
|
114
|
-
// Performance metrics endpoint
|
|
115
|
-
this.app.get('/api/metrics', (req, res) => {
|
|
116
|
-
try {
|
|
117
|
-
const metrics = this.capabilityAnalyzer.getPerformanceMetrics();
|
|
118
|
-
res.json({
|
|
119
|
-
uptime_seconds: Math.round((Date.now() - metrics.uptime) / 1000),
|
|
120
|
-
total_requests: metrics.totalRequests,
|
|
121
|
-
error_count: metrics.errorCount,
|
|
122
|
-
error_rate: metrics.totalRequests > 0 ?
|
|
123
|
-
((metrics.errorCount / metrics.totalRequests) * 100).toFixed(2) + '%' : '0%',
|
|
124
|
-
request_counts: Object.fromEntries(metrics.requestCounts),
|
|
125
|
-
timestamp: new Date().toISOString()
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
console.error('[HTTP Server] metrics error:', error);
|
|
130
|
-
res.status(500).json(this.createErrorResponse('Metrics unavailable'));
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
90
|
// API documentation endpoint
|
|
134
91
|
this.app.get('/api', (req, res) => {
|
|
135
92
|
res.json({
|
|
136
93
|
name: 'Framework MCP HTTP API',
|
|
137
|
-
version: '1.
|
|
138
|
-
description: '
|
|
94
|
+
version: '1.4.0',
|
|
95
|
+
description: 'Pure Data Provider serving authentic CIS Controls Framework data',
|
|
139
96
|
endpoints: {
|
|
140
|
-
'POST /api/analyze-vendor-response': 'Primary capability analysis for vendor responses',
|
|
141
97
|
'GET /api/safeguards': 'List all available CIS safeguards',
|
|
142
98
|
'GET /api/safeguards/:id': 'Get detailed safeguard breakdown',
|
|
143
99
|
'GET /health': 'Health check endpoint',
|
|
144
|
-
'GET /api/metrics': 'Performance metrics',
|
|
145
100
|
'GET /api': 'This documentation'
|
|
146
101
|
},
|
|
147
|
-
capabilities: [
|
|
148
|
-
'FULL - Complete implementation of safeguard',
|
|
149
|
-
'PARTIAL - Limited scope implementation',
|
|
150
|
-
'FACILITATES - Enhancement capabilities',
|
|
151
|
-
'GOVERNANCE - Policy/process management',
|
|
152
|
-
'VALIDATES - Evidence collection and reporting'
|
|
153
|
-
],
|
|
154
102
|
framework: 'CIS Controls v8.1 (153 safeguards)',
|
|
155
103
|
deployment: 'DigitalOcean App Services compatible'
|
|
156
104
|
});
|
|
@@ -173,33 +121,6 @@ export class FrameworkHttpServer {
|
|
|
173
121
|
}
|
|
174
122
|
});
|
|
175
123
|
}
|
|
176
|
-
validateInput(body, requiredFields) {
|
|
177
|
-
if (!body || typeof body !== 'object') {
|
|
178
|
-
throw new Error('Request body is required and must be valid JSON');
|
|
179
|
-
}
|
|
180
|
-
for (const field of requiredFields) {
|
|
181
|
-
if (!body[field] || typeof body[field] !== 'string') {
|
|
182
|
-
throw new Error(`Field '${field}' is required and must be a non-empty string`);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
validateTextInput(text, fieldName) {
|
|
187
|
-
if (typeof text !== 'string') {
|
|
188
|
-
throw new Error(`${fieldName} must be a string`);
|
|
189
|
-
}
|
|
190
|
-
if (text.length < 10) {
|
|
191
|
-
throw new Error(`${fieldName} must be at least 10 characters long`);
|
|
192
|
-
}
|
|
193
|
-
if (text.length > 10000) {
|
|
194
|
-
throw new Error(`${fieldName} must be less than 10,000 characters`);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
validateCapability(capability) {
|
|
198
|
-
const validCapabilities = ['full', 'partial', 'facilitates', 'governance', 'validates'];
|
|
199
|
-
if (!validCapabilities.includes(capability.toLowerCase())) {
|
|
200
|
-
throw new Error(`Invalid capability '${capability}'. Valid options: ${validCapabilities.join(', ')}`);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
124
|
createErrorResponse(error, details) {
|
|
204
125
|
return {
|
|
205
126
|
error,
|
|
@@ -209,11 +130,11 @@ export class FrameworkHttpServer {
|
|
|
209
130
|
}
|
|
210
131
|
start() {
|
|
211
132
|
this.app.listen(this.port, '0.0.0.0', () => {
|
|
212
|
-
console.log(`🚀 Framework MCP HTTP Server v1.
|
|
133
|
+
console.log(`🚀 Framework MCP HTTP Server v1.4.0 running on port ${this.port}`);
|
|
213
134
|
console.log(`📊 Health check: http://localhost:${this.port}/health`);
|
|
214
135
|
console.log(`📖 API docs: http://localhost:${this.port}/api`);
|
|
215
136
|
console.log(`🔧 Environment: ${process.env.NODE_ENV || 'development'}`);
|
|
216
|
-
console.log(
|
|
137
|
+
console.log(`📊 Pure Data Provider - CIS Controls v8.1`);
|
|
217
138
|
});
|
|
218
139
|
// Graceful shutdown handling
|
|
219
140
|
process.on('SIGTERM', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../../src/interfaces/http/http-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
export declare class FrameworkMcpServer {
|
|
3
3
|
private server;
|
|
4
|
-
private capabilityAnalyzer;
|
|
5
4
|
private safeguardManager;
|
|
6
5
|
constructor();
|
|
7
6
|
private setupHandlers;
|
|
8
|
-
private analyzeVendorResponse;
|
|
9
7
|
private getSafeguardDetails;
|
|
10
8
|
private listAvailableSafeguards;
|
|
11
|
-
private validateTextInput;
|
|
12
|
-
private validateCapability;
|
|
13
9
|
private formatErrorMessage;
|
|
14
10
|
run(): Promise<void>;
|
|
15
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/mcp/mcp-server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/interfaces/mcp/mcp-server.ts"],"names":[],"mappings":";AAYA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;;IAe3C,OAAO,CAAC,aAAa;YAuEP,mBAAmB;YAoBnB,uBAAuB;IAkBrC,OAAO,CAAC,kBAAkB;IAab,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
|
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import { CapabilityAnalyzer } from '../../core/capability-analyzer.js';
|
|
6
5
|
import { SafeguardManager } from '../../core/safeguard-manager.js';
|
|
7
6
|
export class FrameworkMcpServer {
|
|
8
7
|
constructor() {
|
|
9
8
|
this.server = new Server({
|
|
10
9
|
name: 'framework-analyzer',
|
|
11
|
-
version: '1.
|
|
10
|
+
version: '1.4.0',
|
|
12
11
|
});
|
|
13
|
-
this.capabilityAnalyzer = new CapabilityAnalyzer();
|
|
14
12
|
this.safeguardManager = new SafeguardManager();
|
|
15
13
|
this.setupHandlers();
|
|
16
14
|
}
|
|
@@ -19,28 +17,6 @@ export class FrameworkMcpServer {
|
|
|
19
17
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
20
18
|
return {
|
|
21
19
|
tools: [
|
|
22
|
-
{
|
|
23
|
-
name: 'analyze_vendor_response',
|
|
24
|
-
description: 'Determine vendor tool capability role for specific safeguard',
|
|
25
|
-
inputSchema: {
|
|
26
|
-
type: 'object',
|
|
27
|
-
properties: {
|
|
28
|
-
vendor_name: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
description: 'Name of the vendor'
|
|
31
|
-
},
|
|
32
|
-
safeguard_id: {
|
|
33
|
-
type: 'string',
|
|
34
|
-
description: 'CIS safeguard ID (e.g., "1.1", "5.1")'
|
|
35
|
-
},
|
|
36
|
-
response_text: {
|
|
37
|
-
type: 'string',
|
|
38
|
-
description: 'Vendor response text to analyze'
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
required: ['vendor_name', 'safeguard_id', 'response_text']
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
20
|
{
|
|
45
21
|
name: 'get_safeguard_details',
|
|
46
22
|
description: 'Get detailed safeguard breakdown',
|
|
@@ -76,8 +52,6 @@ export class FrameworkMcpServer {
|
|
|
76
52
|
const { name, arguments: args } = request.params;
|
|
77
53
|
try {
|
|
78
54
|
switch (name) {
|
|
79
|
-
case 'analyze_vendor_response':
|
|
80
|
-
return await this.analyzeVendorResponse(args);
|
|
81
55
|
case 'get_safeguard_details':
|
|
82
56
|
return await this.getSafeguardDetails(args);
|
|
83
57
|
case 'list_available_safeguards':
|
|
@@ -103,24 +77,6 @@ export class FrameworkMcpServer {
|
|
|
103
77
|
}
|
|
104
78
|
});
|
|
105
79
|
}
|
|
106
|
-
async analyzeVendorResponse(args) {
|
|
107
|
-
const { vendor_name = 'Unknown Vendor', safeguard_id, response_text } = args;
|
|
108
|
-
this.validateTextInput(response_text, 'Response text');
|
|
109
|
-
this.safeguardManager.validateSafeguardId(safeguard_id);
|
|
110
|
-
const safeguard = this.safeguardManager.getSafeguardDetails(safeguard_id);
|
|
111
|
-
if (!safeguard) {
|
|
112
|
-
throw new Error(`Safeguard ${safeguard_id} not found`);
|
|
113
|
-
}
|
|
114
|
-
const analysis = this.capabilityAnalyzer.performCapabilityAnalysis(vendor_name, safeguard, response_text);
|
|
115
|
-
return {
|
|
116
|
-
content: [
|
|
117
|
-
{
|
|
118
|
-
type: 'text',
|
|
119
|
-
text: JSON.stringify(analysis, null, 2),
|
|
120
|
-
},
|
|
121
|
-
],
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
80
|
async getSafeguardDetails(args) {
|
|
125
81
|
const { safeguard_id, include_examples = false } = args;
|
|
126
82
|
this.safeguardManager.validateSafeguardId(safeguard_id);
|
|
@@ -147,41 +103,18 @@ export class FrameworkMcpServer {
|
|
|
147
103
|
safeguards,
|
|
148
104
|
total: safeguards.length,
|
|
149
105
|
framework: 'CIS Controls v8.1',
|
|
150
|
-
version: '1.
|
|
106
|
+
version: '1.4.0'
|
|
151
107
|
}, null, 2),
|
|
152
108
|
},
|
|
153
109
|
],
|
|
154
110
|
};
|
|
155
111
|
}
|
|
156
|
-
validateTextInput(text, fieldName) {
|
|
157
|
-
if (typeof text !== 'string') {
|
|
158
|
-
throw new Error(`${fieldName} must be a string`);
|
|
159
|
-
}
|
|
160
|
-
if (text.length < 10) {
|
|
161
|
-
throw new Error(`${fieldName} must be at least 10 characters long`);
|
|
162
|
-
}
|
|
163
|
-
if (text.length > 10000) {
|
|
164
|
-
throw new Error(`${fieldName} must be less than 10,000 characters`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
validateCapability(capability) {
|
|
168
|
-
const validCapabilities = ['full', 'partial', 'facilitates', 'governance', 'validates'];
|
|
169
|
-
if (!validCapabilities.includes(capability.toLowerCase())) {
|
|
170
|
-
throw new Error(`Invalid capability '${capability}'. Valid options: ${validCapabilities.join(', ')}`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
112
|
formatErrorMessage(error, toolName) {
|
|
174
113
|
if (error instanceof Error) {
|
|
175
114
|
// Provide helpful guidance for common errors
|
|
176
115
|
if (error.message.includes('Safeguard') && error.message.includes('not found')) {
|
|
177
116
|
return `${error.message}. Use list_available_safeguards to see all available options.`;
|
|
178
117
|
}
|
|
179
|
-
if (error.message.includes('Invalid capability')) {
|
|
180
|
-
return `${error.message}. Capability roles determine what function the vendor tool plays in safeguard implementation.`;
|
|
181
|
-
}
|
|
182
|
-
if (error.message.includes('characters')) {
|
|
183
|
-
return `${error.message}. Ensure your input text is substantive enough for analysis.`;
|
|
184
|
-
}
|
|
185
118
|
return error.message;
|
|
186
119
|
}
|
|
187
120
|
return `Unknown error in tool ${toolName}`;
|
|
@@ -189,8 +122,8 @@ export class FrameworkMcpServer {
|
|
|
189
122
|
async run() {
|
|
190
123
|
const transport = new StdioServerTransport();
|
|
191
124
|
await this.server.connect(transport);
|
|
192
|
-
console.error('🤖 Framework MCP Server v1.
|
|
193
|
-
console.error('📊
|
|
125
|
+
console.error('🤖 Framework MCP Server v1.4.0 running via stdio');
|
|
126
|
+
console.error('📊 Pure Data Provider for CIS Controls v8.1');
|
|
194
127
|
}
|
|
195
128
|
}
|
|
196
129
|
// Start server if this file is run directly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/interfaces/mcp/mcp-server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/interfaces/mcp/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -11,6 +11,13 @@ export interface SafeguardElement {
|
|
|
11
11
|
implementationSuggestions: string[];
|
|
12
12
|
relatedSafeguards: string[];
|
|
13
13
|
keywords: string[];
|
|
14
|
+
systemPrompt?: {
|
|
15
|
+
role: string;
|
|
16
|
+
context: string;
|
|
17
|
+
objective: string;
|
|
18
|
+
guidelines: string[];
|
|
19
|
+
outputFormat: string;
|
|
20
|
+
};
|
|
14
21
|
}
|
|
15
22
|
export interface VendorAnalysis {
|
|
16
23
|
vendor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;IAE5E,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC"}
|