@luveo-tech/vark-mcp 0.2.0-beta.2 → 0.2.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/bridge.d.ts +1 -26
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +22 -77
- package/dist/bridge.js.map +1 -1
- package/package.json +2 -2
package/dist/bridge.d.ts
CHANGED
|
@@ -12,12 +12,6 @@
|
|
|
12
12
|
* - a CTP signature so the descriptor can be sent to the model in far fewer
|
|
13
13
|
* tokens than the original JSON Schema.
|
|
14
14
|
*
|
|
15
|
-
* Every wrapped tool pins a SHA-256 hash of `{ name, description,
|
|
16
|
-
* inputSchema }`. The pin is enforced two ways: `check()`/`execute()`
|
|
17
|
-
* detect in-place mutation of the captured descriptor, and
|
|
18
|
-
* `reconcile()` detects a server that re-lists a *changed* descriptor
|
|
19
|
-
* (schema rug pull) — see {@link VarkMCPAdapter.reconcile}.
|
|
20
|
-
*
|
|
21
15
|
* ```ts
|
|
22
16
|
* const adapter = new VarkMCPAdapter({ executor: async (tool, args) => client.callTool(tool.name, args) });
|
|
23
17
|
* const tools = adapter.wrapTools(mcpTools, { network: { allowedHosts: ['api.example.com'] } });
|
|
@@ -87,28 +81,9 @@ export declare class VarkMCPAdapter {
|
|
|
87
81
|
wrapTools(mcpTools: unknown[], defaultCapabilities?: CapabilityConfig, executor?: MCPExecutor): WrappedMCPTool[];
|
|
88
82
|
get(name: string): WrappedMCPTool | undefined;
|
|
89
83
|
list(): WrappedMCPTool[];
|
|
90
|
-
/**
|
|
91
|
-
* Verify a freshly fetched `tools/list` against the wrap-time pins.
|
|
92
|
-
*
|
|
93
|
-
* The in-place pin check inside `check()`/`execute()` only sees mutations
|
|
94
|
-
* of the descriptor object captured at wrap time; a server that returns
|
|
95
|
-
* *new* objects on its next listing (the real schema rug pull) is only
|
|
96
|
-
* visible when the host feeds that listing back in. Call `reconcile()`
|
|
97
|
-
* whenever the server re-lists (`notifications/list_changed`, reconnects,
|
|
98
|
-
* polling): any wrapped tool whose `{ name, description, inputSchema }`
|
|
99
|
-
* no longer matches its pin is **permanently refused** with
|
|
100
|
-
* `DESCRIPTOR_PIN_VIOLATION` (audited once) until `clear()` and a fresh
|
|
101
|
-
* `wrapTools()` re-establish trust.
|
|
102
|
-
*
|
|
103
|
-
* @returns descriptors that failed verification — empty array = all pinned
|
|
104
|
-
*/
|
|
105
|
-
reconcile(descriptors: unknown): Array<{
|
|
106
|
-
name: string;
|
|
107
|
-
reason: string;
|
|
108
|
-
}>;
|
|
109
84
|
/** Payload-only inspection (circuit breaker) for a raw argument object. */
|
|
110
85
|
inspect(args: unknown): InspectionResult;
|
|
111
|
-
/** Unwrap every tool registered through this adapter
|
|
86
|
+
/** Unwrap every tool registered through this adapter. */
|
|
112
87
|
clear(): void;
|
|
113
88
|
}
|
|
114
89
|
/** Functional shorthand for `new VarkMCPAdapter(options).wrapTools(...)`. */
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAG1B,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,gBAAgB,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,YAAY,EAAE,gBAAgB,CAAC;IAC/B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,WAAW,CAAC;IACnE,8EAA8E;IAC9E,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvF;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC,GAAG,MAAM,CAOjH;AAqBD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAUD,qBAAa,cAAc;;IACzB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;gBAKlB,OAAO,GAAE,qBAA0B;IAK/C;;;;;;OAMG;IACH,SAAS,CACP,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,CAAC,EAAE,gBAAgB,EACtC,QAAQ,CAAC,EAAE,WAAW,GACrB,cAAc,EAAE;IA4EnB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C,IAAI,IAAI,cAAc,EAAE;IAIxB,2EAA2E;IAC3E,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB;IAIxC,yDAAyD;IACzD,KAAK,IAAI,IAAI;CAId;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,mBAAmB,CAAC,EAAE,gBAAgB,EACtC,OAAO,GAAE,qBAA0B,GAClC,cAAc,EAAE,CAElB;AAED,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
|
package/dist/bridge.js
CHANGED
|
@@ -12,12 +12,6 @@
|
|
|
12
12
|
* - a CTP signature so the descriptor can be sent to the model in far fewer
|
|
13
13
|
* tokens than the original JSON Schema.
|
|
14
14
|
*
|
|
15
|
-
* Every wrapped tool pins a SHA-256 hash of `{ name, description,
|
|
16
|
-
* inputSchema }`. The pin is enforced two ways: `check()`/`execute()`
|
|
17
|
-
* detect in-place mutation of the captured descriptor, and
|
|
18
|
-
* `reconcile()` detects a server that re-lists a *changed* descriptor
|
|
19
|
-
* (schema rug pull) — see {@link VarkMCPAdapter.reconcile}.
|
|
20
|
-
*
|
|
21
15
|
* ```ts
|
|
22
16
|
* const adapter = new VarkMCPAdapter({ executor: async (tool, args) => client.callTool(tool.name, args) });
|
|
23
17
|
* const tools = adapter.wrapTools(mcpTools, { network: { allowedHosts: ['api.example.com'] } });
|
|
@@ -65,33 +59,10 @@ export class VarkMCPAdapter {
|
|
|
65
59
|
runtime;
|
|
66
60
|
#executor;
|
|
67
61
|
#tools = new Map();
|
|
68
|
-
/** Recorded pin violations from `reconcile()` — permanent until re-wrap. */
|
|
69
|
-
#violations = new Map();
|
|
70
62
|
constructor(options = {}) {
|
|
71
63
|
this.runtime = options.runtime ?? new VarkRuntime(options.config ?? {});
|
|
72
64
|
this.#executor = options.executor;
|
|
73
65
|
}
|
|
74
|
-
/** Audit a pin refusal and build the failed execution result. */
|
|
75
|
-
#refuse(entry, reason, args, options) {
|
|
76
|
-
const sessionId = options?.sessionId ?? this.runtime.session ?? DEFAULT_SESSION;
|
|
77
|
-
// Audited here because the guard pipeline is never reached.
|
|
78
|
-
this.runtime.audit.append({
|
|
79
|
-
sessionId,
|
|
80
|
-
tool: entry.name,
|
|
81
|
-
decision: 'DESCRIPTOR_PIN_VIOLATION',
|
|
82
|
-
blockedBy: 'DESCRIPTOR_PIN_VIOLATION',
|
|
83
|
-
reason,
|
|
84
|
-
sanitizedInputs: args,
|
|
85
|
-
executionTimeMs: 0,
|
|
86
|
-
});
|
|
87
|
-
return {
|
|
88
|
-
success: false,
|
|
89
|
-
blockedBy: 'DESCRIPTOR_PIN_VIOLATION',
|
|
90
|
-
error: reason,
|
|
91
|
-
executionTimeMs: 0,
|
|
92
|
-
sessionId,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
66
|
/**
|
|
96
67
|
* Wrap raw Anthropic MCP tools with vark protection.
|
|
97
68
|
*
|
|
@@ -130,22 +101,34 @@ export class VarkMCPAdapter {
|
|
|
130
101
|
compact: guard.compact,
|
|
131
102
|
compression: guard.compression,
|
|
132
103
|
check: (args, options) => {
|
|
133
|
-
const recorded = this.#violations.get(entry.name);
|
|
134
|
-
if (recorded) {
|
|
135
|
-
return { safe: false, blockedBy: 'DESCRIPTOR_PIN_VIOLATION', reason: recorded };
|
|
136
|
-
}
|
|
137
104
|
const pin = checkDescriptorPin(entry, tool);
|
|
138
105
|
if (pin)
|
|
139
106
|
return pin;
|
|
140
107
|
return this.runtime.check(tool.name, args, options);
|
|
141
108
|
},
|
|
142
109
|
execute: async (args, options) => {
|
|
143
|
-
const recorded = this.#violations.get(entry.name);
|
|
144
|
-
if (recorded)
|
|
145
|
-
return this.#refuse(entry, recorded, args, options);
|
|
146
110
|
const pin = checkDescriptorPin(entry, tool);
|
|
147
|
-
if (pin)
|
|
148
|
-
|
|
111
|
+
if (pin) {
|
|
112
|
+
const sessionId = options?.sessionId ?? this.runtime.session ?? DEFAULT_SESSION;
|
|
113
|
+
const message = pin.reason ?? 'MCP descriptor changed since wrap';
|
|
114
|
+
// Audited here because the guard pipeline is never reached.
|
|
115
|
+
this.runtime.audit.append({
|
|
116
|
+
sessionId,
|
|
117
|
+
tool: tool.name,
|
|
118
|
+
decision: 'DESCRIPTOR_PIN_VIOLATION',
|
|
119
|
+
blockedBy: 'DESCRIPTOR_PIN_VIOLATION',
|
|
120
|
+
reason: message,
|
|
121
|
+
sanitizedInputs: args,
|
|
122
|
+
executionTimeMs: 0,
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
success: false,
|
|
126
|
+
blockedBy: 'DESCRIPTOR_PIN_VIOLATION',
|
|
127
|
+
error: message,
|
|
128
|
+
executionTimeMs: 0,
|
|
129
|
+
sessionId,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
149
132
|
return guard.execute(args, options);
|
|
150
133
|
},
|
|
151
134
|
};
|
|
@@ -160,53 +143,15 @@ export class VarkMCPAdapter {
|
|
|
160
143
|
list() {
|
|
161
144
|
return [...this.#tools.values()];
|
|
162
145
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Verify a freshly fetched `tools/list` against the wrap-time pins.
|
|
165
|
-
*
|
|
166
|
-
* The in-place pin check inside `check()`/`execute()` only sees mutations
|
|
167
|
-
* of the descriptor object captured at wrap time; a server that returns
|
|
168
|
-
* *new* objects on its next listing (the real schema rug pull) is only
|
|
169
|
-
* visible when the host feeds that listing back in. Call `reconcile()`
|
|
170
|
-
* whenever the server re-lists (`notifications/list_changed`, reconnects,
|
|
171
|
-
* polling): any wrapped tool whose `{ name, description, inputSchema }`
|
|
172
|
-
* no longer matches its pin is **permanently refused** with
|
|
173
|
-
* `DESCRIPTOR_PIN_VIOLATION` (audited once) until `clear()` and a fresh
|
|
174
|
-
* `wrapTools()` re-establish trust.
|
|
175
|
-
*
|
|
176
|
-
* @returns descriptors that failed verification — empty array = all pinned
|
|
177
|
-
*/
|
|
178
|
-
reconcile(descriptors) {
|
|
179
|
-
const failures = [];
|
|
180
|
-
for (const raw of Array.isArray(descriptors) ? descriptors : []) {
|
|
181
|
-
if (!raw || typeof raw !== 'object')
|
|
182
|
-
continue;
|
|
183
|
-
const live = raw;
|
|
184
|
-
if (typeof live.name !== 'string')
|
|
185
|
-
continue;
|
|
186
|
-
const entry = this.#tools.get(live.name);
|
|
187
|
-
if (!entry)
|
|
188
|
-
continue; // not wrapped through this adapter
|
|
189
|
-
if (this.#violations.has(entry.name))
|
|
190
|
-
continue; // already refused — audited once
|
|
191
|
-
const verdict = checkDescriptorPin(entry, live);
|
|
192
|
-
if (verdict?.reason) {
|
|
193
|
-
this.#violations.set(entry.name, verdict.reason);
|
|
194
|
-
failures.push({ name: entry.name, reason: verdict.reason });
|
|
195
|
-
this.#refuse(entry, verdict.reason, raw);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return failures;
|
|
199
|
-
}
|
|
200
146
|
/** Payload-only inspection (circuit breaker) for a raw argument object. */
|
|
201
147
|
inspect(args) {
|
|
202
148
|
return this.runtime.inspect(args);
|
|
203
149
|
}
|
|
204
|
-
/** Unwrap every tool registered through this adapter
|
|
150
|
+
/** Unwrap every tool registered through this adapter. */
|
|
205
151
|
clear() {
|
|
206
152
|
for (const name of this.#tools.keys())
|
|
207
153
|
this.runtime.unregister(name);
|
|
208
154
|
this.#tools.clear();
|
|
209
|
-
this.#violations.clear();
|
|
210
155
|
}
|
|
211
156
|
}
|
|
212
157
|
/** Functional shorthand for `new VarkMCPAdapter(options).wrapTools(...)`. */
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luveo-tech/vark-mcp",
|
|
3
|
-
"version": "0.2.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "MCP adapter for @luveo-tech/vark — wrap Anthropic Model Context Protocol tools with vark's zero-trust security gates (no rewrites).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vark",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"sideEffects": false,
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@luveo-tech/vark": "0.2.0
|
|
32
|
+
"@luveo-tech/vark": "0.2.0"
|
|
33
33
|
},
|
|
34
34
|
"engines": {
|
|
35
35
|
"node": ">=20"
|