@procedures/mcp-server 0.2.3 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA8D,KAAK,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAqC1I,eAAO,MAAM,qBAAqB,EAAE,YAyClC,CAAC"}
1
+ {"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA8D,KAAK,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAqC1I,eAAO,MAAM,qBAAqB,EAAE,YA0ClC,CAAC"}
@@ -44,7 +44,8 @@ export const mcpListToolsProcedure = defineProcedure({
44
44
  filter.pathPrefix = input.pathPrefix;
45
45
  }
46
46
  // The registry of the caller: a host with its own registry lists its own tools
47
- const procedures = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll();
47
+ // Only the procedures that the host exposes (roadmap R17)
48
+ const procedures = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll().filter((procedure) => !ctx?.expose || ctx.expose(procedure.path));
48
49
  const mcpTools = proceduresToMcpTools(procedures, filter);
49
50
  const tools = mcpTools.map((tool) => ({
50
51
  name: tool.name,
@@ -1 +1 @@
1
- {"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAEjB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAK5B,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AA+C7D,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,MAAsB,EAC5B,QAAQ,GAAE,iBAAsC,GAC/C,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,eAAO,MAAM,iBAAiB,EAAE,YA8C9B,CAAC"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAEjB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAM5B,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AA+C7D,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,MAAsB,EAC5B,QAAQ,GAAE,iBAAsC,GAC/C,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,eAAO,MAAM,iBAAiB,EAAE,YA8C9B,CAAC"}
@@ -14,6 +14,7 @@ import { z } from "zod";
14
14
  import { defineProcedure, ProcedureServer, PROCEDURE_REGISTRY, ProcedureRegistry, timeoutInterceptor, } from "@procedures/client";
15
15
  import { McpServerTransport } from "../../transport/mcp-transport.js";
16
16
  import { exposeRule, importBundles, mergeSurfaces } from "../../surface.js";
17
+ import { ms } from "@procedures/client";
17
18
  /** The default bundle of the tool surface. */
18
19
  export const DEFAULT_SERVE_BUNDLE = "@procedures/bundle-mcp";
19
20
  const McpServeInputSchema = z.object({
@@ -80,7 +81,7 @@ export async function prepareServe(input, from = process.cwd(), registry = PROCE
80
81
  registry,
81
82
  expose,
82
83
  strictCalls: input.strictCalls ?? true,
83
- interceptors: [timeoutInterceptor({ ms: input.toolTimeoutMs ?? 600_000 })],
84
+ interceptors: [timeoutInterceptor({ limit: ms(input.toolTimeoutMs ?? 600_000) })],
84
85
  });
85
86
  return warning === undefined ? { server, expose } : { server, expose, warning };
86
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The MCP transport over Streamable HTTP (roadmap R26), the HTTP transport of the current MCP
3
+ * specification. Before, this package had only stdio, and its SSE transport only threw.
4
+ *
5
+ * Each client gets a session: its `initialize` request makes a transport and an MCP server of its
6
+ * own, and the later requests of the client carry the `mcp-session-id` header of that session.
7
+ * A session gets the progress of a tool call and the `list_changed` notifications. The checks of
8
+ * a local server apply: the server listens on loopback by default, it refuses a web page of
9
+ * another host or origin (DNS rebinding, cross-site requests), and with a token it refuses a
10
+ * request without the token.
11
+ */
12
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
13
+ import type { HttpTransportOptions } from "../types.js";
14
+ /** The HTTP endpoint of an MCP server, with a session for each client. */
15
+ export interface McpHttpTransport {
16
+ /** This function starts to listen, when the endpoint has a server of its own. It gives the URL. */
17
+ listen(): Promise<string>;
18
+ /** The number of open sessions. */
19
+ readonly sessions: number;
20
+ /** This function closes each session, and the server when the endpoint made one. */
21
+ close(): Promise<void>;
22
+ }
23
+ /**
24
+ * This function makes the Streamable HTTP endpoint of an MCP server. `connect` connects the
25
+ * transport of a new session to an MCP server of its own.
26
+ */
27
+ export declare function createHttpTransport(options: HttpTransportOptions, connect: (transport: StreamableHTTPServerTransport) => Promise<void>): McpHttpTransport;
28
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,GACnE,gBAAgB,CA4FlB"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * The MCP transport over Streamable HTTP (roadmap R26), the HTTP transport of the current MCP
3
+ * specification. Before, this package had only stdio, and its SSE transport only threw.
4
+ *
5
+ * Each client gets a session: its `initialize` request makes a transport and an MCP server of its
6
+ * own, and the later requests of the client carry the `mcp-session-id` header of that session.
7
+ * A session gets the progress of a tool call and the `list_changed` notifications. The checks of
8
+ * a local server apply: the server listens on loopback by default, it refuses a web page of
9
+ * another host or origin (DNS rebinding, cross-site requests), and with a token it refuses a
10
+ * request without the token.
11
+ */
12
+ import { randomUUID } from "node:crypto";
13
+ import { createServer } from "node:http";
14
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
15
+ import { bearerOf, checkBrowserRequest, tokenMatches } from "@procedures/client";
16
+ /**
17
+ * This function makes the Streamable HTTP endpoint of an MCP server. `connect` connects the
18
+ * transport of a new session to an MCP server of its own.
19
+ */
20
+ export function createHttpTransport(options, connect) {
21
+ const path = options.path ?? "/mcp";
22
+ const host = options.host ?? "127.0.0.1";
23
+ const owned = options.server === undefined;
24
+ const server = options.server ?? createServer();
25
+ const sessions = new Map();
26
+ const refuse = (res, status, code, message) => {
27
+ res.statusCode = status;
28
+ res.setHeader("content-type", "application/json");
29
+ res.end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32001, message, data: { code } }, id: null }));
30
+ };
31
+ /** The transport of a request: the one of its session, or a new one for an `initialize`. */
32
+ const transportOf = async (req) => {
33
+ const sessionId = req.headers["mcp-session-id"];
34
+ if (typeof sessionId === "string")
35
+ return sessions.get(sessionId);
36
+ if (req.method !== "POST")
37
+ return undefined;
38
+ const transport = new StreamableHTTPServerTransport({
39
+ sessionIdGenerator: () => randomUUID(),
40
+ onsessioninitialized: (id) => {
41
+ sessions.set(id, transport);
42
+ },
43
+ });
44
+ transport.onclose = () => {
45
+ if (transport.sessionId)
46
+ sessions.delete(transport.sessionId);
47
+ };
48
+ await connect(transport);
49
+ return transport;
50
+ };
51
+ const onRequest = (req, res) => {
52
+ const url = new URL(req.url ?? "/", "http://localhost");
53
+ if (url.pathname !== path) {
54
+ if (owned)
55
+ refuse(res, 404, "NOT_FOUND", `No MCP endpoint at ${url.pathname}`);
56
+ return;
57
+ }
58
+ // A web page must not reach the tools: the host and the origin of the request
59
+ const guard = checkBrowserRequest(req, { ...(options.allowedOrigins ? { allowedOrigins: options.allowedOrigins } : {}) });
60
+ if (!guard.ok) {
61
+ refuse(res, guard.status, guard.code, guard.message);
62
+ return;
63
+ }
64
+ if (options.token !== undefined && !tokenMatches(options.token, bearerOf(req.headers["authorization"]))) {
65
+ refuse(res, 401, "UNAUTHORIZED", "Unauthorized: this server requires its token");
66
+ return;
67
+ }
68
+ void transportOf(req)
69
+ .then((transport) => {
70
+ if (!transport) {
71
+ refuse(res, 404, "SESSION_NOT_FOUND", "No session: start one with an initialize request");
72
+ return;
73
+ }
74
+ return transport.handleRequest(req, res);
75
+ })
76
+ .catch((error) => {
77
+ if (!res.headersSent)
78
+ refuse(res, 500, "INTERNAL_ERROR", error instanceof Error ? error.message : String(error));
79
+ });
80
+ };
81
+ server.on("request", onRequest);
82
+ return {
83
+ listen: async () => {
84
+ if (owned && !server.listening) {
85
+ await new Promise((resolve, reject) => {
86
+ server.once("error", reject);
87
+ server.listen(options.port ?? 3003, host, () => {
88
+ server.off("error", reject);
89
+ resolve();
90
+ });
91
+ });
92
+ }
93
+ const address = server.address();
94
+ const shown = host === "0.0.0.0" ? "localhost" : host;
95
+ return `http://${shown}:${address?.port ?? options.port ?? 3003}${path}`;
96
+ },
97
+ get sessions() {
98
+ return sessions.size;
99
+ },
100
+ close: async () => {
101
+ server.off("request", onRequest);
102
+ const open = [...sessions.values()];
103
+ sessions.clear();
104
+ await Promise.all(open.map((transport) => transport.close().catch(() => undefined)));
105
+ if (owned && server.listening) {
106
+ await new Promise((resolve) => {
107
+ server.close(() => resolve());
108
+ server.closeAllConnections();
109
+ });
110
+ }
111
+ },
112
+ };
113
+ }
114
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
@@ -36,9 +36,21 @@ export declare class McpServerTransport implements ServerTransport {
36
36
  private tools;
37
37
  private registerListener;
38
38
  private unregisterListener;
39
+ /** The Streamable HTTP transport and its URL, when the transport is "http" (R26) */
40
+ private http;
41
+ /** The MCP servers of the sessions of the Streamable HTTP transport */
42
+ private readonly sessionServers;
43
+ private httpUrl;
39
44
  /** A pending list_changed notification: a burst of registrations sends one */
40
45
  private listChangedTimer;
46
+ /** The limits of a stream that can run without an end, the time in milliseconds (R15) */
47
+ private readonly streamLimits;
41
48
  constructor(server: Server, options?: McpServerTransportOptions);
49
+ /**
50
+ * An MCP server of the SDK with the handlers of this transport. The stdio transport has one, and
51
+ * each session of the Streamable HTTP transport has one of its own (roadmap R26).
52
+ */
53
+ private createSdkServer;
42
54
  /**
43
55
  * Setup MCP request handlers.
44
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAqB,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAiCtF;;;;;;;;;;;;;;;;;;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,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,EA8BlE;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IAsFrB;;OAEG;IACH;;;;;OAKG;YACW,YAAY;IAoC1B,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IAKrB,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1B;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,QAAQ,IAAI,uBAAuB,CAMlC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE,CAEpB;CACF"}
1
+ {"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAqB,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAmCtF;;;;;;;;;;;;;;;;;;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;IAEjE,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,EA2BlE;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0FrB;;OAEG;IACH;;;;;OAKG;YACW,YAAY;IAkD1B,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB,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,CAkD3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1B;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,QAAQ,IAAI,uBAAuB,CAOlC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE,CAEpB;CACF"}
@@ -10,6 +10,8 @@ import { PROCEDURE_REGISTRY, pathToMethod } from "@procedures/client";
10
10
  import { proceduresToMcpTools, toToolDefinition, decodePath, } from "@procedures/mcp";
11
11
  import { createStdioTransport } from "./stdio.js";
12
12
  import { createSseTransport } from "./sse.js";
13
+ import { createHttpTransport } from "./http.js";
14
+ import { optionalMs } from "@procedures/client";
13
15
  /**
14
16
  * Generate a unique request ID.
15
17
  */
@@ -66,8 +68,15 @@ export class McpServerTransport {
66
68
  tools = new Map();
67
69
  registerListener;
68
70
  unregisterListener;
71
+ /** The Streamable HTTP transport and its URL, when the transport is "http" (R26) */
72
+ http;
73
+ /** The MCP servers of the sessions of the Streamable HTTP transport */
74
+ sessionServers = new Set();
75
+ httpUrl;
69
76
  /** A pending list_changed notification: a burst of registrations sends one */
70
77
  listChangedTimer;
78
+ /** The limits of a stream that can run without an end, the time in milliseconds (R15) */
79
+ streamLimits;
71
80
  constructor(server, options = {}) {
72
81
  this.server = server;
73
82
  this.options = {
@@ -78,6 +87,10 @@ export class McpServerTransport {
78
87
  },
79
88
  ...options,
80
89
  };
90
+ this.streamLimits = {
91
+ items: Math.max(1, options.streamLimits?.items ?? 100),
92
+ timeMs: optionalMs(options.streamLimits?.time, "streamLimits.time") ?? 30_000,
93
+ };
81
94
  // The registry of the server, when it has one (a ProcedureServer with an explicit registry):
82
95
  // before, the tools came from the global registry, also when the server served another one
83
96
  this.registry =
@@ -86,29 +99,36 @@ export class McpServerTransport {
86
99
  PROCEDURE_REGISTRY;
87
100
  // Create MCP server with capabilities. The tool list follows the registry: when it changes,
88
101
  // the server sends notifications/tools/list_changed (deep dive roadmap 0.4)
89
- this.mcpServer = new McpServer(this.options.serverInfo, {
102
+ this.mcpServer = this.createSdkServer();
103
+ // The registry listeners are attached in start() and removed in stop(): attaching them here
104
+ // leaked them for a transport that never started or failed to start (BUGS-2026-07 L28)
105
+ }
106
+ /**
107
+ * An MCP server of the SDK with the handlers of this transport. The stdio transport has one, and
108
+ * each session of the Streamable HTTP transport has one of its own (roadmap R26).
109
+ */
110
+ createSdkServer() {
111
+ const server = new McpServer(this.options.serverInfo, {
90
112
  capabilities: {
91
113
  tools: { listChanged: true },
92
114
  },
93
115
  });
94
- // Setup request handlers
95
- this.setupHandlers();
96
- // The registry listeners are attached in start() and removed in stop(): attaching them here
97
- // leaked them for a transport that never started or failed to start (BUGS-2026-07 L28)
116
+ this.setupHandlers(server);
117
+ return server;
98
118
  }
99
119
  /**
100
120
  * Setup MCP request handlers.
101
121
  */
102
- setupHandlers() {
122
+ setupHandlers(server) {
103
123
  // ListToolsRequestSchema -> List all procedures as tools
104
- this.mcpServer.setRequestHandler(ListToolsRequestSchema, async () => {
124
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
105
125
  this.log("ListToolsRequest received");
106
126
  const tools = Array.from(this.tools.values()).map(toToolDefinition);
107
127
  this.log(`Returning ${tools.length} tools`);
108
128
  return { tools };
109
129
  });
110
130
  // CallToolRequestSchema -> Execute procedure
111
- this.mcpServer.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
131
+ server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
112
132
  const { name, arguments: args } = request.params;
113
133
  this.log(`CallToolRequest: ${name}`);
114
134
  // Find tool
@@ -141,7 +161,8 @@ export class McpServerTransport {
141
161
  this.log(`Tool ${name} completed: ${response.status.type}`);
142
162
  // Convert to MCP result
143
163
  if (response.status.type === "success" && response.stream) {
144
- return await this.streamResult(response.stream, extra);
164
+ const unbounded = response.metadata?.["stream"] === "unbounded";
165
+ return await this.streamResult(response.stream, extra, unbounded);
145
166
  }
146
167
  if (response.status.type === "success") {
147
168
  const structured = tool.outputSchema ? structuredContentOf(response.payload) : undefined;
@@ -153,14 +174,17 @@ export class McpServerTransport {
153
174
  };
154
175
  }
155
176
  else {
177
+ // The code and the reason of the error travel on each face (roadmap R25)
178
+ const reason = typeof response.metadata?.["reason"] === "string" ? response.metadata["reason"] : undefined;
156
179
  return {
157
180
  content: [
158
181
  {
159
182
  type: "text",
160
- text: response.status.message ?? "Unknown error",
183
+ text: `${response.status.message ?? "Unknown error"}${reason ? ` (reason: ${reason})` : ""}`,
161
184
  },
162
185
  ],
163
186
  isError: true,
187
+ _meta: { code: response.status.code, ...(reason ? { reason } : {}) },
164
188
  };
165
189
  }
166
190
  }
@@ -183,13 +207,23 @@ export class McpServerTransport {
183
207
  * and a progress notification when the caller sent a progress token, so a client can show
184
208
  * the items while the stream runs.
185
209
  */
186
- async streamResult(stream, extra) {
210
+ async streamResult(stream, extra, unbounded = false) {
187
211
  const progressToken = extra._meta?.progressToken;
188
212
  const blocks = [];
189
213
  let count = 0;
214
+ // A stream that can run without an end stops at the first limit (roadmap R15: before, a
215
+ // docker.logs with follow ended only at the time limit of the tool call)
216
+ const limits = this.streamLimits;
217
+ const started = Date.now();
218
+ let stoppedBy;
190
219
  try {
191
220
  for await (const item of stream) {
192
221
  count++;
222
+ if (unbounded && (count > limits.items || Date.now() - started > limits.timeMs)) {
223
+ stoppedBy = count > limits.items ? `${limits.items} items` : `${Math.round(limits.timeMs / 1000)} seconds`;
224
+ count--;
225
+ break;
226
+ }
193
227
  const text = toText(item);
194
228
  blocks.push({ type: "text", text });
195
229
  if (blocks.length > MAX_STREAM_BLOCKS)
@@ -211,6 +245,9 @@ export class McpServerTransport {
211
245
  if (count > MAX_STREAM_BLOCKS) {
212
246
  blocks.unshift({ type: "text", text: `(${count} items: the first ${count - MAX_STREAM_BLOCKS} are not shown)` });
213
247
  }
248
+ if (stoppedBy) {
249
+ blocks.push({ type: "text", text: `(The stream can run without an end, so the tool stopped it after ${stoppedBy}.)` });
250
+ }
214
251
  if (count === 0)
215
252
  blocks.push({ type: "text", text: "(no items)" });
216
253
  return { content: blocks };
@@ -270,6 +307,8 @@ export class McpServerTransport {
270
307
  this.listChangedTimer = undefined;
271
308
  if (!this.running)
272
309
  return;
310
+ for (const sessionServer of this.sessionServers)
311
+ sessionServer.sendToolListChanged().catch(() => undefined);
273
312
  this.mcpServer.sendToolListChanged().catch((error) => {
274
313
  this.log(`list_changed failed: ${error instanceof Error ? error.message : String(error)}`);
275
314
  });
@@ -308,6 +347,16 @@ export class McpServerTransport {
308
347
  transport = createStdioTransport();
309
348
  this.log("Using stdio transport");
310
349
  }
350
+ else if (this.options.transport === "http") {
351
+ // Streamable HTTP (roadmap R26): an MCP server of its own for each session
352
+ this.http = createHttpTransport(this.options.httpOptions ?? {}, async (sessionTransport) => {
353
+ const sessionServer = this.createSdkServer();
354
+ this.sessionServers.add(sessionServer);
355
+ sessionServer.onclose = () => this.sessionServers.delete(sessionServer);
356
+ await sessionServer.connect(sessionTransport);
357
+ });
358
+ transport = undefined;
359
+ }
311
360
  else if (this.options.transport === "sse") {
312
361
  transport = createSseTransport(this.options.sseOptions);
313
362
  this.log(`Using SSE transport on ${this.options.sseOptions?.path ?? "/mcp/sse"}`);
@@ -316,10 +365,17 @@ export class McpServerTransport {
316
365
  throw new Error(`Unknown MCP transport: ${this.options.transport}`);
317
366
  }
318
367
  // Connect MCP server to transport
319
- await this.mcpServer.connect(transport);
368
+ if (transport)
369
+ await this.mcpServer.connect(transport);
370
+ if (this.http) {
371
+ this.httpUrl = await this.http.listen();
372
+ this.log(`Using Streamable HTTP at ${this.httpUrl}`);
373
+ }
320
374
  }
321
375
  catch (error) {
322
376
  this.removeRegistryListeners();
377
+ await this.http?.close().catch(() => undefined);
378
+ this.http = undefined;
323
379
  throw error;
324
380
  }
325
381
  this.running = true;
@@ -339,6 +395,12 @@ export class McpServerTransport {
339
395
  this.listChangedTimer = undefined;
340
396
  }
341
397
  await this.mcpServer.close();
398
+ await this.http?.close();
399
+ for (const sessionServer of this.sessionServers)
400
+ await sessionServer.close().catch(() => undefined);
401
+ this.sessionServers.clear();
402
+ this.http = undefined;
403
+ this.httpUrl = undefined;
342
404
  this.running = false;
343
405
  this.log("MCP server stopped");
344
406
  }
@@ -356,6 +418,7 @@ export class McpServerTransport {
356
418
  running: this.running,
357
419
  toolCount: this.tools.size,
358
420
  transport: this.options.transport,
421
+ ...(this.httpUrl ? { url: this.httpUrl } : {}),
359
422
  };
360
423
  }
361
424
  /**
@@ -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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"}
package/dist/types.d.ts CHANGED
@@ -6,9 +6,25 @@
6
6
  import type { Transport as SdkTransport } from "@modelcontextprotocol/sdk/shared/transport.js";
7
7
  import type { ProcedureRegistry } from "@procedures/client";
8
8
  import type { McpServerInfo, McpToolFilter } from "@procedures/mcp";
9
+ import type { Duration } from "@procedures/client";
9
10
  /**
10
11
  * SSE transport configuration options.
11
12
  */
13
+ /** The options of the Streamable HTTP transport (roadmap R26). */
14
+ export interface HttpTransportOptions {
15
+ /** Port to listen on (default: 3003) */
16
+ port?: number | undefined;
17
+ /** Host to bind to (default: "127.0.0.1": only this computer can reach the tools) */
18
+ host?: string | undefined;
19
+ /** The path of the MCP endpoint (default: "/mcp") */
20
+ path?: string | undefined;
21
+ /** A secret that each request must send as `Authorization: Bearer <token>` */
22
+ token?: string | undefined;
23
+ /** Browser origins that can call the server, besides loopback origins */
24
+ allowedOrigins?: string[] | undefined;
25
+ /** An HTTP server to answer on, in place of a server of the transport (it does not listen then) */
26
+ server?: import("node:http").Server | undefined;
27
+ }
12
28
  export interface SseTransportOptions {
13
29
  /** Port to listen on (default: 3002) */
14
30
  port?: number;
@@ -23,8 +39,13 @@ export interface SseTransportOptions {
23
39
  * MCP Server Transport configuration options.
24
40
  */
25
41
  export interface McpServerTransportOptions {
26
- /** Transport type: stdio or sse (default: "stdio") */
27
- transport?: "stdio" | "sse";
42
+ /**
43
+ * Transport type (default: "stdio"). "http" is Streamable HTTP, the HTTP transport of the
44
+ * current MCP specification (roadmap R26). "sse" is not implemented.
45
+ */
46
+ transport?: "stdio" | "sse" | "http";
47
+ /** The options of the Streamable HTTP transport. */
48
+ httpOptions?: HttpTransportOptions | undefined;
28
49
  /** Procedure registry to use (defaults to PROCEDURE_REGISTRY) */
29
50
  registry?: ProcedureRegistry;
30
51
  /** Server info for MCP protocol */
@@ -40,6 +61,15 @@ export interface McpServerTransportOptions {
40
61
  sdkTransport?: SdkTransport;
41
62
  /** Enable debug logging */
42
63
  debug?: boolean;
64
+ /**
65
+ * The limits of a stream that can run without an end (`stream: { unbounded: true }` of its
66
+ * procedure): the tool stops it at the first one and gives the items that it has (roadmap R15).
67
+ * @default { items: 100, time: seconds(30) }
68
+ */
69
+ streamLimits?: {
70
+ items?: number;
71
+ time?: Duration;
72
+ } | undefined;
43
73
  }
44
74
  /**
45
75
  * MCP Server Transport state.
@@ -50,6 +80,8 @@ export interface McpServerTransportState {
50
80
  /** Number of registered tools */
51
81
  toolCount: number;
52
82
  /** Transport type in use */
53
- transport: "stdio" | "sse";
83
+ transport: "stdio" | "sse" | "http";
84
+ /** The URL of the Streamable HTTP endpoint, when the transport is "http" */
85
+ url?: string;
54
86
  }
55
87
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAE5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,mCAAmC;IACnC,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,SAAS,EAAE,OAAO,GAAG,KAAK,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAErC,oDAAoD;IACpD,WAAW,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAE/C,iEAAiE;IACjE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,mCAAmC;IACnC,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,SAAS,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}