@axtary/mcp 0.1.0 → 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/README.md +17 -3
- package/dist/conformance.d.ts +150 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +131 -0
- package/dist/conformance.js.map +1 -0
- package/dist/core.d.ts +8 -0
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +21 -6
- package/dist/core.js.map +1 -1
- package/dist/http-client.d.ts +46 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +280 -0
- package/dist/http-client.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/oauth.d.ts +168 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +449 -0
- package/dist/oauth.js.map +1 -0
- package/dist/pins.d.ts +179 -0
- package/dist/pins.d.ts.map +1 -0
- package/dist/pins.js +243 -0
- package/dist/pins.js.map +1 -0
- package/dist/server.d.ts +13 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/signing.d.ts +218 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +429 -0
- package/dist/signing.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -16,10 +16,20 @@ This package keeps transport execution behind Axtary's policy and ledger path. I
|
|
|
16
16
|
- Computes deterministic `sha256:` definition hashes.
|
|
17
17
|
- Creates `mcp.tool.call` normalized Axtary actions with `toolDefinition` provenance.
|
|
18
18
|
- Wraps MCP-style tool invokers as Axtary proxy handlers.
|
|
19
|
-
-
|
|
20
|
-
-
|
|
19
|
+
- Connects to upstream MCP servers over **stdio** (`McpStdioClient`) or the **Streamable HTTP** transport (`McpHttpClient`, spec 2025-06-18: session id + protocol-version headers, `application/json` or SSE responses) behind one transport-agnostic `McpUpstreamClient` interface.
|
|
20
|
+
- Refuses cleartext `http://` to non-loopback hosts (`assertSafeMcpUrl`) so upstream credentials are never sent in the clear.
|
|
21
21
|
- Provides fixture-backed handlers for deterministic demos and tests.
|
|
22
22
|
- Fails closed if the action's tool name, server identity, schema version, or definition hash no longer matches the registered tool.
|
|
23
|
+
- Persists reviewed definition hashes to a pin manifest (`axtary.mcp_pins.v1`, upgraded in place from `v0`) and reconciles a server's *current* definitions against it (`reconcileMcpPins`), so drift **between sessions** is detected — `pinned` / `new` / `drifted` — not just within one run.
|
|
24
|
+
- Optionally verifies **signed, versioned tool definitions** (`axtary.mcp_signed_definition.v1`): a publisher signs the exact `definitionHash`, a semantic version, the required scopes, and a `priorDefinitionHash` link to the version it supersedes, using ES256/JOSE. Unsigned, mis-signed, unknown-key, or altered definitions fail closed **before invoke** via `createSignedMcpToolHandler`. See `spec/mcp-tool-provenance-v1.md`.
|
|
25
|
+
- Evaluates the **version chain** (`evaluateMcpVersionChain`): a new signed version is `continuous` only if it references the pinned version's hash and bumps its semver; otherwise it is surfaced as `broken_chain` or `version_not_incremented` (rug-pull defense), never silently accepted.
|
|
26
|
+
- Binds verified publisher provenance (`publisher` / `publisherKeyId` / `semver` / `priorDefinitionHash`) into the normalized action's `toolDefinition`, so it rides into the ActionPass and the ledger and is independently verifiable from the ledger alone. These fields are optional: a hash-only tool produces a byte-identical `toolDefinition` to before.
|
|
27
|
+
- Persists verifier-side publisher trust as public-only, `0600` JSON
|
|
28
|
+
(`saveMcpPublisherTrustStore`) and loads a signed-definition registry mapping
|
|
29
|
+
`(serverIdentity, toolName)` to an expected publisher and compact JWS. The
|
|
30
|
+
operator CLI consumes these primitives; signatures never use trust on first
|
|
31
|
+
use.
|
|
32
|
+
- Defines a secret-free live conformance receipt/registry (`axtary.mcp_conformance_receipt.v0`) for per-server proof: pinned tools, governed call digest, ActionPass v1/DPoP ledger evidence, labeled synthetic drift quarantine, and verified signed attestation.
|
|
23
33
|
|
|
24
34
|
## Quickstart
|
|
25
35
|
|
|
@@ -57,4 +67,8 @@ console.log(action.capability.tool, action.toolDefinition.definitionHash === def
|
|
|
57
67
|
|
|
58
68
|
## Design Notes
|
|
59
69
|
|
|
60
|
-
MCP tool poisoning and schema drift are runtime authorization problems, not just connection setup problems. Axtary records the tool definition hash in the action and checks it again at execution time, so a changed tool schema requires a fresh policy/approval path.
|
|
70
|
+
MCP tool poisoning and schema drift are runtime authorization problems, not just connection setup problems. Axtary records the tool definition hash in the action and checks it again at execution time, so a changed tool schema requires a fresh policy/approval path. The pin manifest makes that guarantee durable: a tool is trusted-on-first-use (or, in strict mode, only after explicit review), and any later change to its definition is quarantined until a human re-pins it — drift cannot be laundered by restarting the wrapper.
|
|
71
|
+
|
|
72
|
+
Conformance receipts are local evidence, not connection inventory. They never persist upstream headers or tool response content, and operator surfaces must treat old receipts as stale rather than implying continuous health.
|
|
73
|
+
|
|
74
|
+
Signed definitions add *publisher identity* on top of the content hash. The hash answers "did this definition change?"; the signature answers "did a publisher I trust attest to this exact version, and how does it relate to the last one I pinned?". This is the Axtary profile of the ETDI idea (arXiv:2506.01333), expressed on ES256/JOSE. Trust is exactly the publisher keys an operator configures — there is no trust-on-first-use for *signatures* (that stays at the human-reviewed pin layer). A signature attests to who published a definition and its version lineage; it does not prove the tool is safe and does not detect prompt injection.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const MCP_CONFORMANCE_REGISTRY_VERSION = "axtary.mcp_conformance_registry.v0";
|
|
3
|
+
export declare const MCP_CONFORMANCE_RECEIPT_VERSION = "axtary.mcp_conformance_receipt.v0";
|
|
4
|
+
export declare const McpConformanceReceiptSchema: z.ZodObject<{
|
|
5
|
+
schemaVersion: z.ZodLiteral<"axtary.mcp_conformance_receipt.v0">;
|
|
6
|
+
receiptId: z.ZodString;
|
|
7
|
+
checkedAt: z.ZodString;
|
|
8
|
+
source: z.ZodLiteral<"live">;
|
|
9
|
+
target: z.ZodObject<{
|
|
10
|
+
transport: z.ZodEnum<{
|
|
11
|
+
stdio: "stdio";
|
|
12
|
+
"streamable-http": "streamable-http";
|
|
13
|
+
}>;
|
|
14
|
+
endpoint: z.ZodNullable<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
server: z.ZodObject<{
|
|
17
|
+
identity: z.ZodString;
|
|
18
|
+
version: z.ZodString;
|
|
19
|
+
protocolVersion: z.ZodString;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
tools: z.ZodArray<z.ZodObject<{
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
definitionHash: z.ZodString;
|
|
24
|
+
pinStatus: z.ZodLiteral<"pinned">;
|
|
25
|
+
publisherEvidence: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
trust: z.ZodEnum<{
|
|
27
|
+
verified: "verified";
|
|
28
|
+
unsigned: "unsigned";
|
|
29
|
+
untrusted: "untrusted";
|
|
30
|
+
invalid: "invalid";
|
|
31
|
+
}>;
|
|
32
|
+
publisher: z.ZodNullable<z.ZodString>;
|
|
33
|
+
kid: z.ZodNullable<z.ZodString>;
|
|
34
|
+
semver: z.ZodNullable<z.ZodString>;
|
|
35
|
+
priorDefinitionHash: z.ZodNullable<z.ZodString>;
|
|
36
|
+
chainVerdict: z.ZodNullable<z.ZodEnum<{
|
|
37
|
+
first_pin: "first_pin";
|
|
38
|
+
unchanged: "unchanged";
|
|
39
|
+
continuous: "continuous";
|
|
40
|
+
version_not_incremented: "version_not_incremented";
|
|
41
|
+
broken_chain: "broken_chain";
|
|
42
|
+
}>>;
|
|
43
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
44
|
+
}, z.core.$strip>>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
governedCall: z.ZodObject<{
|
|
47
|
+
toolName: z.ZodString;
|
|
48
|
+
succeeded: z.ZodLiteral<true>;
|
|
49
|
+
responseDigest: z.ZodString;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
authorization: z.ZodObject<{
|
|
52
|
+
actionPassProfile: z.ZodLiteral<"axtary.actionpass.v1">;
|
|
53
|
+
dpopRequired: z.ZodLiteral<true>;
|
|
54
|
+
policyDecision: z.ZodLiteral<"allow">;
|
|
55
|
+
ledgerValid: z.ZodLiteral<true>;
|
|
56
|
+
appendedRecords: z.ZodNumber;
|
|
57
|
+
lastLedgerHash: z.ZodString;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
driftProbe: z.ZodObject<{
|
|
60
|
+
kind: z.ZodLiteral<"synthetic_pin_mismatch">;
|
|
61
|
+
toolName: z.ZodString;
|
|
62
|
+
blocked: z.ZodLiteral<true>;
|
|
63
|
+
reason: z.ZodLiteral<"definition_drifted">;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
attestation: z.ZodObject<{
|
|
66
|
+
valid: z.ZodLiteral<true>;
|
|
67
|
+
bundlePath: z.ZodString;
|
|
68
|
+
exportDigest: z.ZodString;
|
|
69
|
+
keyId: z.ZodString;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
export type McpConformanceReceipt = z.infer<typeof McpConformanceReceiptSchema>;
|
|
73
|
+
export declare const McpConformanceRegistrySchema: z.ZodObject<{
|
|
74
|
+
schemaVersion: z.ZodLiteral<"axtary.mcp_conformance_registry.v0">;
|
|
75
|
+
receipts: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
76
|
+
schemaVersion: z.ZodLiteral<"axtary.mcp_conformance_receipt.v0">;
|
|
77
|
+
receiptId: z.ZodString;
|
|
78
|
+
checkedAt: z.ZodString;
|
|
79
|
+
source: z.ZodLiteral<"live">;
|
|
80
|
+
target: z.ZodObject<{
|
|
81
|
+
transport: z.ZodEnum<{
|
|
82
|
+
stdio: "stdio";
|
|
83
|
+
"streamable-http": "streamable-http";
|
|
84
|
+
}>;
|
|
85
|
+
endpoint: z.ZodNullable<z.ZodString>;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
server: z.ZodObject<{
|
|
88
|
+
identity: z.ZodString;
|
|
89
|
+
version: z.ZodString;
|
|
90
|
+
protocolVersion: z.ZodString;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
tools: z.ZodArray<z.ZodObject<{
|
|
93
|
+
name: z.ZodString;
|
|
94
|
+
definitionHash: z.ZodString;
|
|
95
|
+
pinStatus: z.ZodLiteral<"pinned">;
|
|
96
|
+
publisherEvidence: z.ZodOptional<z.ZodObject<{
|
|
97
|
+
trust: z.ZodEnum<{
|
|
98
|
+
verified: "verified";
|
|
99
|
+
unsigned: "unsigned";
|
|
100
|
+
untrusted: "untrusted";
|
|
101
|
+
invalid: "invalid";
|
|
102
|
+
}>;
|
|
103
|
+
publisher: z.ZodNullable<z.ZodString>;
|
|
104
|
+
kid: z.ZodNullable<z.ZodString>;
|
|
105
|
+
semver: z.ZodNullable<z.ZodString>;
|
|
106
|
+
priorDefinitionHash: z.ZodNullable<z.ZodString>;
|
|
107
|
+
chainVerdict: z.ZodNullable<z.ZodEnum<{
|
|
108
|
+
first_pin: "first_pin";
|
|
109
|
+
unchanged: "unchanged";
|
|
110
|
+
continuous: "continuous";
|
|
111
|
+
version_not_incremented: "version_not_incremented";
|
|
112
|
+
broken_chain: "broken_chain";
|
|
113
|
+
}>>;
|
|
114
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
115
|
+
}, z.core.$strip>>;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
governedCall: z.ZodObject<{
|
|
118
|
+
toolName: z.ZodString;
|
|
119
|
+
succeeded: z.ZodLiteral<true>;
|
|
120
|
+
responseDigest: z.ZodString;
|
|
121
|
+
}, z.core.$strip>;
|
|
122
|
+
authorization: z.ZodObject<{
|
|
123
|
+
actionPassProfile: z.ZodLiteral<"axtary.actionpass.v1">;
|
|
124
|
+
dpopRequired: z.ZodLiteral<true>;
|
|
125
|
+
policyDecision: z.ZodLiteral<"allow">;
|
|
126
|
+
ledgerValid: z.ZodLiteral<true>;
|
|
127
|
+
appendedRecords: z.ZodNumber;
|
|
128
|
+
lastLedgerHash: z.ZodString;
|
|
129
|
+
}, z.core.$strip>;
|
|
130
|
+
driftProbe: z.ZodObject<{
|
|
131
|
+
kind: z.ZodLiteral<"synthetic_pin_mismatch">;
|
|
132
|
+
toolName: z.ZodString;
|
|
133
|
+
blocked: z.ZodLiteral<true>;
|
|
134
|
+
reason: z.ZodLiteral<"definition_drifted">;
|
|
135
|
+
}, z.core.$strip>;
|
|
136
|
+
attestation: z.ZodObject<{
|
|
137
|
+
valid: z.ZodLiteral<true>;
|
|
138
|
+
bundlePath: z.ZodString;
|
|
139
|
+
exportDigest: z.ZodString;
|
|
140
|
+
keyId: z.ZodString;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
}, z.core.$strip>>>;
|
|
143
|
+
}, z.core.$strip>;
|
|
144
|
+
export type McpConformanceRegistry = z.infer<typeof McpConformanceRegistrySchema>;
|
|
145
|
+
export declare function emptyMcpConformanceRegistry(): McpConformanceRegistry;
|
|
146
|
+
export declare function parseMcpConformanceRegistry(input: unknown): McpConformanceRegistry;
|
|
147
|
+
export declare function loadMcpConformanceRegistry(path: string): Promise<McpConformanceRegistry>;
|
|
148
|
+
export declare function saveMcpConformanceRegistry(path: string, registry: McpConformanceRegistry): Promise<void>;
|
|
149
|
+
export declare function upsertMcpConformanceReceipt(registry: McpConformanceRegistry, receiptInput: McpConformanceReceipt): McpConformanceRegistry;
|
|
150
|
+
//# sourceMappingURL=conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gCAAgC,uCACP,CAAC;AACvC,eAAO,MAAM,+BAA+B,sCACP,CAAC;AAqBtC,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+CtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CACzC,OAAO,2BAA2B,CACnC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,sBAAsB,CAKpE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,sBAAsB,CAExB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sBAAsB,CAAC,CAcjC;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,sBAAsB,EAChC,YAAY,EAAE,qBAAqB,GAClC,sBAAsB,CAaxB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
export const MCP_CONFORMANCE_REGISTRY_VERSION = "axtary.mcp_conformance_registry.v0";
|
|
5
|
+
export const MCP_CONFORMANCE_RECEIPT_VERSION = "axtary.mcp_conformance_receipt.v0";
|
|
6
|
+
const DefinitionHashSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
|
|
7
|
+
const PublisherEvidenceSchema = z.object({
|
|
8
|
+
trust: z.enum(["verified", "unsigned", "untrusted", "invalid"]),
|
|
9
|
+
publisher: z.string().min(1).nullable(),
|
|
10
|
+
kid: z.string().min(1).nullable(),
|
|
11
|
+
semver: z.string().min(1).nullable(),
|
|
12
|
+
priorDefinitionHash: DefinitionHashSchema.nullable(),
|
|
13
|
+
chainVerdict: z
|
|
14
|
+
.enum([
|
|
15
|
+
"first_pin",
|
|
16
|
+
"unchanged",
|
|
17
|
+
"continuous",
|
|
18
|
+
"version_not_incremented",
|
|
19
|
+
"broken_chain",
|
|
20
|
+
])
|
|
21
|
+
.nullable(),
|
|
22
|
+
reason: z.string().min(1).nullable(),
|
|
23
|
+
});
|
|
24
|
+
export const McpConformanceReceiptSchema = z.object({
|
|
25
|
+
schemaVersion: z.literal(MCP_CONFORMANCE_RECEIPT_VERSION),
|
|
26
|
+
receiptId: z.string().min(1),
|
|
27
|
+
checkedAt: z.string().datetime(),
|
|
28
|
+
source: z.literal("live"),
|
|
29
|
+
target: z.object({
|
|
30
|
+
transport: z.enum(["stdio", "streamable-http"]),
|
|
31
|
+
endpoint: z.string().url().nullable(),
|
|
32
|
+
}),
|
|
33
|
+
server: z.object({
|
|
34
|
+
identity: z.string().min(1),
|
|
35
|
+
version: z.string().min(1),
|
|
36
|
+
protocolVersion: z.string().min(1),
|
|
37
|
+
}),
|
|
38
|
+
tools: z.array(z.object({
|
|
39
|
+
name: z.string().min(1),
|
|
40
|
+
definitionHash: DefinitionHashSchema,
|
|
41
|
+
pinStatus: z.literal("pinned"),
|
|
42
|
+
publisherEvidence: PublisherEvidenceSchema.optional(),
|
|
43
|
+
})),
|
|
44
|
+
governedCall: z.object({
|
|
45
|
+
toolName: z.string().min(1),
|
|
46
|
+
succeeded: z.literal(true),
|
|
47
|
+
responseDigest: DefinitionHashSchema,
|
|
48
|
+
}),
|
|
49
|
+
authorization: z.object({
|
|
50
|
+
actionPassProfile: z.literal("axtary.actionpass.v1"),
|
|
51
|
+
dpopRequired: z.literal(true),
|
|
52
|
+
policyDecision: z.literal("allow"),
|
|
53
|
+
ledgerValid: z.literal(true),
|
|
54
|
+
appendedRecords: z.number().int().positive(),
|
|
55
|
+
lastLedgerHash: DefinitionHashSchema,
|
|
56
|
+
}),
|
|
57
|
+
driftProbe: z.object({
|
|
58
|
+
kind: z.literal("synthetic_pin_mismatch"),
|
|
59
|
+
toolName: z.string().min(1),
|
|
60
|
+
blocked: z.literal(true),
|
|
61
|
+
reason: z.literal("definition_drifted"),
|
|
62
|
+
}),
|
|
63
|
+
attestation: z.object({
|
|
64
|
+
valid: z.literal(true),
|
|
65
|
+
bundlePath: z.string().min(1),
|
|
66
|
+
exportDigest: DefinitionHashSchema,
|
|
67
|
+
keyId: z.string().min(1),
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
export const McpConformanceRegistrySchema = z.object({
|
|
71
|
+
schemaVersion: z.literal(MCP_CONFORMANCE_REGISTRY_VERSION),
|
|
72
|
+
receipts: z.array(McpConformanceReceiptSchema).default([]),
|
|
73
|
+
});
|
|
74
|
+
export function emptyMcpConformanceRegistry() {
|
|
75
|
+
return {
|
|
76
|
+
schemaVersion: MCP_CONFORMANCE_REGISTRY_VERSION,
|
|
77
|
+
receipts: [],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export function parseMcpConformanceRegistry(input) {
|
|
81
|
+
return McpConformanceRegistrySchema.parse(input);
|
|
82
|
+
}
|
|
83
|
+
export async function loadMcpConformanceRegistry(path) {
|
|
84
|
+
let raw;
|
|
85
|
+
try {
|
|
86
|
+
raw = await readFile(path, "utf8");
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
if (error.code === "ENOENT") {
|
|
90
|
+
return emptyMcpConformanceRegistry();
|
|
91
|
+
}
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
return parseMcpConformanceRegistry(JSON.parse(raw));
|
|
95
|
+
}
|
|
96
|
+
export async function saveMcpConformanceRegistry(path, registry) {
|
|
97
|
+
await mkdir(dirname(path), { recursive: true });
|
|
98
|
+
await writeFile(path, `${JSON.stringify(normalizeRegistry(registry), null, 2)}\n`, {
|
|
99
|
+
encoding: "utf8",
|
|
100
|
+
mode: 0o600,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
export function upsertMcpConformanceReceipt(registry, receiptInput) {
|
|
104
|
+
const receipt = McpConformanceReceiptSchema.parse(receiptInput);
|
|
105
|
+
const targetKey = receiptTargetKey(receipt);
|
|
106
|
+
const receipts = registry.receipts.filter((entry) => receiptTargetKey(entry) !== targetKey);
|
|
107
|
+
receipts.push(receipt);
|
|
108
|
+
return normalizeRegistry({
|
|
109
|
+
schemaVersion: MCP_CONFORMANCE_REGISTRY_VERSION,
|
|
110
|
+
receipts,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function receiptTargetKey(receipt) {
|
|
114
|
+
return [
|
|
115
|
+
receipt.server.identity,
|
|
116
|
+
receipt.target.transport,
|
|
117
|
+
receipt.target.endpoint ?? "stdio",
|
|
118
|
+
].join(" ");
|
|
119
|
+
}
|
|
120
|
+
function normalizeRegistry(registry) {
|
|
121
|
+
return McpConformanceRegistrySchema.parse({
|
|
122
|
+
schemaVersion: MCP_CONFORMANCE_REGISTRY_VERSION,
|
|
123
|
+
receipts: [...registry.receipts].sort((left, right) => {
|
|
124
|
+
const identity = left.server.identity.localeCompare(right.server.identity);
|
|
125
|
+
if (identity !== 0)
|
|
126
|
+
return identity;
|
|
127
|
+
return left.checkedAt.localeCompare(right.checkedAt);
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=conformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type JsonValue, type NormalizedAction } from "@axtary/actionpass";
|
|
2
2
|
import type { ToolHandler } from "@axtary/proxy";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
+
import type { McpSignedDefinitionVerification } from "./signing.js";
|
|
4
5
|
export declare const MCP_WRAPPER_SCHEMA_VERSION = "axtary.mcp_wrapper.v0";
|
|
5
6
|
export declare const MCP_TOOL_CALL = "mcp.tool.call";
|
|
6
7
|
export declare const McpToolDefinitionInputSchema: z.ZodObject<{
|
|
@@ -37,6 +38,13 @@ export type CreateMcpActionInput = {
|
|
|
37
38
|
intent: NormalizedAction["intent"];
|
|
38
39
|
call: McpToolCall;
|
|
39
40
|
constraints?: Record<string, JsonValue>;
|
|
41
|
+
/**
|
|
42
|
+
* A verified signed definition (from `verifyMcpSignedDefinition`). When
|
|
43
|
+
* present, publisher identity and version lineage are bound into the action's
|
|
44
|
+
* `toolDefinition`, so they ride into the ActionPass and ledger. The verified
|
|
45
|
+
* `definitionHash` must match the definition or action creation fails closed.
|
|
46
|
+
*/
|
|
47
|
+
signed?: McpSignedDefinitionVerification;
|
|
40
48
|
};
|
|
41
49
|
export type McpToolInvokerRequest = {
|
|
42
50
|
definition: McpToolDefinitionRecord;
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/core.js
CHANGED
|
@@ -69,6 +69,24 @@ export function createMcpAction(input) {
|
|
|
69
69
|
if (call.toolName !== definition.name) {
|
|
70
70
|
throw new Error(`mcp_tool_name_mismatch:${definition.name}`);
|
|
71
71
|
}
|
|
72
|
+
const toolDefinition = {
|
|
73
|
+
serverIdentity: definition.serverIdentity,
|
|
74
|
+
schemaVersion: definition.schemaVersion,
|
|
75
|
+
definitionHash: definition.definitionHash,
|
|
76
|
+
};
|
|
77
|
+
if (input.signed) {
|
|
78
|
+
// The verification must be for this exact definition, or we would be
|
|
79
|
+
// binding a signature for a different tool — refuse rather than mislabel.
|
|
80
|
+
if (input.signed.definitionHash !== definition.definitionHash) {
|
|
81
|
+
throw new Error(`mcp_signed_definition_hash_mismatch:${definition.definitionHash}`);
|
|
82
|
+
}
|
|
83
|
+
toolDefinition.publisher = input.signed.publisher;
|
|
84
|
+
toolDefinition.publisherKeyId = input.signed.kid;
|
|
85
|
+
toolDefinition.semver = input.signed.semver;
|
|
86
|
+
if (input.signed.priorDefinitionHash) {
|
|
87
|
+
toolDefinition.priorDefinitionHash = input.signed.priorDefinitionHash;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
72
90
|
return NormalizedActionSchema.parse({
|
|
73
91
|
schemaVersion: ACTION_SCHEMA_VERSION,
|
|
74
92
|
actor: input.actor,
|
|
@@ -82,11 +100,7 @@ export function createMcpAction(input) {
|
|
|
82
100
|
},
|
|
83
101
|
constraints: input.constraints,
|
|
84
102
|
},
|
|
85
|
-
toolDefinition
|
|
86
|
-
serverIdentity: definition.serverIdentity,
|
|
87
|
-
schemaVersion: definition.schemaVersion,
|
|
88
|
-
definitionHash: definition.definitionHash,
|
|
89
|
-
},
|
|
103
|
+
toolDefinition,
|
|
90
104
|
});
|
|
91
105
|
}
|
|
92
106
|
export function createMcpToolHandler(input) {
|
|
@@ -268,7 +282,8 @@ function stableStringify(value) {
|
|
|
268
282
|
}
|
|
269
283
|
if (value && typeof value === "object") {
|
|
270
284
|
return `{${Object.entries(value)
|
|
271
|
-
|
|
285
|
+
// UTF-16 code unit order per RFC 8785 (JCS), matching @axtary/actionpass.
|
|
286
|
+
.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
|
|
272
287
|
.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
|
|
273
288
|
.join(",")}}`;
|
|
274
289
|
}
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { JsonValue } from "@axtary/actionpass";
|
|
2
|
+
import type { McpUpstreamClient, McpUpstreamServerInfo, McpUpstreamToolListing } from "./server.js";
|
|
3
|
+
export type McpHttpClientConfig = {
|
|
4
|
+
url: string;
|
|
5
|
+
headers?: Record<string, string>;
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
clientName?: string;
|
|
9
|
+
clientVersion?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Validate an upstream MCP URL before we send anything to it. `https://` is
|
|
13
|
+
* always allowed; `http://` is allowed only for loopback hosts. We never POST
|
|
14
|
+
* headers (which may carry credentials) in cleartext to a remote host — the
|
|
15
|
+
* same honesty rule that caught the Slack HTTP-loopback bug.
|
|
16
|
+
*/
|
|
17
|
+
export declare function assertSafeMcpUrl(rawUrl: string): URL;
|
|
18
|
+
/**
|
|
19
|
+
* MCP client over the Streamable HTTP transport (spec 2025-06-18). Mirrors the
|
|
20
|
+
* surface of `McpStdioClient` so the governance path is transport-agnostic:
|
|
21
|
+
* every JSON-RPC message is a POST to the single MCP endpoint, the server may
|
|
22
|
+
* answer with one JSON object or an SSE stream, the session id from the
|
|
23
|
+
* InitializeResult is echoed on later requests, and the negotiated protocol
|
|
24
|
+
* version rides every post-init request.
|
|
25
|
+
*/
|
|
26
|
+
export declare class McpHttpClient implements McpUpstreamClient {
|
|
27
|
+
private readonly url;
|
|
28
|
+
private readonly headers;
|
|
29
|
+
private readonly fetchImpl;
|
|
30
|
+
private readonly timeoutMs;
|
|
31
|
+
private sessionId;
|
|
32
|
+
private negotiatedVersion;
|
|
33
|
+
private closed;
|
|
34
|
+
serverInfo: McpUpstreamServerInfo | null;
|
|
35
|
+
private constructor();
|
|
36
|
+
static start(config: McpHttpClientConfig): Promise<McpHttpClient>;
|
|
37
|
+
listTools(): Promise<McpUpstreamToolListing[]>;
|
|
38
|
+
callTool(name: string, callArguments: Record<string, JsonValue>): Promise<JsonValue>;
|
|
39
|
+
close(): void;
|
|
40
|
+
private request;
|
|
41
|
+
private notify;
|
|
42
|
+
private post;
|
|
43
|
+
private readSseResponse;
|
|
44
|
+
private buildHeaders;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAwBpD;AAED;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,iBAAiB;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAEhD,OAAO;WAaM,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiCjE,SAAS,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA+BpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAIpF,KAAK,IAAI,IAAI;YAuBC,OAAO;YAoBP,MAAM;YAIN,IAAI;YAiEJ,eAAe;IA+C7B,OAAO,CAAC,YAAY;CAoBrB"}
|