@axtary/mcp 0.1.0 → 0.3.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 CHANGED
@@ -16,10 +16,21 @@ 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
- - Calls local MCP-compatible HTTP endpoints with JSON-RPC `tools/call` requests.
20
- - Calls local stdio MCP-style processes with one JSON-RPC request per invocation.
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
+ - Keeps network access explicit: the HTTP invoker, HTTP client, and OAuth discovery/registration/token helpers all require a caller-injected fetch-compatible transport and fail closed without one. Spawning a wrapped stdio MCP server (child process + inherited environment) remains the package's core local function.
21
22
  - Provides fixture-backed handlers for deterministic demos and tests.
22
23
  - Fails closed if the action's tool name, server identity, schema version, or definition hash no longer matches the registered tool.
24
+ - 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.
25
+ - 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`.
26
+ - 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.
27
+ - 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.
28
+ - Persists verifier-side publisher trust as public-only, `0600` JSON
29
+ (`saveMcpPublisherTrustStore`) and loads a signed-definition registry mapping
30
+ `(serverIdentity, toolName)` to an expected publisher and compact JWS. The
31
+ operator CLI consumes these primitives; signatures never use trust on first
32
+ use.
33
+ - 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
34
 
24
35
  ## Quickstart
25
36
 
@@ -57,4 +68,8 @@ console.log(action.capability.tool, action.toolDefinition.definitionHash === def
57
68
 
58
69
  ## Design Notes
59
70
 
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.
71
+ MCP tool poisoning and schema drift are content-authorization problems at execution time, 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.
72
+
73
+ 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.
74
+
75
+ 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;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
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) {
@@ -105,7 +119,10 @@ export function createMcpToolHandler(input) {
105
119
  };
106
120
  }
107
121
  export function createMcpHttpToolInvoker(config) {
108
- const fetchImpl = config.fetch ?? globalThis.fetch;
122
+ // Scanner hygiene: never fall back to the ambient global fetch in library
123
+ // code — callers must inject the transport, and the invoker fails closed
124
+ // without it.
125
+ const fetchImpl = config.fetch;
109
126
  if (!fetchImpl) {
110
127
  throw new Error("mcp_http_fetch_required");
111
128
  }
@@ -268,7 +285,8 @@ function stableStringify(value) {
268
285
  }
269
286
  if (value && typeof value === "object") {
270
287
  return `{${Object.entries(value)
271
- .sort(([left], [right]) => left.localeCompare(right))
288
+ // UTF-16 code unit order per RFC 8785 (JCS), matching @axtary/actionpass.
289
+ .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
272
290
  .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
273
291
  .join(",")}}`;
274
292
  }
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;WAcM,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"}