@chrischall/mcp-utils 0.27.1 → 1.0.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 +92 -19
- package/dist/fetchproxy/index.d.ts +6 -17
- package/dist/fetchproxy/index.d.ts.map +1 -1
- package/dist/fetchproxy/index.js +3 -12
- package/dist/fetchproxy/index.js.map +1 -1
- package/dist/healthcheck/index.d.ts +1 -1
- package/dist/healthcheck/index.d.ts.map +1 -1
- package/dist/healthcheck/index.js +2 -1
- package/dist/healthcheck/index.js.map +1 -1
- package/dist/response/index.d.ts +1 -1
- package/dist/response/index.d.ts.map +1 -1
- package/dist/response/index.js.map +1 -1
- package/dist/response/view.d.ts +1 -1
- package/dist/response/view.d.ts.map +1 -1
- package/dist/server/confirmation.d.ts +26 -0
- package/dist/server/confirmation.d.ts.map +1 -0
- package/dist/server/confirmation.js +49 -0
- package/dist/server/confirmation.js.map +1 -0
- package/dist/server/index.d.ts +99 -33
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +97 -21
- package/dist/server/index.js.map +1 -1
- package/dist/session/index.d.ts +1 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +5 -5
- package/dist/session/index.js.map +1 -1
- package/dist/test/index.d.ts +22 -4
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +21 -7
- package/dist/test/index.js.map +1 -1
- package/dist/zod/index.d.ts +28 -6
- package/dist/zod/index.d.ts.map +1 -1
- package/dist/zod/index.js +28 -6
- package/dist/zod/index.js.map +1 -1
- package/package.json +19 -11
package/dist/test/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import type { CallToolResult } from '@modelcontextprotocol/
|
|
1
|
+
import { Client } from '@modelcontextprotocol/client';
|
|
2
|
+
import { McpServer } from '@modelcontextprotocol/server';
|
|
3
|
+
import type { CallToolResult, ElicitRequest, ElicitResult } from '@modelcontextprotocol/server';
|
|
4
4
|
import type { Mock } from 'vitest';
|
|
5
5
|
/** A function that registers one or more tools onto a fresh `McpServer`. */
|
|
6
6
|
export type RegisterFn = (server: McpServer) => void | Promise<void>;
|
|
@@ -20,6 +20,14 @@ export interface TestHarness {
|
|
|
20
20
|
/** Tear down both ends of the transport. Safe to call more than once. */
|
|
21
21
|
close: () => Promise<void>;
|
|
22
22
|
}
|
|
23
|
+
/** Optional client behavior for protocol features exercised by a test. */
|
|
24
|
+
export interface TestHarnessOptions {
|
|
25
|
+
/**
|
|
26
|
+
* Handle form or URL elicitation. Registering this before connect advertises
|
|
27
|
+
* the client capability and lets the v2 client drive `input_required` rounds.
|
|
28
|
+
*/
|
|
29
|
+
elicitation?: (request: ElicitRequest) => ElicitResult | Promise<ElicitResult>;
|
|
30
|
+
}
|
|
23
31
|
/**
|
|
24
32
|
* Create a connected `McpServer` + `Client` pair wired over
|
|
25
33
|
* `InMemoryTransport`. The byte-identical helper every MCP's `tests/helpers.ts`
|
|
@@ -28,8 +36,18 @@ export interface TestHarness {
|
|
|
28
36
|
*
|
|
29
37
|
* Applies the same error-hint surfacing `createMcpServer` does, so a tool's
|
|
30
38
|
* failure text under test is the text production returns.
|
|
39
|
+
*
|
|
40
|
+
* What it deliberately does NOT reproduce is the protocol ERA. This pair is
|
|
41
|
+
* hand-wired, so the instance is 2025-era and the 2026-era `server/discover`
|
|
42
|
+
* is not installed on it — which is exactly the shape that hid
|
|
43
|
+
* chrischall/skylight-mcp#182, where every fleet MCP answered
|
|
44
|
+
* `server/discover` with `-32601 Method not found` in production while every
|
|
45
|
+
* harness test stayed green. Tool behaviour belongs here; anything about the
|
|
46
|
+
* era or the boot path has to go through the real serving entry, the way
|
|
47
|
+
* `mcp-utils`' own `src/server/stdio.test.ts` spawns a process and speaks over
|
|
48
|
+
* a pipe.
|
|
31
49
|
*/
|
|
32
|
-
export declare function createTestHarness(registerFn: RegisterFn): Promise<TestHarness>;
|
|
50
|
+
export declare function createTestHarness(registerFn: RegisterFn, options?: TestHarnessOptions): Promise<TestHarness>;
|
|
33
51
|
/**
|
|
34
52
|
* Parse the JSON body out of a tool's `CallToolResult`. Fleet tools return a
|
|
35
53
|
* single text block of `JSON.stringify(data, null, 2)`; this is the inverse.
|
package/dist/test/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,MAAM,EAAE,SAAS,CAAC;IAClB,iEAAiE;IACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpF,wDAAwD;IACxD,SAAS,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACnE,yEAAyE;IACzE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAChF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,CA4CtB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,CAetE;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAcD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAiBjF;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAQ7F;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC,uEAAuE;IACvE,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE;;;OAGG;IACH,MAAM,EAAE,MAAM;QAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;KAAE,CAAC;IAC9E,mEAAmE;IACnE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,GAAE,OAAO,CAAC,eAAe,CAAM,GAC3C,uBAAuB,CAazB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAUtB"}
|
package/dist/test/index.js
CHANGED
|
@@ -14,10 +14,9 @@
|
|
|
14
14
|
import { readFileSync, readdirSync, statSync } from 'node:fs';
|
|
15
15
|
import { join, relative } from 'node:path';
|
|
16
16
|
import { vi } from 'vitest';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { surfaceToolHints } from '../server/index.js';
|
|
17
|
+
import { Client } from '@modelcontextprotocol/client';
|
|
18
|
+
import { McpServer, InMemoryTransport } from '@modelcontextprotocol/server';
|
|
19
|
+
import { SERVER_PROTOCOL_VERSIONS, surfaceToolHints } from '../server/index.js';
|
|
21
20
|
/**
|
|
22
21
|
* Create a connected `McpServer` + `Client` pair wired over
|
|
23
22
|
* `InMemoryTransport`. The byte-identical helper every MCP's `tests/helpers.ts`
|
|
@@ -26,12 +25,27 @@ import { surfaceToolHints } from '../server/index.js';
|
|
|
26
25
|
*
|
|
27
26
|
* Applies the same error-hint surfacing `createMcpServer` does, so a tool's
|
|
28
27
|
* failure text under test is the text production returns.
|
|
28
|
+
*
|
|
29
|
+
* What it deliberately does NOT reproduce is the protocol ERA. This pair is
|
|
30
|
+
* hand-wired, so the instance is 2025-era and the 2026-era `server/discover`
|
|
31
|
+
* is not installed on it — which is exactly the shape that hid
|
|
32
|
+
* chrischall/skylight-mcp#182, where every fleet MCP answered
|
|
33
|
+
* `server/discover` with `-32601 Method not found` in production while every
|
|
34
|
+
* harness test stayed green. Tool behaviour belongs here; anything about the
|
|
35
|
+
* era or the boot path has to go through the real serving entry, the way
|
|
36
|
+
* `mcp-utils`' own `src/server/stdio.test.ts` spawns a process and speaks over
|
|
37
|
+
* a pipe.
|
|
29
38
|
*/
|
|
30
|
-
export async function createTestHarness(registerFn) {
|
|
31
|
-
const server = new McpServer({ name: 'test', version: '0.0.0' });
|
|
39
|
+
export async function createTestHarness(registerFn, options = {}) {
|
|
40
|
+
const server = new McpServer({ name: 'test', version: '0.0.0' }, { supportedProtocolVersions: [...SERVER_PROTOCOL_VERSIONS] });
|
|
32
41
|
surfaceToolHints(server);
|
|
33
42
|
await registerFn(server);
|
|
34
|
-
const client = new Client({ name: 'test-client', version: '0.0.0' }
|
|
43
|
+
const client = new Client({ name: 'test-client', version: '0.0.0' }, {
|
|
44
|
+
...(options.elicitation ? { capabilities: { elicitation: {} } } : {}),
|
|
45
|
+
});
|
|
46
|
+
if (options.elicitation) {
|
|
47
|
+
client.setRequestHandler('elicitation/create', options.elicitation);
|
|
48
|
+
}
|
|
35
49
|
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
36
50
|
await Promise.all([server.connect(serverTransport), client.connect(clientTransport)]);
|
|
37
51
|
let closed = false;
|
package/dist/test/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"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"}
|
package/dist/zod/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* the MCP fleet. Intentionally small: atoms + annotations, not a schema
|
|
4
4
|
* framework. Built on zod v4.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* MCP SDK v2 takes Standard Schema objects (`inputSchema: z.object({ ... })`).
|
|
7
|
+
* These atoms are plain `ZodType`s that compose directly inside those object
|
|
8
|
+
* schemas.
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
/** A strictly positive integer (`> 0`). */
|
|
@@ -62,10 +62,31 @@ export declare const schemaOrigin: z.ZodOptional<z.ZodString>;
|
|
|
62
62
|
* The write-confirmation gate shared by mutating tools: without
|
|
63
63
|
* `confirm: true` the tool returns a preview instead of performing the action.
|
|
64
64
|
* (honeybook pay_invoice / sign_contract)
|
|
65
|
+
*
|
|
66
|
+
* @deprecated Prefer `requireConfirmation` where the client supports it — the
|
|
67
|
+
* confirmation is then a protocol exchange rather than a tool argument, so a
|
|
68
|
+
* model cannot satisfy the gate itself by setting a boolean. The description
|
|
69
|
+
* below is the weakness made literal: it tells an attacker-controlled model
|
|
70
|
+
* how to proceed.
|
|
71
|
+
*
|
|
72
|
+
* NOT scheduled for removal, and do not migrate a fleet to
|
|
73
|
+
* `requireConfirmation` without checking the surfaces it is called from.
|
|
74
|
+
* Measured 2026-09-19 against real clients: claude.ai declares no
|
|
75
|
+
* `elicitation` capability at all — its envelope is UI-extension only — so a
|
|
76
|
+
* gated tool answers `-32021` and is INERT there; Claude Desktop does not
|
|
77
|
+
* support elicitation; and Cowork declares the capability then never services
|
|
78
|
+
* it, hanging the call for 180s and attributing the failure to the server
|
|
79
|
+
* (anthropics/claude-ai-mcp#1046). A conformant server cannot detect that
|
|
80
|
+
* case, because the declaration is its only signal. Claude Code is the one
|
|
81
|
+
* surface measured working.
|
|
82
|
+
*
|
|
83
|
+
* This parameter has no such dependency: it is an argument, so it works on
|
|
84
|
+
* every client. That is the whole trade — weaker gate, universal reach.
|
|
65
85
|
*/
|
|
66
86
|
export declare const schemaConfirm: z.ZodOptional<z.ZodBoolean>;
|
|
67
87
|
/**
|
|
68
|
-
* Offset/limit pagination shape
|
|
88
|
+
* Offset/limit pagination shape for spreading into
|
|
89
|
+
* `inputSchema: z.object({ ...paginationSchema })`.
|
|
69
90
|
* `offset` defaults to 0, `limit` is bounded `1..200` and defaults to 50 —
|
|
70
91
|
* the bounds standardized across the fleet's search tools.
|
|
71
92
|
*/
|
|
@@ -74,8 +95,9 @@ export declare const paginationSchema: {
|
|
|
74
95
|
readonly limit: z.ZodDefault<z.ZodNumber>;
|
|
75
96
|
};
|
|
76
97
|
/**
|
|
77
|
-
* 1-based page pagination shape
|
|
78
|
-
*
|
|
98
|
+
* 1-based page pagination shape for spreading into
|
|
99
|
+
* `inputSchema: z.object({ ...pageSchema })`. `page_num` defaults to 1,
|
|
100
|
+
* `page_size` is bounded `1..200` and defaults to 50.
|
|
79
101
|
* Mirrors onehome-mcp's search pagination, normalized to 1-based.
|
|
80
102
|
*/
|
|
81
103
|
export declare const pageSchema: {
|
package/dist/zod/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zod/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,2CAA2C;AAC3C,eAAO,MAAM,WAAW,aAA8B,CAAC;AAEvD,uCAAuC;AACvC,eAAO,MAAM,SAAS,aAAiC,CAAC;AAExD,uEAAuE;AACvE,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,OAAO,cAAe,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,aAEqD,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,aAG0D,CAAC;AAEvF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAOzB,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,YAAY,4BAKtB,CAAC;AAEJ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/zod/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,2CAA2C;AAC3C,eAAO,MAAM,WAAW,aAA8B,CAAC;AAEvD,uCAAuC;AACvC,eAAO,MAAM,SAAS,aAAiC,CAAC;AAExD,uEAAuE;AACvE,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,OAAO,cAAe,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,aAEqD,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,aAG0D,CAAC;AAEvF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,aAOzB,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,YAAY,4BAKtB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,aAAa,6BAGuD,CAAC;AAMlF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;aAC3B,MAAM;aACN,KAAK;CAOG,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,UAAU;aACrB,QAAQ;aACR,SAAS;CAOD,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlE;AAMD,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,oBAAyB,GAAG,eAAe,CAOhF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAOpE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAuBlF;AAED,cAAc,oBAAoB,CAAC"}
|
package/dist/zod/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* the MCP fleet. Intentionally small: atoms + annotations, not a schema
|
|
4
4
|
* framework. Built on zod v4.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* MCP SDK v2 takes Standard Schema objects (`inputSchema: z.object({ ... })`).
|
|
7
|
+
* These atoms are plain `ZodType`s that compose directly inside those object
|
|
8
|
+
* schemas.
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
@@ -78,6 +78,26 @@ export const schemaOrigin = z
|
|
|
78
78
|
* The write-confirmation gate shared by mutating tools: without
|
|
79
79
|
* `confirm: true` the tool returns a preview instead of performing the action.
|
|
80
80
|
* (honeybook pay_invoice / sign_contract)
|
|
81
|
+
*
|
|
82
|
+
* @deprecated Prefer `requireConfirmation` where the client supports it — the
|
|
83
|
+
* confirmation is then a protocol exchange rather than a tool argument, so a
|
|
84
|
+
* model cannot satisfy the gate itself by setting a boolean. The description
|
|
85
|
+
* below is the weakness made literal: it tells an attacker-controlled model
|
|
86
|
+
* how to proceed.
|
|
87
|
+
*
|
|
88
|
+
* NOT scheduled for removal, and do not migrate a fleet to
|
|
89
|
+
* `requireConfirmation` without checking the surfaces it is called from.
|
|
90
|
+
* Measured 2026-09-19 against real clients: claude.ai declares no
|
|
91
|
+
* `elicitation` capability at all — its envelope is UI-extension only — so a
|
|
92
|
+
* gated tool answers `-32021` and is INERT there; Claude Desktop does not
|
|
93
|
+
* support elicitation; and Cowork declares the capability then never services
|
|
94
|
+
* it, hanging the call for 180s and attributing the failure to the server
|
|
95
|
+
* (anthropics/claude-ai-mcp#1046). A conformant server cannot detect that
|
|
96
|
+
* case, because the declaration is its only signal. Claude Code is the one
|
|
97
|
+
* surface measured working.
|
|
98
|
+
*
|
|
99
|
+
* This parameter has no such dependency: it is an argument, so it works on
|
|
100
|
+
* every client. That is the whole trade — weaker gate, universal reach.
|
|
81
101
|
*/
|
|
82
102
|
export const schemaConfirm = z
|
|
83
103
|
.boolean()
|
|
@@ -87,7 +107,8 @@ export const schemaConfirm = z
|
|
|
87
107
|
// Pagination
|
|
88
108
|
// ---------------------------------------------------------------------------
|
|
89
109
|
/**
|
|
90
|
-
* Offset/limit pagination shape
|
|
110
|
+
* Offset/limit pagination shape for spreading into
|
|
111
|
+
* `inputSchema: z.object({ ...paginationSchema })`.
|
|
91
112
|
* `offset` defaults to 0, `limit` is bounded `1..200` and defaults to 50 —
|
|
92
113
|
* the bounds standardized across the fleet's search tools.
|
|
93
114
|
*/
|
|
@@ -102,8 +123,9 @@ export const paginationSchema = {
|
|
|
102
123
|
.describe('Maximum number of items to return (1-200).'),
|
|
103
124
|
};
|
|
104
125
|
/**
|
|
105
|
-
* 1-based page pagination shape
|
|
106
|
-
*
|
|
126
|
+
* 1-based page pagination shape for spreading into
|
|
127
|
+
* `inputSchema: z.object({ ...pageSchema })`. `page_num` defaults to 1,
|
|
128
|
+
* `page_size` is bounded `1..200` and defaults to 50.
|
|
107
129
|
* Mirrors onehome-mcp's search pagination, normalized to 1-based.
|
|
108
130
|
*/
|
|
109
131
|
export const pageSchema = {
|
package/dist/zod/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zod/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEvD,uCAAuC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAExD,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,KAAK,CAAC,4BAA4B,EAAE,iCAAiC,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,OAAO,EAAE,oCAAoC,CAAC;KACpD,QAAQ,CAAC,yEAAyE,CAAC,CAAC;AAEvF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,aAAa,EAAE,+CAA+C,CAAC;KACrE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;KACzD,QAAQ,CACP,wFAAwF,CACzF,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACP,mIAAmI,CACpI,CAAC;AAEJ
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/zod/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrischall/mcp-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Shared scaffolding for the chrischall MCP fleet — server bootstrap, tool-result formatting, helpful errors, hardened env/config, a bearer API-client kit, zod atoms, session registries, a fetchproxy transport adapter, auth resolver skeletons, an in-memory test harness, and opt-in HTML helpers. The generic MCP glue hoisted out of ~19 sibling servers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -55,16 +55,20 @@
|
|
|
55
55
|
"test:watch": "vitest"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@fetchproxy/server": "
|
|
59
|
-
"@modelcontextprotocol/
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
58
|
+
"@fetchproxy/server": "^3.0.1",
|
|
59
|
+
"@modelcontextprotocol/client": "^2.0.0",
|
|
60
|
+
"@modelcontextprotocol/server": "^2.0.0",
|
|
61
|
+
"node-html-parser": "^9.0.0",
|
|
62
|
+
"vitest": "^4.1.0 || ^5.0.0",
|
|
63
|
+
"zod": "^4.6.2"
|
|
63
64
|
},
|
|
64
65
|
"peerDependenciesMeta": {
|
|
65
66
|
"@fetchproxy/server": {
|
|
66
67
|
"optional": true
|
|
67
68
|
},
|
|
69
|
+
"@modelcontextprotocol/client": {
|
|
70
|
+
"optional": true
|
|
71
|
+
},
|
|
68
72
|
"node-html-parser": {
|
|
69
73
|
"optional": true
|
|
70
74
|
},
|
|
@@ -73,13 +77,17 @@
|
|
|
73
77
|
}
|
|
74
78
|
},
|
|
75
79
|
"devDependencies": {
|
|
76
|
-
"@fetchproxy/server": "^
|
|
77
|
-
"@modelcontextprotocol/
|
|
78
|
-
"@
|
|
80
|
+
"@fetchproxy/server": "^3.0.1",
|
|
81
|
+
"@modelcontextprotocol/client": "^2.0.0",
|
|
82
|
+
"@modelcontextprotocol/server": "^2.0.0",
|
|
83
|
+
"@types/node": "^26.5.1",
|
|
79
84
|
"@vitest/coverage-v8": "^5.0.0",
|
|
80
|
-
"node-html-parser": "^9.0.
|
|
85
|
+
"node-html-parser": "^9.0.4",
|
|
81
86
|
"typescript": "^7.0.2",
|
|
82
87
|
"vitest": "^5.0.0",
|
|
83
|
-
"zod": "^4.
|
|
88
|
+
"zod": "^4.6.2"
|
|
89
|
+
},
|
|
90
|
+
"engines": {
|
|
91
|
+
"node": ">=22.0.0"
|
|
84
92
|
}
|
|
85
93
|
}
|