cataam-mcp-server 0.1.0 → 0.1.1
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/tools.js +59 -9
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/tools.js
CHANGED
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
* Tools follow a list → context → act shape.
|
|
7
7
|
*
|
|
8
8
|
* Write tools (rerun / due-date / jira-link) require an explicit `confirm: true`
|
|
9
|
-
* argument
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* argument; the server refuses the call without it and logs every executed write to
|
|
10
|
+
* stderr. NOTE: `confirm` is a MODEL-supplied flag — it is NOT server-enforced human
|
|
11
|
+
* approval. Real human-in-the-loop is provided by the slash-command workflows (which
|
|
12
|
+
* confirm with the user before setting it); a server-enforced MCP elicitation/approval
|
|
13
|
+
* is a roadmap item. Backend authorization (org-scoping, entitlement) is the real guard.
|
|
12
14
|
*/
|
|
13
15
|
import { z } from "zod";
|
|
14
16
|
import { CataamError } from "./client.js";
|
|
@@ -30,9 +32,19 @@ async function guard(fn) {
|
|
|
30
32
|
return fail(`Unexpected error: ${e.message}`);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
35
|
+
// Optional (default false) so the explicit "Refused" branch is reachable — not a schema
|
|
36
|
+
// error. NOTE: this is a model-supplied flag, not server-enforced human approval; the
|
|
37
|
+
// slash-command workflows are responsible for confirming with the user first.
|
|
33
38
|
const CONFIRM = z
|
|
34
39
|
.boolean()
|
|
35
|
-
.
|
|
40
|
+
.optional()
|
|
41
|
+
.default(false)
|
|
42
|
+
.describe("Must be set to true to execute this state-changing action. Defaults to false; the " +
|
|
43
|
+
"server refuses the write without it. Confirm with the user before setting true.");
|
|
44
|
+
/** Append-only write log to stderr so every mutation is recorded by the host. */
|
|
45
|
+
function auditLog(action, args) {
|
|
46
|
+
console.error(`[cataam-mcp][write] ${new Date().toISOString()} ${action} ${JSON.stringify(args)}`);
|
|
47
|
+
}
|
|
36
48
|
export function registerTools(server, client) {
|
|
37
49
|
// ---- LIST -------------------------------------------------------------
|
|
38
50
|
server.registerTool("list_compliance_tests", {
|
|
@@ -73,12 +85,47 @@ export function registerTools(server, client) {
|
|
|
73
85
|
.describe("Optional framework id to include detailed per-framework progress."),
|
|
74
86
|
},
|
|
75
87
|
}, async ({ frameworkId }) => guard(async () => {
|
|
76
|
-
|
|
88
|
+
// Degrade gracefully — one failing sub-call shouldn't sink the whole overview.
|
|
89
|
+
const [r, s, p] = await Promise.allSettled([
|
|
77
90
|
client.getReadinessScore(),
|
|
78
91
|
client.getComplianceSummary(),
|
|
79
92
|
frameworkId ? client.getFrameworkProgress(frameworkId) : Promise.resolve(null),
|
|
80
93
|
]);
|
|
81
|
-
|
|
94
|
+
const val = (x) => (x.status === "fulfilled" ? x.value : null);
|
|
95
|
+
const readiness = val(r);
|
|
96
|
+
const summary = val(s);
|
|
97
|
+
const frameworkProgress = val(p);
|
|
98
|
+
// Coverage caveat: the readiness score is computed over EXECUTED tests only, so a
|
|
99
|
+
// single passing check can read "Audit Ready". Surface coverage so the model can't
|
|
100
|
+
// over-claim audit-readiness (relays the backend's known scoring limitation).
|
|
101
|
+
let coverage = null;
|
|
102
|
+
let coverageCaveat;
|
|
103
|
+
if (Array.isArray(summary)) {
|
|
104
|
+
const rows = summary;
|
|
105
|
+
const totalTests = rows.reduce((a, f) => a + (f.totalTests ?? 0), 0);
|
|
106
|
+
const executedTests = rows.reduce((a, f) => a + (f.passedTests ?? 0) + (f.failedTests ?? 0), 0);
|
|
107
|
+
const coveragePct = totalTests ? Math.round((executedTests / totalTests) * 1000) / 10 : 0;
|
|
108
|
+
coverage = { executedTests, totalTests, coveragePct };
|
|
109
|
+
if (coveragePct < 60) {
|
|
110
|
+
coverageCaveat =
|
|
111
|
+
`⚠️ Readiness reflects EXECUTED tests only — ${executedTests}/${totalTests} ` +
|
|
112
|
+
`(${coveragePct}%) executed. Do NOT report the org as audit-ready on this score alone; ` +
|
|
113
|
+
`more tests must be run first.`;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const partialErrors = [
|
|
117
|
+
r.status === "rejected" ? `readinessScore: ${r.reason?.message ?? r.reason}` : null,
|
|
118
|
+
s.status === "rejected" ? `complianceSummary: ${s.reason?.message ?? s.reason}` : null,
|
|
119
|
+
p.status === "rejected" ? `frameworkProgress: ${p.reason?.message ?? p.reason}` : null,
|
|
120
|
+
].filter(Boolean);
|
|
121
|
+
return {
|
|
122
|
+
readinessScore: readiness,
|
|
123
|
+
complianceSummary: summary,
|
|
124
|
+
frameworkProgress,
|
|
125
|
+
coverage,
|
|
126
|
+
...(coverageCaveat ? { coverageCaveat } : {}),
|
|
127
|
+
...(partialErrors.length ? { partialErrors } : {}),
|
|
128
|
+
};
|
|
82
129
|
}));
|
|
83
130
|
// ---- ALERTS -----------------------------------------------------------
|
|
84
131
|
server.registerTool("list_failing_alerts", {
|
|
@@ -107,7 +154,8 @@ export function registerTools(server, client) {
|
|
|
107
154
|
},
|
|
108
155
|
}, async ({ auditProgressId, confirm }) => {
|
|
109
156
|
if (!confirm)
|
|
110
|
-
return fail("Refused: rerun_compliance_test requires confirm=true.");
|
|
157
|
+
return fail("Refused: rerun_compliance_test requires confirm=true. Confirm with the user first.");
|
|
158
|
+
auditLog("rerun_compliance_test", { auditProgressId });
|
|
111
159
|
return guard(() => client.rerunTest(auditProgressId));
|
|
112
160
|
});
|
|
113
161
|
// ---- ACT: update due date --------------------------------------------
|
|
@@ -125,7 +173,8 @@ export function registerTools(server, client) {
|
|
|
125
173
|
},
|
|
126
174
|
}, async ({ auditProgressId, newDueDate, confirm }) => {
|
|
127
175
|
if (!confirm)
|
|
128
|
-
return fail("Refused: update_test_due_date requires confirm=true.");
|
|
176
|
+
return fail("Refused: update_test_due_date requires confirm=true. Confirm with the user first.");
|
|
177
|
+
auditLog("update_test_due_date", { auditProgressId, newDueDate });
|
|
129
178
|
return guard(() => client.updateDueDate(auditProgressId, newDueDate));
|
|
130
179
|
});
|
|
131
180
|
// ---- ACT: link to Jira ------------------------------------------------
|
|
@@ -140,7 +189,8 @@ export function registerTools(server, client) {
|
|
|
140
189
|
},
|
|
141
190
|
}, async ({ auditProgressId, jiraId, confirm }) => {
|
|
142
191
|
if (!confirm)
|
|
143
|
-
return fail("Refused: link_test_to_jira requires confirm=true.");
|
|
192
|
+
return fail("Refused: link_test_to_jira requires confirm=true. Confirm with the user first.");
|
|
193
|
+
auditLog("link_test_to_jira", { auditProgressId, jiraId });
|
|
144
194
|
return guard(() => client.linkToJira(auditProgressId, jiraId));
|
|
145
195
|
});
|
|
146
196
|
}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cataam-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "MCP connector for Cataam — the GRC/compliance-automation platform (SOC2, GDPR, ISO27001). Exposes the /api/audit compliance surface as MCP tools.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|