@procedures/mcp-server 0.8.0 → 0.9.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/CHANGELOG.md +29 -0
- package/README.md +211 -292
- package/dist/.tsbuildinfo +1 -1
- package/dist/host.d.ts +168 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +182 -0
- package/dist/host.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/procedures/mcp/serve.d.ts +18 -0
- package/dist/procedures/mcp/serve.d.ts.map +1 -1
- package/dist/procedures/mcp/serve.js +36 -31
- package/dist/procedures/mcp/serve.js.map +1 -1
- package/dist/transport/http.d.ts +4 -0
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +9 -3
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/mcp-transport.d.ts +26 -0
- package/dist/transport/mcp-transport.d.ts.map +1 -1
- package/dist/transport/mcp-transport.js +184 -19
- package/dist/transport/mcp-transport.js.map +1 -1
- package/dist/transport/stdio.d.ts +4 -2
- package/dist/transport/stdio.d.ts.map +1 -1
- package/dist/transport/stdio.js +4 -3
- package/dist/transport/stdio.js.map +1 -1
- package/dist/types.d.ts +70 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/untrusted.d.ts +56 -0
- package/dist/untrusted.d.ts.map +1 -0
- package/dist/untrusted.js +68 -0
- package/dist/untrusted.js.map +1 -0
- package/package.json +4 -4
- package/src/host.ts +346 -0
- package/src/index.ts +15 -0
- package/src/procedures/mcp/serve.ts +54 -36
- package/src/transport/http.ts +9 -3
- package/src/transport/mcp-transport.ts +206 -21
- package/src/transport/stdio.ts +5 -3
- package/src/types.ts +82 -2
- package/src/untrusted.ts +109 -0
package/dist/transport/http.js
CHANGED
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
* a local server apply: the server listens on loopback by default, it refuses a web page of
|
|
9
9
|
* another host or origin (DNS rebinding, cross-site requests), and with a token it refuses a
|
|
10
10
|
* request without the token.
|
|
11
|
+
*
|
|
12
|
+
* Each tool call carries the credentials of its HTTP request (CLI-10), so the request hook of the
|
|
13
|
+
* server (`principalOf`) and its token check apply. A server that reads cookies trusts a request
|
|
14
|
+
* with a cookie only from a named origin (CSRF).
|
|
11
15
|
*/
|
|
12
16
|
import { randomUUID } from "node:crypto";
|
|
13
17
|
import { createServer } from "node:http";
|
|
14
18
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
15
|
-
import { bearerOf, checkBrowserRequest, tokenMatches } from "@procedures/client";
|
|
19
|
+
import { bearerOf, checkBrowserRequest, hasAmbientCredentials, tokenMatches } from "@procedures/client";
|
|
16
20
|
/**
|
|
17
21
|
* This function makes the Streamable HTTP endpoint of an MCP server. `connect` connects the
|
|
18
22
|
* transport of a new session to an MCP server of its own.
|
|
@@ -55,8 +59,10 @@ export function createHttpTransport(options, connect) {
|
|
|
55
59
|
refuse(res, 404, "NOT_FOUND", `No MCP endpoint at ${url.pathname}`);
|
|
56
60
|
return;
|
|
57
61
|
}
|
|
58
|
-
// A web page must not reach the tools: the host and the origin of the request
|
|
59
|
-
|
|
62
|
+
// A web page must not reach the tools: the host and the origin of the request. A server that
|
|
63
|
+
// reads cookies trusts a request with ambient credentials only from a named origin (CSRF)
|
|
64
|
+
const ambient = options.ambientCredentials === "always" || hasAmbientCredentials(req.headers);
|
|
65
|
+
const guard = checkBrowserRequest(req, { ...(options.allowedOrigins ? { allowedOrigins: options.allowedOrigins } : {}) }, false, ambient);
|
|
60
66
|
if (!guard.ok) {
|
|
61
67
|
refuse(res, guard.status, guard.code, guard.message);
|
|
62
68
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
import type { ServerTransport, Server } from "@procedures/client";
|
|
8
8
|
import { type McpTool } from "@procedures/mcp";
|
|
9
9
|
import type { McpServerTransportOptions, McpServerTransportState } from "../types.js";
|
|
10
|
+
/**
|
|
11
|
+
* The tools with the names of a `toolName` function. Without the function, the tools keep the
|
|
12
|
+
* default names.
|
|
13
|
+
*/
|
|
14
|
+
export declare function namedTools(tools: readonly McpTool[], toolName?: ((path: readonly string[]) => string) | undefined): McpTool[];
|
|
15
|
+
/** The time that the face waits for the answer of the person, when the question gives no time. */
|
|
16
|
+
export declare const DEFAULT_ELICIT_TIMEOUT_MS = 300000;
|
|
10
17
|
/**
|
|
11
18
|
* MCP Server Transport
|
|
12
19
|
*
|
|
@@ -45,6 +52,8 @@ export declare class McpServerTransport implements ServerTransport {
|
|
|
45
52
|
private listChangedTimer;
|
|
46
53
|
/** The limits of a stream that can run without an end, the time in milliseconds (R15) */
|
|
47
54
|
private readonly streamLimits;
|
|
55
|
+
/** This function removes the listener of the end of the stdio input */
|
|
56
|
+
private stdinEnd;
|
|
48
57
|
constructor(server: Server, options?: McpServerTransportOptions);
|
|
49
58
|
/**
|
|
50
59
|
* An MCP server of the SDK with the handlers of this transport. The stdio transport has one, and
|
|
@@ -65,6 +74,23 @@ export declare class McpServerTransport implements ServerTransport {
|
|
|
65
74
|
* the items while the stream runs.
|
|
66
75
|
*/
|
|
67
76
|
private streamResult;
|
|
77
|
+
/**
|
|
78
|
+
* The content of a successful value. A tool with untrusted fields (`metadata.untrusted`) gives
|
|
79
|
+
* the data as JSON in the first block. The second block has the texts of those fields in
|
|
80
|
+
* envelopes. In the structured content, each untrusted field is the text of its envelopes.
|
|
81
|
+
*/
|
|
82
|
+
private render;
|
|
83
|
+
/**
|
|
84
|
+
* The function of this face that asks the person, or undefined when the client cannot ask
|
|
85
|
+
* (it declares no elicitation). Each question goes with the tool call (`relatedRequestId`), so
|
|
86
|
+
* the Streamable HTTP transport sends it on the stream of the call.
|
|
87
|
+
*/
|
|
88
|
+
private faceElicit;
|
|
89
|
+
/**
|
|
90
|
+
* The progress function of a call, when the caller sent a progress token. `used()` tells if
|
|
91
|
+
* the procedure reported its own progress.
|
|
92
|
+
*/
|
|
93
|
+
private callProgress;
|
|
68
94
|
private setupRegistryListeners;
|
|
69
95
|
/**
|
|
70
96
|
* Remove the registry event listeners, if attached.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EAUP,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAgC,MAAM,aAAa,CAAC;AAOpH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,OAAO,EAAE,CAE7H;AAED,kGAAkG;AAClG,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAsDjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,SAAS;IAEtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CACa;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,kBAAkB,CAA6C;IACvE,oFAAoF;IACpF,OAAO,CAAC,IAAI,CAA+B;IAC3C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,OAAO,CAAqB;IACpC,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA4C;IACpE,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IACjE,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAA2B;IAE3C,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,EA2BlE;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA2GrB;;OAEG;IACH;;;;;OAKG;YACW,YAAY;IAuD1B;;;;OAIG;IACH,OAAO,CAAC,MAAM;IAyBd;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA4BlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IAKrB,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmE3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB1B;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,QAAQ,IAAI,uBAAuB,CAOlC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE,CAEpB;CACF"}
|
|
@@ -6,19 +6,43 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Server as McpServer } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
-
import { PROCEDURE_REGISTRY, pathToMethod } from "@procedures/client";
|
|
10
|
-
import { proceduresToMcpTools, toToolDefinition,
|
|
9
|
+
import { PROCEDURE_REGISTRY, pathToMethod, createElicit, elicitWithPolicy, requestCredentials, untrustedTextsOf } from "@procedures/client";
|
|
10
|
+
import { proceduresToMcpTools, toToolDefinition, } from "@procedures/mcp";
|
|
11
11
|
import { createStdioTransport } from "./stdio.js";
|
|
12
12
|
import { createSseTransport } from "./sse.js";
|
|
13
13
|
import { createHttpTransport } from "./http.js";
|
|
14
14
|
import { optionalMs } from "@procedures/client";
|
|
15
|
+
import { createUntrustedEnvelopes } from "../untrusted.js";
|
|
16
|
+
/**
|
|
17
|
+
* The tools with the names of a `toolName` function. Without the function, the tools keep the
|
|
18
|
+
* default names.
|
|
19
|
+
*/
|
|
20
|
+
export function namedTools(tools, toolName) {
|
|
21
|
+
return toolName ? tools.map((tool) => ({ ...tool, name: toolName(tool.procedurePath) })) : [...tools];
|
|
22
|
+
}
|
|
23
|
+
/** The time that the face waits for the answer of the person, when the question gives no time. */
|
|
24
|
+
export const DEFAULT_ELICIT_TIMEOUT_MS = 300_000;
|
|
25
|
+
/**
|
|
26
|
+
* The credentials of a tool call that came over the network (CLI-10): the bearer token, the
|
|
27
|
+
* cookies, the headers and the query of its HTTP request. A call over stdio or an in-memory
|
|
28
|
+
* transport has none: it comes from this process.
|
|
29
|
+
*/
|
|
30
|
+
function callCredentials(extra) {
|
|
31
|
+
const info = extra.requestInfo;
|
|
32
|
+
if (!info)
|
|
33
|
+
return undefined;
|
|
34
|
+
return requestCredentials({ headers: info.headers, url: info.url ? `${info.url.pathname}${info.url.search}` : undefined });
|
|
35
|
+
}
|
|
15
36
|
/**
|
|
16
37
|
* Generate a unique request ID.
|
|
17
38
|
*/
|
|
18
39
|
/** The most text blocks of a stream result: the last items of a long stream. */
|
|
19
40
|
const MAX_STREAM_BLOCKS = 100;
|
|
20
|
-
|
|
21
|
-
|
|
41
|
+
/** The text of a value: a string as it is, another value as JSON (pretty, or compact on one line). */
|
|
42
|
+
function toText(value, json = "pretty") {
|
|
43
|
+
if (typeof value === "string")
|
|
44
|
+
return value;
|
|
45
|
+
return (json === "compact" ? JSON.stringify(value) : JSON.stringify(value, null, 2)) ?? String(value);
|
|
22
46
|
}
|
|
23
47
|
/**
|
|
24
48
|
* The structured content of a result: the result as JSON, when it is an object. JSON drops
|
|
@@ -77,6 +101,8 @@ export class McpServerTransport {
|
|
|
77
101
|
listChangedTimer;
|
|
78
102
|
/** The limits of a stream that can run without an end, the time in milliseconds (R15) */
|
|
79
103
|
streamLimits;
|
|
104
|
+
/** This function removes the listener of the end of the stdio input */
|
|
105
|
+
stdinEnd;
|
|
80
106
|
constructor(server, options = {}) {
|
|
81
107
|
this.server = server;
|
|
82
108
|
this.options = {
|
|
@@ -112,6 +138,8 @@ export class McpServerTransport {
|
|
|
112
138
|
capabilities: {
|
|
113
139
|
tools: { listChanged: true },
|
|
114
140
|
},
|
|
141
|
+
// The instructions of the server: the client gives them to the model (CLI-10)
|
|
142
|
+
...(this.options.instructions !== undefined ? { instructions: this.options.instructions } : {}),
|
|
115
143
|
});
|
|
116
144
|
this.setupHandlers(server);
|
|
117
145
|
return server;
|
|
@@ -140,10 +168,12 @@ export class McpServerTransport {
|
|
|
140
168
|
isError: true,
|
|
141
169
|
};
|
|
142
170
|
}
|
|
143
|
-
//
|
|
144
|
-
// architecture review 3.3)
|
|
145
|
-
|
|
171
|
+
// The path of the procedure of the tool. The method is the core mapping of every host
|
|
172
|
+
// (deep dive architecture review 3.3). A tool name of the toolName option does not decode,
|
|
173
|
+
// and a sanitized segment does not decode to the segment of the procedure.
|
|
174
|
+
const path = tool.procedurePath;
|
|
146
175
|
// Build ServerRequest
|
|
176
|
+
const credentials = callCredentials(extra);
|
|
147
177
|
const serverRequest = {
|
|
148
178
|
id: generateRequestId(),
|
|
149
179
|
method: pathToMethod(path),
|
|
@@ -154,23 +184,38 @@ export class McpServerTransport {
|
|
|
154
184
|
},
|
|
155
185
|
// A cancelled tool call (notifications/cancelled) aborts the procedure
|
|
156
186
|
signal: extra.signal,
|
|
187
|
+
// The credentials of a call over the network: the request hook (principalOf) and the
|
|
188
|
+
// token check of the server apply to it (CLI-10)
|
|
189
|
+
...(credentials ? { credentials } : {}),
|
|
190
|
+
};
|
|
191
|
+
// What this face offers the procedure (CLI-12): the questions to the person, and the
|
|
192
|
+
// progress for a caller that sent a progress token
|
|
193
|
+
const elicit = elicitWithPolicy(this.faceElicit(server, extra), this.options.elicitation);
|
|
194
|
+
const progress = this.callProgress(extra);
|
|
195
|
+
const callRequest = {
|
|
196
|
+
...serverRequest,
|
|
197
|
+
...(elicit ? { elicit } : {}),
|
|
198
|
+
...(progress ? { progress: progress.report } : {}),
|
|
157
199
|
};
|
|
158
200
|
try {
|
|
159
201
|
// Process through universal server
|
|
160
|
-
const response = await this.server.handle(
|
|
202
|
+
const response = await this.server.handle(callRequest);
|
|
161
203
|
this.log(`Tool ${name} completed: ${response.status.type}`);
|
|
162
204
|
// Convert to MCP result
|
|
163
205
|
if (response.status.type === "success" && response.stream) {
|
|
164
206
|
const unbounded = response.metadata?.["stream"] === "unbounded";
|
|
165
|
-
|
|
207
|
+
// The items are the progress of a stream, unless the procedure reports its own
|
|
208
|
+
return await this.streamResult(response.stream, extra, unbounded, tool, () => progress?.used() === true);
|
|
166
209
|
}
|
|
167
210
|
if (response.status.type === "success") {
|
|
168
|
-
const
|
|
211
|
+
const rendered = this.render(response.payload, tool);
|
|
212
|
+
const hooked = this.options.content?.({ ...rendered, tool, value: response.payload });
|
|
213
|
+
const result = hooked ?? rendered;
|
|
169
214
|
return {
|
|
170
|
-
content:
|
|
215
|
+
content: result.content,
|
|
171
216
|
// MCP structured output: the result as an object, for a tool with an output schema.
|
|
172
217
|
// The text block stays, for clients that do not read structured content.
|
|
173
|
-
...(
|
|
218
|
+
...(result.structuredContent ? { structuredContent: result.structuredContent } : {}),
|
|
174
219
|
};
|
|
175
220
|
}
|
|
176
221
|
else {
|
|
@@ -207,7 +252,7 @@ export class McpServerTransport {
|
|
|
207
252
|
* and a progress notification when the caller sent a progress token, so a client can show
|
|
208
253
|
* the items while the stream runs.
|
|
209
254
|
*/
|
|
210
|
-
async streamResult(stream, extra, unbounded = false) {
|
|
255
|
+
async streamResult(stream, extra, unbounded = false, tool, ownProgress = () => false) {
|
|
211
256
|
const progressToken = extra._meta?.progressToken;
|
|
212
257
|
const blocks = [];
|
|
213
258
|
let count = 0;
|
|
@@ -224,15 +269,18 @@ export class McpServerTransport {
|
|
|
224
269
|
count--;
|
|
225
270
|
break;
|
|
226
271
|
}
|
|
227
|
-
|
|
272
|
+
// An item with untrusted fields gives its data, then its envelopes (CLI-10)
|
|
273
|
+
const rendered = tool?.untrusted ? this.render(item, tool).content : undefined;
|
|
274
|
+
const text = rendered ? rendered.map((block) => block.text).join("\n") : toText(item, this.options.json);
|
|
228
275
|
blocks.push({ type: "text", text });
|
|
229
276
|
if (blocks.length > MAX_STREAM_BLOCKS)
|
|
230
277
|
blocks.shift();
|
|
231
|
-
if (progressToken !== undefined) {
|
|
278
|
+
if (progressToken !== undefined && !ownProgress()) {
|
|
279
|
+
const message = rendered ? rendered[0].text : text;
|
|
232
280
|
await extra
|
|
233
281
|
.sendNotification({
|
|
234
282
|
method: "notifications/progress",
|
|
235
|
-
params: { progressToken, progress: count, message:
|
|
283
|
+
params: { progressToken, progress: count, message: message.slice(0, 1000) },
|
|
236
284
|
})
|
|
237
285
|
.catch(() => undefined);
|
|
238
286
|
}
|
|
@@ -252,6 +300,100 @@ export class McpServerTransport {
|
|
|
252
300
|
blocks.push({ type: "text", text: "(no items)" });
|
|
253
301
|
return { content: blocks };
|
|
254
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* The content of a successful value. A tool with untrusted fields (`metadata.untrusted`) gives
|
|
305
|
+
* the data as JSON in the first block. The second block has the texts of those fields in
|
|
306
|
+
* envelopes. In the structured content, each untrusted field is the text of its envelopes.
|
|
307
|
+
*/
|
|
308
|
+
render(value, tool) {
|
|
309
|
+
const fields = tool.untrusted ?? [];
|
|
310
|
+
if (fields.length === 0 || value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
311
|
+
const structured = tool.outputSchema ? structuredContentOf(value) : undefined;
|
|
312
|
+
return { content: [{ type: "text", text: toText(value, this.options.json) }], ...(structured ? { structuredContent: structured } : {}) };
|
|
313
|
+
}
|
|
314
|
+
const data = { ...value };
|
|
315
|
+
const envelopes = createUntrustedEnvelopes(this.options.untrusted ?? {});
|
|
316
|
+
const wrap = this.options.untrusted?.wrap;
|
|
317
|
+
const texts = {};
|
|
318
|
+
const blocks = [];
|
|
319
|
+
for (const field of fields) {
|
|
320
|
+
if (!(field in data))
|
|
321
|
+
continue;
|
|
322
|
+
const items = untrustedTextsOf(data[field]);
|
|
323
|
+
delete data[field];
|
|
324
|
+
const text = wrap ? wrap(items, { tool: tool.name, field }) : envelopes.text(items);
|
|
325
|
+
texts[field] = text;
|
|
326
|
+
if (text !== "")
|
|
327
|
+
blocks.push(text);
|
|
328
|
+
}
|
|
329
|
+
const content = [{ type: "text", text: toText(data, this.options.json) }];
|
|
330
|
+
if (blocks.length > 0)
|
|
331
|
+
content.push({ type: "text", text: blocks.join("\n") });
|
|
332
|
+
const structured = tool.outputSchema ? structuredContentOf(data) : undefined;
|
|
333
|
+
return { content, ...(structured ? { structuredContent: { ...structured, ...texts } } : {}) };
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* The function of this face that asks the person, or undefined when the client cannot ask
|
|
337
|
+
* (it declares no elicitation). Each question goes with the tool call (`relatedRequestId`), so
|
|
338
|
+
* the Streamable HTTP transport sends it on the stream of the call.
|
|
339
|
+
*/
|
|
340
|
+
faceElicit(server, extra) {
|
|
341
|
+
const capability = server.getClientCapabilities()?.elicitation;
|
|
342
|
+
if (!capability)
|
|
343
|
+
return undefined;
|
|
344
|
+
const modes = [];
|
|
345
|
+
if (capability.form)
|
|
346
|
+
modes.push("form");
|
|
347
|
+
if (capability.url)
|
|
348
|
+
modes.push("url");
|
|
349
|
+
if (modes.length === 0)
|
|
350
|
+
return undefined;
|
|
351
|
+
return createElicit(modes, async (request, options) => {
|
|
352
|
+
const timeout = optionalMs(options.timeout, "timeout") ?? DEFAULT_ELICIT_TIMEOUT_MS;
|
|
353
|
+
const signal = options.signal && options.signal !== extra.signal ? AbortSignal.any([extra.signal, options.signal]) : extra.signal;
|
|
354
|
+
const params = request.mode === "url"
|
|
355
|
+
? { mode: "url", message: request.message, url: request.url, elicitationId: request.id ?? globalThis.crypto.randomUUID() }
|
|
356
|
+
: {
|
|
357
|
+
mode: "form",
|
|
358
|
+
message: request.message,
|
|
359
|
+
requestedSchema: {
|
|
360
|
+
type: "object",
|
|
361
|
+
properties: request.fields,
|
|
362
|
+
...(request.required ? { required: [...request.required] } : {}),
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
// The SDK types do not agree with exactOptionalPropertyTypes and readonly arrays
|
|
366
|
+
const reply = await server.elicitInput(params, { relatedRequestId: extra.requestId, signal, timeout });
|
|
367
|
+
return { action: reply.action, ...(reply.content ? { content: reply.content } : {}), by: "person" };
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* The progress function of a call, when the caller sent a progress token. `used()` tells if
|
|
372
|
+
* the procedure reported its own progress.
|
|
373
|
+
*/
|
|
374
|
+
callProgress(extra) {
|
|
375
|
+
const progressToken = extra._meta?.progressToken;
|
|
376
|
+
if (progressToken === undefined)
|
|
377
|
+
return undefined;
|
|
378
|
+
let used = false;
|
|
379
|
+
return {
|
|
380
|
+
used: () => used,
|
|
381
|
+
report: async (update) => {
|
|
382
|
+
used = true;
|
|
383
|
+
await extra
|
|
384
|
+
.sendNotification({
|
|
385
|
+
method: "notifications/progress",
|
|
386
|
+
params: {
|
|
387
|
+
progressToken,
|
|
388
|
+
progress: update.progress,
|
|
389
|
+
...(update.total !== undefined ? { total: update.total } : {}),
|
|
390
|
+
...(update.message !== undefined ? { message: update.message.slice(0, 1000) } : {}),
|
|
391
|
+
},
|
|
392
|
+
})
|
|
393
|
+
.catch(() => undefined);
|
|
394
|
+
},
|
|
395
|
+
};
|
|
396
|
+
}
|
|
255
397
|
setupRegistryListeners() {
|
|
256
398
|
// Create listener functions that we can later remove
|
|
257
399
|
this.registerListener = () => {
|
|
@@ -287,7 +429,11 @@ export class McpServerTransport {
|
|
|
287
429
|
const mcpTools = proceduresToMcpTools(procedures, this.options.toolFilter);
|
|
288
430
|
const before = this.toolSignature();
|
|
289
431
|
this.tools.clear();
|
|
290
|
-
for (const tool of mcpTools) {
|
|
432
|
+
for (const tool of namedTools(mcpTools, this.options.toolName)) {
|
|
433
|
+
if (this.tools.has(tool.name)) {
|
|
434
|
+
// MUST be stderr: stdout carries the protocol of stdio
|
|
435
|
+
console.error(`[mcp] Two procedures have the tool name "${tool.name}": the transport keeps ${tool.procedurePath.join(".")}`);
|
|
436
|
+
}
|
|
291
437
|
this.tools.set(tool.name, tool);
|
|
292
438
|
}
|
|
293
439
|
this.log(`Refreshed tools: ${this.tools.size} available`);
|
|
@@ -344,12 +490,27 @@ export class McpServerTransport {
|
|
|
344
490
|
this.log("Using the given transport");
|
|
345
491
|
}
|
|
346
492
|
else if (this.options.transport === "stdio") {
|
|
347
|
-
|
|
493
|
+
const stdio = this.options.stdio;
|
|
494
|
+
const stdin = stdio?.stdin ?? process.stdin;
|
|
495
|
+
transport = createStdioTransport(stdin, stdio?.stdout);
|
|
496
|
+
// The client closed the input: the host stops (CLI-10). The SDK does not watch the end.
|
|
497
|
+
if (stdio?.onEnd) {
|
|
498
|
+
const onEnd = stdio.onEnd;
|
|
499
|
+
const listener = () => {
|
|
500
|
+
this.log("The input of stdio ended");
|
|
501
|
+
onEnd();
|
|
502
|
+
};
|
|
503
|
+
stdin.once("end", listener);
|
|
504
|
+
this.stdinEnd = () => stdin.off("end", listener);
|
|
505
|
+
}
|
|
348
506
|
this.log("Using stdio transport");
|
|
349
507
|
}
|
|
350
508
|
else if (this.options.transport === "http") {
|
|
351
509
|
// Streamable HTTP (roadmap R26): an MCP server of its own for each session
|
|
352
|
-
|
|
510
|
+
// The face trusts cookies only as the server reads them (CSRF)
|
|
511
|
+
const ambientCredentials = this.server.ambientCredentials;
|
|
512
|
+
const httpOptions = { ...this.options.httpOptions, ...(ambientCredentials ? { ambientCredentials } : {}) };
|
|
513
|
+
this.http = createHttpTransport(httpOptions, async (sessionTransport) => {
|
|
353
514
|
const sessionServer = this.createSdkServer();
|
|
354
515
|
this.sessionServers.add(sessionServer);
|
|
355
516
|
sessionServer.onclose = () => this.sessionServers.delete(sessionServer);
|
|
@@ -374,6 +535,8 @@ export class McpServerTransport {
|
|
|
374
535
|
}
|
|
375
536
|
catch (error) {
|
|
376
537
|
this.removeRegistryListeners();
|
|
538
|
+
this.stdinEnd?.();
|
|
539
|
+
this.stdinEnd = undefined;
|
|
377
540
|
await this.http?.close().catch(() => undefined);
|
|
378
541
|
this.http = undefined;
|
|
379
542
|
throw error;
|
|
@@ -390,6 +553,8 @@ export class McpServerTransport {
|
|
|
390
553
|
}
|
|
391
554
|
// Cleanup registry listeners
|
|
392
555
|
this.removeRegistryListeners();
|
|
556
|
+
this.stdinEnd?.();
|
|
557
|
+
this.stdinEnd = undefined;
|
|
393
558
|
if (this.listChangedTimer) {
|
|
394
559
|
clearTimeout(this.listChangedTimer);
|
|
395
560
|
this.listChangedTimer = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-transport.js","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-transport.js","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Creates an MCP stdio transport for CLI usage.
|
|
5
5
|
*/
|
|
6
|
+
import type { Readable, Writable } from "node:stream";
|
|
6
7
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
7
8
|
/**
|
|
8
9
|
* Create a stdio transport for MCP server.
|
|
9
10
|
*
|
|
10
11
|
* Stdio transport uses standard input/output for communication,
|
|
11
|
-
* suitable for CLI tools and desktop app integrations.
|
|
12
|
+
* suitable for CLI tools and desktop app integrations. A test or an embedding gives other
|
|
13
|
+
* streams: the defaults are `process.stdin` and `process.stdout`.
|
|
12
14
|
*
|
|
13
15
|
* @returns MCP stdio transport instance
|
|
14
16
|
*/
|
|
15
|
-
export declare function createStdioTransport(): StdioServerTransport;
|
|
17
|
+
export declare function createStdioTransport(stdin?: Readable, stdout?: Writable): StdioServerTransport;
|
|
16
18
|
//# sourceMappingURL=stdio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,oBAAoB,CAE9F"}
|
package/dist/transport/stdio.js
CHANGED
|
@@ -8,11 +8,12 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
8
8
|
* Create a stdio transport for MCP server.
|
|
9
9
|
*
|
|
10
10
|
* Stdio transport uses standard input/output for communication,
|
|
11
|
-
* suitable for CLI tools and desktop app integrations.
|
|
11
|
+
* suitable for CLI tools and desktop app integrations. A test or an embedding gives other
|
|
12
|
+
* streams: the defaults are `process.stdin` and `process.stdout`.
|
|
12
13
|
*
|
|
13
14
|
* @returns MCP stdio transport instance
|
|
14
15
|
*/
|
|
15
|
-
export function createStdioTransport() {
|
|
16
|
-
return new StdioServerTransport();
|
|
16
|
+
export function createStdioTransport(stdin, stdout) {
|
|
17
|
+
return new StdioServerTransport(stdin, stdout);
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=stdio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB,EAAE,MAAiB;IACtE,OAAO,IAAI,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC"}
|