@luveo-tech/vark-mcp 0.1.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 +15 -6
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +58 -3
- package/dist/bridge.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +15 -3
package/dist/bridge.d.ts
CHANGED
|
@@ -24,18 +24,25 @@ import type { CapabilityConfig, CompressionReport, ExecutionOptions, ExecutionCo
|
|
|
24
24
|
export interface MCPToolLike {
|
|
25
25
|
name: string;
|
|
26
26
|
description?: string;
|
|
27
|
-
inputSchema?: Record<string,
|
|
27
|
+
inputSchema?: Record<string, unknown>;
|
|
28
28
|
/** OpenAI-style alias for `inputSchema`. */
|
|
29
|
-
schema?: Record<string,
|
|
29
|
+
schema?: Record<string, unknown>;
|
|
30
30
|
[key: string]: unknown;
|
|
31
31
|
}
|
|
32
32
|
/** Performs the real `tools/call` round trip against the MCP server. */
|
|
33
|
-
export type MCPExecutor = (tool: MCPToolLike, args:
|
|
33
|
+
export type MCPExecutor = (tool: MCPToolLike, args: Record<string, unknown>, context: ExecutionContext) => Promise<unknown>;
|
|
34
34
|
/** A raw MCP tool after vark has wrapped it. */
|
|
35
35
|
export interface WrappedMCPTool {
|
|
36
36
|
name: string;
|
|
37
37
|
description: string;
|
|
38
|
-
inputSchema: Record<string,
|
|
38
|
+
inputSchema: Record<string, unknown>;
|
|
39
|
+
/**
|
|
40
|
+
* SHA-256 pin of `{ name, description, inputSchema }` taken at wrap time.
|
|
41
|
+
* Every `check()`/`execute()` recomputes it — a mismatch means the
|
|
42
|
+
* descriptor was mutated after wrapping (MCP rug pull) and the call is
|
|
43
|
+
* refused with `DESCRIPTOR_PIN_VIOLATION`.
|
|
44
|
+
*/
|
|
45
|
+
descriptorHash: string;
|
|
39
46
|
/** Effective grants (defaults merged with the per-wrap defaults). */
|
|
40
47
|
capabilities: CapabilityConfig;
|
|
41
48
|
/** CTP signature for this tool. */
|
|
@@ -47,6 +54,8 @@ export interface WrappedMCPTool {
|
|
|
47
54
|
/** Guarded execution — runs the payload through vark, then the MCP server. */
|
|
48
55
|
execute: (args?: unknown, options?: ExecutionOptions) => Promise<ToolExecutionResult>;
|
|
49
56
|
}
|
|
57
|
+
/** Canonical descriptor fingerprint for rug-pull detection. */
|
|
58
|
+
export declare function hashDescriptor(tool: Pick<MCPToolLike, 'name' | 'description' | 'inputSchema' | 'schema'>): string;
|
|
50
59
|
export interface VarkMCPAdapterOptions {
|
|
51
60
|
config?: VarkConfig;
|
|
52
61
|
executor?: MCPExecutor;
|
|
@@ -69,7 +78,7 @@ export declare class VarkMCPAdapter {
|
|
|
69
78
|
* @param defaultCapabilities grants applied to every wrapped tool
|
|
70
79
|
* @param executor per-call override for the MCP server round trip
|
|
71
80
|
*/
|
|
72
|
-
wrapTools(mcpTools:
|
|
81
|
+
wrapTools(mcpTools: unknown[], defaultCapabilities?: CapabilityConfig, executor?: MCPExecutor): WrappedMCPTool[];
|
|
73
82
|
get(name: string): WrappedMCPTool | undefined;
|
|
74
83
|
list(): WrappedMCPTool[];
|
|
75
84
|
/** Payload-only inspection (circuit breaker) for a raw argument object. */
|
|
@@ -78,6 +87,6 @@ export declare class VarkMCPAdapter {
|
|
|
78
87
|
clear(): void;
|
|
79
88
|
}
|
|
80
89
|
/** Functional shorthand for `new VarkMCPAdapter(options).wrapTools(...)`. */
|
|
81
|
-
export declare function wrapMCPTools(mcpTools:
|
|
90
|
+
export declare function wrapMCPTools(mcpTools: unknown[], defaultCapabilities?: CapabilityConfig, options?: VarkMCPAdapterOptions): WrappedMCPTool[];
|
|
82
91
|
export type { CompressionReport, ExecutionOptions, ExecutionContext, GuardResult, InspectionResult };
|
|
83
92
|
//# sourceMappingURL=bridge.d.ts.map
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
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
|
@@ -19,7 +19,32 @@
|
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
import { VarkRuntime } from '@luveo-tech/vark';
|
|
22
|
-
import {
|
|
22
|
+
import { createHash } from 'node:crypto';
|
|
23
|
+
import { VarkError, stableStringify, DEFAULT_SESSION } from '@luveo-tech/vark';
|
|
24
|
+
/** Canonical descriptor fingerprint for rug-pull detection. */
|
|
25
|
+
export function hashDescriptor(tool) {
|
|
26
|
+
const canonical = stableStringify({
|
|
27
|
+
name: tool.name,
|
|
28
|
+
description: tool.description ?? '',
|
|
29
|
+
inputSchema: tool.inputSchema ?? tool.schema ?? {},
|
|
30
|
+
});
|
|
31
|
+
return createHash('sha256').update(canonical).digest('hex');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Recompute the live descriptor hash and compare it to the wrap-time pin.
|
|
35
|
+
* Returns a refusal when the server (or anyone holding the original object)
|
|
36
|
+
* mutated the descriptor after wrapping.
|
|
37
|
+
*/
|
|
38
|
+
function checkDescriptorPin(entry, live) {
|
|
39
|
+
if (hashDescriptor(live) === entry.descriptorHash)
|
|
40
|
+
return undefined;
|
|
41
|
+
return {
|
|
42
|
+
safe: false,
|
|
43
|
+
blockedBy: 'DESCRIPTOR_PIN_VIOLATION',
|
|
44
|
+
reason: `MCP descriptor for "${entry.name}" changed since wrap ` +
|
|
45
|
+
`(pinned ${entry.descriptorHash.slice(0, 12)}…) — possible rug pull, refusing`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
23
48
|
function normalizeTool(raw) {
|
|
24
49
|
if (!raw || typeof raw !== 'object')
|
|
25
50
|
throw new TypeError('MCP tool descriptor must be an object');
|
|
@@ -71,11 +96,41 @@ export class VarkMCPAdapter {
|
|
|
71
96
|
name: tool.name,
|
|
72
97
|
description: tool.description ?? '',
|
|
73
98
|
inputSchema,
|
|
99
|
+
descriptorHash: hashDescriptor(tool),
|
|
74
100
|
capabilities: guard.capabilities,
|
|
75
101
|
compact: guard.compact,
|
|
76
102
|
compression: guard.compression,
|
|
77
|
-
check: (args, options) =>
|
|
78
|
-
|
|
103
|
+
check: (args, options) => {
|
|
104
|
+
const pin = checkDescriptorPin(entry, tool);
|
|
105
|
+
if (pin)
|
|
106
|
+
return pin;
|
|
107
|
+
return this.runtime.check(tool.name, args, options);
|
|
108
|
+
},
|
|
109
|
+
execute: async (args, options) => {
|
|
110
|
+
const pin = checkDescriptorPin(entry, tool);
|
|
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
|
+
}
|
|
132
|
+
return guard.execute(args, options);
|
|
133
|
+
},
|
|
79
134
|
};
|
|
80
135
|
this.#tools.set(entry.name, entry);
|
|
81
136
|
wrapped.push(entry);
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `@luveo-tech/vark-mcp` — zero-rewrite bridge between Anthropic Model Context
|
|
3
3
|
* Protocol tool descriptors and the vark guard pipeline.
|
|
4
4
|
*/
|
|
5
|
-
export { VarkMCPAdapter, wrapMCPTools } from './bridge.js';
|
|
5
|
+
export { VarkMCPAdapter, wrapMCPTools, hashDescriptor } from './bridge.js';
|
|
6
6
|
export type { MCPExecutor, MCPToolLike, VarkMCPAdapterOptions, WrappedMCPTool, } from './bridge.js';
|
|
7
7
|
export type { ExecutionOptions } from './bridge.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* `@luveo-tech/vark-mcp` — zero-rewrite bridge between Anthropic Model Context
|
|
3
3
|
* Protocol tool descriptors and the vark guard pipeline.
|
|
4
4
|
*/
|
|
5
|
-
export { VarkMCPAdapter, wrapMCPTools } from './bridge.js';
|
|
5
|
+
export { VarkMCPAdapter, wrapMCPTools, hashDescriptor } from './bridge.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luveo-tech/vark-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "MCP adapter for @luveo-tech/vark — wrap Anthropic Model Context Protocol tools with vark's zero-trust security gates (no rewrites).",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vark",
|
|
7
|
+
"mcp",
|
|
8
|
+
"model-context-protocol",
|
|
9
|
+
"anthropic",
|
|
10
|
+
"ai-agents",
|
|
11
|
+
"llm-security",
|
|
12
|
+
"agent-security",
|
|
13
|
+
"tool-calls",
|
|
14
|
+
"security",
|
|
15
|
+
"zero-trust"
|
|
16
|
+
],
|
|
5
17
|
"type": "module",
|
|
6
18
|
"license": "MIT",
|
|
7
19
|
"main": "./dist/index.js",
|
|
@@ -17,7 +29,7 @@
|
|
|
17
29
|
],
|
|
18
30
|
"sideEffects": false,
|
|
19
31
|
"dependencies": {
|
|
20
|
-
"@luveo-tech/vark": "0.
|
|
32
|
+
"@luveo-tech/vark": "0.2.0"
|
|
21
33
|
},
|
|
22
34
|
"engines": {
|
|
23
35
|
"node": ">=20"
|