@vaultcompass/vault-guard-mcp 1.0.3 → 1.0.4
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/index.js +28 -4
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -86,7 +86,7 @@ async function scanWorkspaceDirectory(root, scanner, concurrency = 10) {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
// src/server.ts
|
|
89
|
-
var SERVER_VERSION = true ? "1.0.
|
|
89
|
+
var SERVER_VERSION = true ? "1.0.4" : "0.0.0-dev";
|
|
90
90
|
function makeScanner() {
|
|
91
91
|
const cwd = process.cwd();
|
|
92
92
|
let cfg;
|
|
@@ -110,7 +110,7 @@ function toolPayload(obj) {
|
|
|
110
110
|
content: [{ type: "text", text: JSON.stringify(obj, null, 2) }]
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
function createMcpServer() {
|
|
113
|
+
function createMcpServer(options = {}) {
|
|
114
114
|
const server = new import_mcp.McpServer(
|
|
115
115
|
{ name: "vault-guard", version: SERVER_VERSION },
|
|
116
116
|
{
|
|
@@ -120,7 +120,27 @@ function createMcpServer() {
|
|
|
120
120
|
instructions: "Vault Guard MCP: scan workspaces/files/text for secrets (SARIF-shaped JSON), report token estimates, and record opt-in session/usage events to local ~/.vault-guard/usage.sqlite."
|
|
121
121
|
}
|
|
122
122
|
);
|
|
123
|
-
const
|
|
123
|
+
const telemetryFactory = options.telemetryFactory ?? (() => new import_vault_guard_telemetry.TelemetryStore());
|
|
124
|
+
let telemetry = null;
|
|
125
|
+
let telemetryUnavailable = false;
|
|
126
|
+
function getTelemetry() {
|
|
127
|
+
if (telemetry) return telemetry;
|
|
128
|
+
if (telemetryUnavailable) return null;
|
|
129
|
+
try {
|
|
130
|
+
telemetry = telemetryFactory();
|
|
131
|
+
return telemetry;
|
|
132
|
+
} catch (e) {
|
|
133
|
+
if (e instanceof import_vault_guard_telemetry.TelemetryUnavailableError) {
|
|
134
|
+
telemetryUnavailable = true;
|
|
135
|
+
process.stderr.write(
|
|
136
|
+
`vault-guard MCP: telemetry unavailable; session events will not be recorded: ${e.message}
|
|
137
|
+
`
|
|
138
|
+
);
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
throw e;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
124
144
|
const tokenCounter = new import_vault_guard_core2.TokenCounter();
|
|
125
145
|
server.registerTool(
|
|
126
146
|
"scan_workspace",
|
|
@@ -276,7 +296,11 @@ function createMcpServer() {
|
|
|
276
296
|
}
|
|
277
297
|
},
|
|
278
298
|
async (args) => {
|
|
279
|
-
|
|
299
|
+
const store = getTelemetry();
|
|
300
|
+
if (!store) {
|
|
301
|
+
return toolPayload({ ok: false, telemetry: "unavailable" });
|
|
302
|
+
}
|
|
303
|
+
store.recordSession({
|
|
280
304
|
eventType: args.event_type,
|
|
281
305
|
model: args.model,
|
|
282
306
|
cwd: args.cwd,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaultcompass/vault-guard-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Let Cursor and Claude scan AI-proposed edits for secrets before applying. Local MCP server.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
28
28
|
"zod": "^4.4.3",
|
|
29
|
-
"@vaultcompass/vault-guard-
|
|
30
|
-
"@vaultcompass/vault-guard-
|
|
29
|
+
"@vaultcompass/vault-guard-core": "1.0.4",
|
|
30
|
+
"@vaultcompass/vault-guard-telemetry": "1.0.4"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/jest": "^30.0.0",
|