@grc-claw/mcp-server 0.8.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/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import { MCPServer } from "./server.js";
3
+ const config = {
4
+ baseUrl: process.env.GRC_CLAW_GATEWAY_URL ?? "http://localhost:37777",
5
+ token: process.env.GRC_CLAW_TOKEN,
6
+ };
7
+ const server = new MCPServer(config);
8
+ server.start();
9
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC;AAE9D,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,wBAAwB;IACrE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;CAClC,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACrC,MAAM,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { MCPServer, type MCPServerConfig } from "./server.js";
2
+ export type { MCPTool, MCPResource, MCPPrompt, MCPPromptArgument, JSONRPCRequest, JSONRPCResponse, InitializeParams, InitializeResult, ToolCallParams, ToolResult, ResourceReadParams, PromptGetParams, } from "./types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,OAAO,EACP,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { MCPServer } from "./server.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ import { describe, it, beforeEach } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { MCPServer } from "./server.js";
4
+ function makeRequest(id, method, params) {
5
+ return { jsonrpc: "2.0", id, method, params };
6
+ }
7
+ function getConfig() {
8
+ return { baseUrl: "http://localhost:37777" };
9
+ }
10
+ describe("MCPServer", () => {
11
+ let server;
12
+ beforeEach(() => {
13
+ server = new MCPServer(getConfig());
14
+ });
15
+ it("should respond to initialize with protocol version and capabilities", async () => {
16
+ const res = await server.handleRequest(makeRequest(1, "initialize", {
17
+ protocolVersion: "2024-11-05",
18
+ capabilities: {},
19
+ clientInfo: { name: "test-client", version: "1.0.0" },
20
+ }));
21
+ assert.equal(res.jsonrpc, "2.0");
22
+ assert.equal(res.id, 1);
23
+ assert.ok(!res.error);
24
+ const result = res.result;
25
+ assert.equal(result.protocolVersion, "2024-11-05");
26
+ assert.ok(result.serverInfo);
27
+ assert.equal(result.serverInfo.name, "grc-claw-mcp");
28
+ assert.ok(result.capabilities);
29
+ assert.ok(result.capabilities.tools);
30
+ assert.ok(result.capabilities.resources);
31
+ assert.ok(result.capabilities.prompts);
32
+ });
33
+ it("should return all tools on tools/list", async () => {
34
+ const res = await server.handleRequest(makeRequest(2, "tools/list"));
35
+ assert.ok(!res.error);
36
+ const result = res.result;
37
+ assert.ok(result.tools.length >= 10);
38
+ const names = result.tools.map((t) => t.name);
39
+ assert.ok(names.includes("grc_list_frameworks"));
40
+ assert.ok(names.includes("grc_check_control"));
41
+ assert.ok(names.includes("grc_list_evidence"));
42
+ assert.ok(names.includes("grc_get_posture"));
43
+ assert.ok(names.includes("grc_list_vendors"));
44
+ assert.ok(names.includes("grc_get_risk_score"));
45
+ assert.ok(names.includes("grc_list_incidents"));
46
+ assert.ok(names.includes("grc_list_findings"));
47
+ assert.ok(names.includes("grc_run_scan"));
48
+ assert.ok(names.includes("grc_get_entity_report"));
49
+ });
50
+ it("should return error for tools/call with unknown tool", async () => {
51
+ const res = await server.handleRequest(makeRequest(3, "tools/call", {
52
+ name: "nonexistent_tool",
53
+ arguments: {},
54
+ }));
55
+ assert.ok(!res.error);
56
+ const result = res.result;
57
+ assert.equal(result.isError, true);
58
+ assert.ok(result.content[0].text.includes("Unknown tool"));
59
+ });
60
+ it("should return all resources on resources/list", async () => {
61
+ const res = await server.handleRequest(makeRequest(4, "resources/list"));
62
+ assert.ok(!res.error);
63
+ const result = res.result;
64
+ assert.ok(result.resources.length >= 3);
65
+ const uris = result.resources.map((r) => r.uri);
66
+ assert.ok(uris.includes("grc://frameworks"));
67
+ assert.ok(uris.includes("grc://posture"));
68
+ assert.ok(uris.includes("grc://risk-register"));
69
+ });
70
+ it("should return error for unknown resource URI", async () => {
71
+ const res = await server.handleRequest(makeRequest(5, "resources/read", {
72
+ uri: "grc://unknown-resource",
73
+ }));
74
+ assert.ok(res.error);
75
+ assert.equal(res.error.code, -32603);
76
+ });
77
+ it("should return all prompts on prompts/list", async () => {
78
+ const res = await server.handleRequest(makeRequest(6, "prompts/list"));
79
+ assert.ok(!res.error);
80
+ const result = res.result;
81
+ assert.equal(result.prompts.length, 3);
82
+ const names = result.prompts.map((p) => p.name);
83
+ assert.ok(names.includes("compliance_summary"));
84
+ assert.ok(names.includes("risk_assessment"));
85
+ assert.ok(names.includes("audit_prep"));
86
+ });
87
+ it("should return prompt text on prompts/get", async () => {
88
+ const res = await server.handleRequest(makeRequest(7, "prompts/get", {
89
+ name: "compliance_summary",
90
+ arguments: { framework: "soc2" },
91
+ }));
92
+ assert.ok(!res.error);
93
+ const result = res.result;
94
+ assert.ok(result.messages[0].content.text.includes("soc2"));
95
+ });
96
+ it("should return method not found for unknown methods", async () => {
97
+ const res = await server.handleRequest(makeRequest(8, "unknown/method"));
98
+ assert.ok(res.error);
99
+ assert.equal(res.error.code, -32601);
100
+ assert.ok(res.error.message.includes("Method not found"));
101
+ });
102
+ it("should handle malformed JSON-RPC by returning parse error", async () => {
103
+ const request = { jsonrpc: "1.0", id: 9, method: "test" };
104
+ const res = await server.handleRequest(request);
105
+ // The server handles this at the transport level, but the request object
106
+ // still gets processed — this tests the idempotency of the handler
107
+ assert.ok(res.jsonrpc === "2.0");
108
+ });
109
+ });
110
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC;AAE9D,SAAS,WAAW,CAAC,EAA0B,EAAE,MAAc,EAAE,MAAgC;IAC/F,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAC/C,CAAC;AAED,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,MAAiB,CAAC;IAEtB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE;YAClE,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE;SACtD,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAiC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAE,MAAM,CAAC,UAAqC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACjF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAE,MAAM,CAAC,YAAwC,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAE,MAAM,CAAC,YAAwC,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAE,MAAM,CAAC,YAAwC,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAErE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAA4C,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE;YAClE,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAgE,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAA+C,CAAC;QACnE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,EAAE;YACtE,GAAG,EAAE,wBAAwB;SAC9B,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAEvE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAA8C,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE;YACnE,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAA4D,CAAC;QAChF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAa,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,OAAoD,CAAC,CAAC;QAE7F,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { JSONRPCRequest, JSONRPCResponse } from "./types.js";
2
+ export interface MCPServerConfig {
3
+ baseUrl: string;
4
+ token?: string;
5
+ }
6
+ export declare class MCPServer {
7
+ private config;
8
+ private initialized;
9
+ constructor(config: MCPServerConfig);
10
+ handleRequest(request: JSONRPCRequest): Promise<JSONRPCResponse>;
11
+ start(): void;
12
+ }
13
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,cAAc,EACd,eAAe,EAKhB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2gBD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,eAAe;IAI7B,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAuDtE,KAAK,IAAI,IAAI;CAqBd"}
package/dist/server.js ADDED
@@ -0,0 +1,595 @@
1
+ import { createInterface } from "node:readline";
2
+ const SERVER_INFO = { name: "grc-claw-mcp", version: "0.1.0" };
3
+ const PROTOCOL_VERSION = "2024-11-05";
4
+ const TOOLS = [
5
+ {
6
+ name: "grc_list_frameworks",
7
+ description: "List all compliance frameworks managed by GRC_Claw",
8
+ inputSchema: { type: "object", properties: {} },
9
+ },
10
+ {
11
+ name: "grc_check_control",
12
+ description: "Check the status of a specific compliance control",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {
16
+ controlId: { type: "string", description: "Control identifier (e.g. A.5.1.1)" },
17
+ framework: { type: "string", description: "Framework name (e.g. iso27001, soc2)" },
18
+ },
19
+ required: ["controlId"],
20
+ },
21
+ },
22
+ {
23
+ name: "grc_list_evidence",
24
+ description: "List evidence artifacts for a specific control",
25
+ inputSchema: {
26
+ type: "object",
27
+ properties: {
28
+ controlId: { type: "string", description: "Control identifier" },
29
+ },
30
+ required: ["controlId"],
31
+ },
32
+ },
33
+ {
34
+ name: "grc_get_posture",
35
+ description: "Get the current compliance posture summary",
36
+ inputSchema: {
37
+ type: "object",
38
+ properties: {
39
+ framework: { type: "string", description: "Framework to filter by" },
40
+ },
41
+ },
42
+ },
43
+ {
44
+ name: "grc_list_vendors",
45
+ description: "List third-party vendors and their risk ratings",
46
+ inputSchema: { type: "object", properties: {} },
47
+ },
48
+ {
49
+ name: "grc_get_risk_score",
50
+ description: "Get the current risk score for the organization",
51
+ inputSchema: { type: "object", properties: {} },
52
+ },
53
+ {
54
+ name: "grc_list_incidents",
55
+ description: "List security incidents",
56
+ inputSchema: {
57
+ type: "object",
58
+ properties: {
59
+ status: { type: "string", description: "Filter by status (open, investigating, resolved)" },
60
+ },
61
+ },
62
+ },
63
+ {
64
+ name: "grc_list_findings",
65
+ description: "List audit findings",
66
+ inputSchema: {
67
+ type: "object",
68
+ properties: {
69
+ severity: { type: "string", description: "Filter by severity (critical, high, medium, low)" },
70
+ },
71
+ },
72
+ },
73
+ {
74
+ name: "grc_run_scan",
75
+ description: "Run a compliance scan against a framework",
76
+ inputSchema: {
77
+ type: "object",
78
+ properties: {
79
+ framework: { type: "string", description: "Framework to scan against" },
80
+ },
81
+ required: ["framework"],
82
+ },
83
+ },
84
+ {
85
+ name: "grc_get_entity_report",
86
+ description: "Get a compliance report for a specific entity",
87
+ inputSchema: {
88
+ type: "object",
89
+ properties: {
90
+ entityId: { type: "string", description: "Entity identifier" },
91
+ },
92
+ required: ["entityId"],
93
+ },
94
+ },
95
+ // v4.0 tools
96
+ {
97
+ name: "grc_ask_copilot",
98
+ description: "Ask GRC Copilot a natural-language question about your compliance posture — powered by Claude + proof ledger RAG",
99
+ inputSchema: {
100
+ type: "object",
101
+ properties: {
102
+ question: { type: "string", description: "Your compliance question (e.g. 'Why is A.12.6.1 failing?' or 'What do I need to reach ISO 27001 Gold?')" },
103
+ orgSlug: { type: "string", description: "Organization slug for posture context" },
104
+ framework: { type: "string", description: "Framework to focus on (iso27001, soc2, nist-csf, iso42001, eu-ai-act)" },
105
+ },
106
+ required: ["question"],
107
+ },
108
+ },
109
+ {
110
+ name: "grc_scan_iac",
111
+ description: "Scan Terraform, CloudFormation, or Kubernetes YAML files for compliance misconfigurations mapped to ISO 27001 / SOC 2 controls",
112
+ inputSchema: {
113
+ type: "object",
114
+ properties: {
115
+ path: { type: "string", description: "Directory path containing IaC files (default: current directory)" },
116
+ framework: { type: "string", description: "Filter findings by framework (iso27001, soc2, nist-csf)" },
117
+ },
118
+ },
119
+ },
120
+ {
121
+ name: "grc_generate_sbom",
122
+ description: "Generate an AI Bill of Materials in SPDX 2.3 or CycloneDX 1.5 format — EU AI Act Art.11 compliant",
123
+ inputSchema: {
124
+ type: "object",
125
+ properties: {
126
+ agentName: { type: "string", description: "Name of the AI agent or application" },
127
+ format: { type: "string", description: "Output format: spdx or cyclonedx (default: cyclonedx)" },
128
+ scanDeps: { type: "boolean", description: "Also scan package.json for AI/ML dependencies" },
129
+ },
130
+ required: ["agentName"],
131
+ },
132
+ },
133
+ {
134
+ name: "grc_run_policy",
135
+ description: "Run Policy-as-Code policies against your codebase — returns pass/fail per ISO 27001 / SOC 2 control",
136
+ inputSchema: {
137
+ type: "object",
138
+ properties: {
139
+ path: { type: "string", description: "Directory to run policies against (default: current directory)" },
140
+ framework: { type: "string", description: "Filter policies by framework (iso27001, soc2, nist-csf, iso42001)" },
141
+ policyIds: { type: "array", items: { type: "string" }, description: "Run only specific policy IDs" },
142
+ },
143
+ },
144
+ },
145
+ {
146
+ name: "grc_create_dpia",
147
+ description: "Generate a GDPR Art.35 DPIA + EU AI Act Art.9 AI Impact Assessment for an AI system",
148
+ inputSchema: {
149
+ type: "object",
150
+ properties: {
151
+ systemName: { type: "string", description: "Name of the AI system or data processing activity" },
152
+ purpose: { type: "string", description: "Purpose of the AI system / data processing" },
153
+ dataCategories: { type: "array", items: { type: "string" }, description: "Categories of personal data processed (e.g. health, biometric, financial)" },
154
+ deploymentContext: { type: "string", description: "Deployment context: healthcare, hr, finance, education, law_enforcement, general" },
155
+ aiActCategory: { type: "string", description: "EU AI Act category: unacceptable_risk, high_risk, limited_risk, minimal_risk" },
156
+ },
157
+ required: ["systemName", "purpose"],
158
+ },
159
+ },
160
+ // v2.0 tools
161
+ {
162
+ name: "grc_scan_repo",
163
+ description: "Run a compliance and PQC scan against a local repository path",
164
+ inputSchema: {
165
+ type: "object",
166
+ properties: {
167
+ path: { type: "string", description: "Directory path to scan (default: current directory)" },
168
+ framework: { type: "string", description: "Framework to check against (iso27001, soc2, nist-csf, iso42001)" },
169
+ pqc: { type: "boolean", description: "Also scan for deprecated cryptography (PQC readiness)" },
170
+ },
171
+ },
172
+ },
173
+ {
174
+ name: "grc_create_evidence",
175
+ description: "Store a new evidence artifact linked to a compliance control",
176
+ inputSchema: {
177
+ type: "object",
178
+ properties: {
179
+ controlId: { type: "string", description: "Control identifier (e.g. A.9.4.2)" },
180
+ framework: { type: "string", description: "Framework code (iso27001, soc2, nist-csf)" },
181
+ evidenceType: { type: "string", description: "Type: configuration, policy, log, certificate, screenshot" },
182
+ content: { type: "string", description: "Evidence content or description" },
183
+ source: { type: "string", description: "Evidence source (e.g. aws-iam, github, okta)" },
184
+ },
185
+ required: ["controlId", "content"],
186
+ },
187
+ },
188
+ {
189
+ name: "grc_get_regulatory_alerts",
190
+ description: "Get latest regulatory change alerts affecting your compliance frameworks",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ framework: { type: "string", description: "Filter by framework (eu-ai-act, dora, nis2, gdpr, nist-csf, iso42001)" },
195
+ impact: { type: "string", description: "Filter by impact level (critical, significant, moderate)" },
196
+ action_required: { type: "boolean", description: "Only return alerts requiring action" },
197
+ },
198
+ },
199
+ },
200
+ {
201
+ name: "grc_pqc_scan",
202
+ description: "Scan code for deprecated cryptographic patterns that must be migrated before NIST PQC mandates (FedRAMP 2027)",
203
+ inputSchema: {
204
+ type: "object",
205
+ properties: {
206
+ path: { type: "string", description: "Directory to scan (default: current directory)" },
207
+ severity: { type: "string", description: "Filter by severity: critical, high, medium" },
208
+ },
209
+ },
210
+ },
211
+ {
212
+ name: "grc_verify_zk_proof",
213
+ description: "Verify a Zero-Knowledge compliance attestation proof for an organization",
214
+ inputSchema: {
215
+ type: "object",
216
+ properties: {
217
+ orgSlug: { type: "string", description: "Organization slug" },
218
+ framework: { type: "string", description: "Framework to verify (soc2, iso27001, nist-csf, iso42001)" },
219
+ },
220
+ required: ["orgSlug", "framework"],
221
+ },
222
+ },
223
+ {
224
+ name: "grc_get_trust_score",
225
+ description: "Get the behavioral trust score for an AI agent",
226
+ inputSchema: {
227
+ type: "object",
228
+ properties: {
229
+ agentId: { type: "string", description: "Agent identifier (DID or name)" },
230
+ },
231
+ required: ["agentId"],
232
+ },
233
+ },
234
+ ];
235
+ const RESOURCES = [
236
+ {
237
+ uri: "grc://frameworks",
238
+ name: "Framework Definitions",
239
+ mimeType: "application/json",
240
+ text: JSON.stringify({ description: "All compliance frameworks managed by GRC_Claw" }),
241
+ },
242
+ {
243
+ uri: "grc://posture",
244
+ name: "Compliance Posture",
245
+ mimeType: "application/json",
246
+ text: JSON.stringify({ description: "Current compliance posture across all frameworks" }),
247
+ },
248
+ {
249
+ uri: "grc://risk-register",
250
+ name: "Risk Register",
251
+ mimeType: "application/json",
252
+ text: JSON.stringify({ description: "Organization risk register" }),
253
+ },
254
+ ];
255
+ const PROMPTS = [
256
+ {
257
+ name: "compliance_summary",
258
+ description: "Generate a compliance summary for a given framework",
259
+ arguments: [
260
+ { name: "framework", description: "Framework name (e.g. iso27001, soc2)", required: true },
261
+ ],
262
+ },
263
+ {
264
+ name: "risk_assessment",
265
+ description: "Generate a risk assessment based on current findings",
266
+ arguments: [],
267
+ },
268
+ {
269
+ name: "audit_prep",
270
+ description: "Prepare an audit readiness checklist for a framework",
271
+ arguments: [
272
+ { name: "framework", description: "Framework to prepare for", required: true },
273
+ ],
274
+ },
275
+ ];
276
+ function rpcResponse(id, result) {
277
+ return { jsonrpc: "2.0", id: id ?? null, result };
278
+ }
279
+ function rpcError(id, code, message, data) {
280
+ return { jsonrpc: "2.0", id: id ?? null, error: { code, message, data } };
281
+ }
282
+ async function gatewayFetch(config, path, init) {
283
+ const url = `${config.baseUrl}${path}`;
284
+ const headers = { "Content-Type": "application/json" };
285
+ if (config.token)
286
+ headers["Authorization"] = `Bearer ${config.token}`;
287
+ const res = await fetch(url, { ...init, headers: { ...headers, ...init?.headers } });
288
+ if (!res.ok) {
289
+ const text = await res.text().catch(() => "");
290
+ throw new Error(`Gateway ${res.status}: ${text || res.statusText}`);
291
+ }
292
+ return res.json();
293
+ }
294
+ async function handleToolCall(name, args, config) {
295
+ try {
296
+ let result;
297
+ switch (name) {
298
+ case "grc_list_frameworks":
299
+ result = await gatewayFetch(config, "/api/frameworks");
300
+ break;
301
+ case "grc_check_control":
302
+ result = await gatewayFetch(config, "/api/agent/invoke", {
303
+ method: "POST",
304
+ body: JSON.stringify({
305
+ tool: "frameworks.check_control",
306
+ args: {
307
+ controlCode: args?.controlId,
308
+ frameworkCode: args?.framework,
309
+ },
310
+ }),
311
+ });
312
+ break;
313
+ case "grc_list_evidence":
314
+ result = await gatewayFetch(config, "/api/agent/invoke", {
315
+ method: "POST",
316
+ body: JSON.stringify({
317
+ tool: "evidence.read",
318
+ args: { evidenceId: args?.controlId },
319
+ }),
320
+ });
321
+ break;
322
+ case "grc_get_posture":
323
+ result = await gatewayFetch(config, "/api/agent/invoke", {
324
+ method: "POST",
325
+ body: JSON.stringify({
326
+ tool: "compliance.get_posture",
327
+ args: { framework: args?.framework },
328
+ }),
329
+ });
330
+ break;
331
+ case "grc_list_vendors":
332
+ result = await gatewayFetch(config, "/api/agent/invoke", {
333
+ method: "POST",
334
+ body: JSON.stringify({ tool: "cloud.list_connectors", args: {} }),
335
+ });
336
+ break;
337
+ case "grc_get_risk_score":
338
+ result = await gatewayFetch(config, "/api/risk/register");
339
+ break;
340
+ case "grc_list_incidents":
341
+ result = await gatewayFetch(config, "/api/agent/invoke", {
342
+ method: "POST",
343
+ body: JSON.stringify({
344
+ tool: "audit.list_findings",
345
+ args: { severity: args?.status },
346
+ }),
347
+ });
348
+ break;
349
+ case "grc_list_findings":
350
+ result = await gatewayFetch(config, "/api/agent/invoke", {
351
+ method: "POST",
352
+ body: JSON.stringify({
353
+ tool: "audit.list_findings",
354
+ args: { severity: args?.severity },
355
+ }),
356
+ });
357
+ break;
358
+ case "grc_run_scan":
359
+ result = await gatewayFetch(config, "/api/agent/invoke", {
360
+ method: "POST",
361
+ body: JSON.stringify({
362
+ tool: "compliance.run_scan",
363
+ args: { frameworkCode: args?.framework },
364
+ }),
365
+ });
366
+ break;
367
+ case "grc_get_entity_report":
368
+ result = await gatewayFetch(config, `/api/entities/${args?.entityId}/compliance`);
369
+ break;
370
+ // v4.0 tools — GRC Copilot, IaC, SBOM, Policy-as-Code, DPIA
371
+ case "grc_ask_copilot": {
372
+ const params = new URLSearchParams();
373
+ if (args?.orgSlug)
374
+ params.set("org_slug", String(args.orgSlug));
375
+ if (args?.framework)
376
+ params.set("framework", String(args.framework));
377
+ result = await fetch(`https://a2zsoc.com/api/platform/grc/copilot?${params}`, {
378
+ method: "POST",
379
+ headers: { "Content-Type": "application/json" },
380
+ body: JSON.stringify({ question: args?.question }),
381
+ }).then(r => r.json());
382
+ break;
383
+ }
384
+ case "grc_scan_iac": {
385
+ const iacParams = new URLSearchParams();
386
+ if (args?.path)
387
+ iacParams.set("path", String(args.path));
388
+ if (args?.framework)
389
+ iacParams.set("framework", String(args.framework));
390
+ result = await fetch(`https://a2zsoc.com/api/platform/iac-scan?${iacParams}`, {
391
+ headers: { "Content-Type": "application/json" },
392
+ }).then(r => r.json());
393
+ break;
394
+ }
395
+ case "grc_generate_sbom": {
396
+ result = await fetch("https://a2zsoc.com/api/platform/ai-bom-registry/generate", {
397
+ method: "POST",
398
+ headers: { "Content-Type": "application/json" },
399
+ body: JSON.stringify({
400
+ agentName: args?.agentName,
401
+ format: args?.format ?? "cyclonedx",
402
+ scanDeps: args?.scanDeps ?? false,
403
+ }),
404
+ }).then(r => r.json());
405
+ break;
406
+ }
407
+ case "grc_run_policy": {
408
+ result = await fetch("https://a2zsoc.com/api/platform/policy/run", {
409
+ method: "POST",
410
+ headers: { "Content-Type": "application/json" },
411
+ body: JSON.stringify({
412
+ path: args?.path ?? ".",
413
+ framework: args?.framework,
414
+ policyIds: args?.policyIds,
415
+ }),
416
+ }).then(r => r.json());
417
+ break;
418
+ }
419
+ case "grc_create_dpia": {
420
+ result = await fetch("https://a2zsoc.com/api/platform/dpia", {
421
+ method: "POST",
422
+ headers: { "Content-Type": "application/json" },
423
+ body: JSON.stringify({
424
+ systemName: args?.systemName,
425
+ purpose: args?.purpose,
426
+ dataCategories: args?.dataCategories ?? [],
427
+ deploymentContext: args?.deploymentContext ?? "general",
428
+ aiActCategory: args?.aiActCategory ?? "limited_risk",
429
+ }),
430
+ }).then(r => r.json());
431
+ break;
432
+ }
433
+ // v2.0 tools — call A2Z SOC platform API
434
+ case "grc_scan_repo":
435
+ result = await gatewayFetch(config, "/api/agent/invoke", {
436
+ method: "POST",
437
+ body: JSON.stringify({ tool: "compliance.run_scan", args: { frameworkCode: args?.framework ?? "iso27001", path: args?.path ?? ".", includePqc: args?.pqc ?? false } }),
438
+ });
439
+ break;
440
+ case "grc_create_evidence":
441
+ result = await gatewayFetch(config, "/api/agent/invoke", {
442
+ method: "POST",
443
+ body: JSON.stringify({ tool: "evidence.attach", args: { controlId: args?.controlId, framework: args?.framework ?? "iso27001", type: args?.evidenceType ?? "configuration", content: args?.content, source: args?.source ?? "mcp" } }),
444
+ });
445
+ break;
446
+ case "grc_get_regulatory_alerts": {
447
+ const params = new URLSearchParams();
448
+ if (args?.framework)
449
+ params.set("framework", String(args.framework));
450
+ if (args?.impact)
451
+ params.set("impact", String(args.impact));
452
+ if (args?.action_required)
453
+ params.set("action_required", "true");
454
+ result = await fetch(`https://a2zsoc.com/api/platform/regulatory-intelligence/alerts?${params}`, { headers: { "Content-Type": "application/json" } }).then(r => r.json());
455
+ break;
456
+ }
457
+ case "grc_pqc_scan": {
458
+ const pqcParams = new URLSearchParams();
459
+ if (args?.severity)
460
+ pqcParams.set("severity", String(args.severity));
461
+ result = await fetch(`https://a2zsoc.com/api/platform/pqc-scan?${pqcParams}`, { headers: { "Content-Type": "application/json" } }).then(r => r.json());
462
+ break;
463
+ }
464
+ case "grc_verify_zk_proof":
465
+ result = await fetch(`https://a2zsoc.com/api/platform/verify/${encodeURIComponent(String(args?.orgSlug))}/${encodeURIComponent(String(args?.framework))}`, { headers: { "Content-Type": "application/json" } }).then(r => r.json());
466
+ break;
467
+ case "grc_get_trust_score":
468
+ result = await fetch(`https://a2zsoc.com/api/platform/agent-trust/score/${encodeURIComponent(String(args?.agentId))}`, { headers: { "Content-Type": "application/json" } }).then(r => r.json());
469
+ break;
470
+ default:
471
+ return { content: [{ type: "text", text: `Unknown tool: ${name}` }], isError: true };
472
+ }
473
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
474
+ }
475
+ catch (err) {
476
+ return { content: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }], isError: true };
477
+ }
478
+ }
479
+ async function handleResourceRead(uri, config) {
480
+ if (uri === "grc://frameworks") {
481
+ const data = await gatewayFetch(config, "/api/frameworks");
482
+ return JSON.stringify(data, null, 2);
483
+ }
484
+ if (uri === "grc://posture") {
485
+ const data = await gatewayFetch(config, "/api/agent/invoke", {
486
+ method: "POST",
487
+ body: JSON.stringify({ tool: "compliance.get_posture", args: {} }),
488
+ });
489
+ return JSON.stringify(data, null, 2);
490
+ }
491
+ if (uri === "grc://risk-register") {
492
+ const data = await gatewayFetch(config, "/api/risk/register");
493
+ return JSON.stringify(data, null, 2);
494
+ }
495
+ const frameworkMatch = uri.match(/^grc:\/\/controls\/(.+)$/);
496
+ if (frameworkMatch) {
497
+ const data = await gatewayFetch(config, `/api/frameworks/${frameworkMatch[1]}/controls`);
498
+ return JSON.stringify(data, null, 2);
499
+ }
500
+ const evidenceMatch = uri.match(/^grc:\/\/evidence\/(.+)$/);
501
+ if (evidenceMatch) {
502
+ const data = await gatewayFetch(config, "/api/agent/invoke", {
503
+ method: "POST",
504
+ body: JSON.stringify({ tool: "evidence.read", args: { evidenceId: evidenceMatch[1] } }),
505
+ });
506
+ return JSON.stringify(data, null, 2);
507
+ }
508
+ throw new Error(`Unknown resource: ${uri}`);
509
+ }
510
+ function handlePromptGet(name, args) {
511
+ switch (name) {
512
+ case "compliance_summary":
513
+ return `Provide a compliance summary for the ${args?.framework ?? "all"} framework. Include overall status, control coverage, gaps, and recommendations.`;
514
+ case "risk_assessment":
515
+ return "Analyze the current risk landscape. Include top risks, risk scores, mitigations in place, and open gaps.";
516
+ case "audit_prep":
517
+ return `Prepare an audit readiness checklist for ${args?.framework ?? "ISO 27001"}. Include evidence requirements, common findings, and preparation timeline.`;
518
+ default:
519
+ throw new Error(`Unknown prompt: ${name}`);
520
+ }
521
+ }
522
+ export class MCPServer {
523
+ config;
524
+ initialized = false;
525
+ constructor(config) {
526
+ this.config = config;
527
+ }
528
+ async handleRequest(request) {
529
+ const { id, method, params } = request;
530
+ try {
531
+ switch (method) {
532
+ case "initialize":
533
+ this.initialized = true;
534
+ return rpcResponse(id, {
535
+ protocolVersion: PROTOCOL_VERSION,
536
+ capabilities: {
537
+ tools: {},
538
+ resources: { listChanged: true },
539
+ prompts: {},
540
+ },
541
+ serverInfo: SERVER_INFO,
542
+ });
543
+ case "notifications/initialized":
544
+ return rpcResponse(id, {});
545
+ case "tools/list":
546
+ return rpcResponse(id, { tools: TOOLS });
547
+ case "tools/call": {
548
+ const { name, arguments: args } = params;
549
+ const result = await handleToolCall(name, args, this.config);
550
+ return rpcResponse(id, result);
551
+ }
552
+ case "resources/list":
553
+ return rpcResponse(id, { resources: RESOURCES });
554
+ case "resources/read": {
555
+ const { uri } = params;
556
+ const text = await handleResourceRead(uri, this.config);
557
+ return rpcResponse(id, { contents: [{ uri, mimeType: "application/json", text }] });
558
+ }
559
+ case "prompts/list":
560
+ return rpcResponse(id, { prompts: PROMPTS });
561
+ case "prompts/get": {
562
+ const { name, arguments: args } = params;
563
+ const text = handlePromptGet(name, args);
564
+ return rpcResponse(id, { description: `Generated prompt for ${name}`, messages: [{ role: "user", content: { type: "text", text } }] });
565
+ }
566
+ default:
567
+ return rpcError(id, -32601, `Method not found: ${method}`);
568
+ }
569
+ }
570
+ catch (err) {
571
+ return rpcError(id, -32603, err instanceof Error ? err.message : String(err));
572
+ }
573
+ }
574
+ start() {
575
+ const rl = createInterface({ input: process.stdin });
576
+ rl.on("line", async (line) => {
577
+ const trimmed = line.trim();
578
+ if (!trimmed)
579
+ return;
580
+ let request;
581
+ try {
582
+ request = JSON.parse(trimmed);
583
+ }
584
+ catch {
585
+ const response = rpcError(null, -32700, "Parse error");
586
+ process.stdout.write(JSON.stringify(response) + "\n");
587
+ return;
588
+ }
589
+ const response = await this.handleRequest(request);
590
+ process.stdout.write(JSON.stringify(response) + "\n");
591
+ });
592
+ rl.on("close", () => process.exit(0));
593
+ }
594
+ }
595
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ export interface MCPTool {
2
+ name: string;
3
+ description: string;
4
+ inputSchema: Record<string, unknown>;
5
+ }
6
+ export interface MCPResource {
7
+ uri: string;
8
+ name: string;
9
+ mimeType: string;
10
+ text: string;
11
+ }
12
+ export interface MCPPromptArgument {
13
+ name: string;
14
+ description?: string;
15
+ required?: boolean;
16
+ }
17
+ export interface MCPPrompt {
18
+ name: string;
19
+ description: string;
20
+ arguments?: MCPPromptArgument[];
21
+ }
22
+ export interface JSONRPCRequest {
23
+ jsonrpc: "2.0";
24
+ id?: string | number | null;
25
+ method: string;
26
+ params?: Record<string, unknown>;
27
+ }
28
+ export interface JSONRPCResponse {
29
+ jsonrpc: "2.0";
30
+ id: string | number | null;
31
+ result?: unknown;
32
+ error?: {
33
+ code: number;
34
+ message: string;
35
+ data?: unknown;
36
+ };
37
+ }
38
+ export interface InitializeParams {
39
+ protocolVersion: string;
40
+ capabilities: Record<string, unknown>;
41
+ clientInfo?: {
42
+ name: string;
43
+ version: string;
44
+ };
45
+ }
46
+ export interface InitializeResult {
47
+ protocolVersion: string;
48
+ capabilities: {
49
+ tools?: Record<string, unknown>;
50
+ resources?: Record<string, unknown>;
51
+ prompts?: Record<string, unknown>;
52
+ };
53
+ serverInfo: {
54
+ name: string;
55
+ version: string;
56
+ };
57
+ }
58
+ export interface ToolCallParams {
59
+ name: string;
60
+ arguments?: Record<string, unknown>;
61
+ }
62
+ export interface ToolResult {
63
+ content: Array<{
64
+ type: "text";
65
+ text: string;
66
+ }>;
67
+ isError?: boolean;
68
+ }
69
+ export interface ResourceReadParams {
70
+ uri: string;
71
+ }
72
+ export interface PromptGetParams {
73
+ name: string;
74
+ arguments?: Record<string, unknown>;
75
+ }
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D;AAGD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IACF,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@grc-claw/mcp-server",
3
+ "version": "0.8.0",
4
+ "description": "MCP (Model Context Protocol) server for GRC_Claw \u2014 enables AI assistants to query compliance data via stdio JSON-RPC",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "grc-claw-mcp": "./dist/cli.js"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "tsc -p tsconfig.json",
23
+ "start": "node dist/cli.js",
24
+ "test": "npm run build && node --test dist/**/*.test.js"
25
+ },
26
+ "dependencies": {
27
+ "@grc-claw/core": "*"
28
+ },
29
+ "devDependencies": {
30
+ "@types/node": "^22.10.0"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/AAH20/GRC_Claw"
38
+ }
39
+ }