mcp-use 1.10.4 → 1.10.6

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.
@@ -7,7 +7,7 @@ import {
7
7
  createEnhancedContext,
8
8
  findSessionContext,
9
9
  isValidLogLevel
10
- } from "../../chunk-B5VA5JZB.js";
10
+ } from "../../chunk-EEUJZMOP.js";
11
11
  import {
12
12
  convertToolResultToResourceResult
13
13
  } from "../../chunk-362PI25Z.js";
@@ -25,7 +25,7 @@ import {
25
25
  getPackageVersion,
26
26
  isDeno,
27
27
  pathHelpers
28
- } from "../../chunk-TZ5X2SYG.js";
28
+ } from "../../chunk-JH3ZOGLI.js";
29
29
  import "../../chunk-34R6SIER.js";
30
30
  import {
31
31
  __name
@@ -2091,7 +2091,7 @@ function registerResource(resourceDefinition, callback) {
2091
2091
  const explicitMimeType = resourceDefinition.mimeType;
2092
2092
  const wrappedCallback = /* @__PURE__ */ __name(async () => {
2093
2093
  const { getRequestContext: getRequestContext2, runWithContext: runWithContext2 } = await import("../../context-storage-NA4MHWOZ.js");
2094
- const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-JZRL6OV4.js");
2094
+ const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-4X6A63AS.js");
2095
2095
  const initialRequestContext = getRequestContext2();
2096
2096
  const sessions = this.sessions || /* @__PURE__ */ new Map();
2097
2097
  const { requestContext } = findSessionContext2(
@@ -2169,7 +2169,7 @@ function registerResourceTemplate(resourceTemplateDefinition, callback) {
2169
2169
  async (uri) => {
2170
2170
  const params = this.parseTemplateUri(uriTemplate, uri.toString());
2171
2171
  const { getRequestContext: getRequestContext2, runWithContext: runWithContext2 } = await import("../../context-storage-NA4MHWOZ.js");
2172
- const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-JZRL6OV4.js");
2172
+ const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-4X6A63AS.js");
2173
2173
  const initialRequestContext = getRequestContext2();
2174
2174
  const sessions = this.sessions || /* @__PURE__ */ new Map();
2175
2175
  const { requestContext } = findSessionContext2(
@@ -2224,7 +2224,7 @@ function registerPrompt(promptDefinition, callback) {
2224
2224
  }
2225
2225
  const wrappedCallback = /* @__PURE__ */ __name(async (params, extra) => {
2226
2226
  const { getRequestContext: getRequestContext2, runWithContext: runWithContext2 } = await import("../../context-storage-NA4MHWOZ.js");
2227
- const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-JZRL6OV4.js");
2227
+ const { findSessionContext: findSessionContext2 } = await import("../../tool-execution-helpers-4X6A63AS.js");
2228
2228
  const initialRequestContext = getRequestContext2();
2229
2229
  const sessions = this.sessions || /* @__PURE__ */ new Map();
2230
2230
  const { requestContext } = findSessionContext2(
@@ -2526,7 +2526,7 @@ async function mountMcp(app, mcpServerInstance, sessions, config, isProductionMo
2526
2526
  const idleTimeoutMs = config.sessionIdleTimeoutMs ?? 3e5;
2527
2527
  const transports = /* @__PURE__ */ new Map();
2528
2528
  let idleCleanupInterval;
2529
- if (idleTimeoutMs > 0) {
2529
+ if (!config.stateless && idleTimeoutMs > 0) {
2530
2530
  idleCleanupInterval = startIdleCleanup(
2531
2531
  sessions,
2532
2532
  idleTimeoutMs,
@@ -2534,67 +2534,84 @@ async function mountMcp(app, mcpServerInstance, sessions, config, isProductionMo
2534
2534
  );
2535
2535
  }
2536
2536
  const handleRequest = /* @__PURE__ */ __name(async (c) => {
2537
- const sessionId = c.req.header("mcp-session-id");
2538
- if (sessionId && transports.has(sessionId)) {
2539
- const transport2 = transports.get(sessionId);
2540
- if (sessions.has(sessionId)) {
2541
- const session = sessions.get(sessionId);
2542
- session.lastAccessedAt = Date.now();
2543
- session.context = c;
2544
- session.honoContext = c;
2537
+ if (config.stateless) {
2538
+ const server = mcpServerInstance.getServerForSession();
2539
+ const transport = new FetchStreamableHTTPServerTransport({
2540
+ sessionIdGenerator: void 0
2541
+ // No session tracking
2542
+ });
2543
+ try {
2544
+ await server.connect(transport);
2545
+ return await transport.handleRequest(c.req.raw);
2546
+ } catch (error2) {
2547
+ console.error("[MCP] Stateless request error:", error2);
2548
+ transport.close();
2549
+ server.close();
2550
+ throw error2;
2545
2551
  }
2546
- return transport2.handleRequest(c.req.raw);
2547
- }
2548
- const server = mcpServerInstance.getServerForSession();
2549
- const transport = new FetchStreamableHTTPServerTransport({
2550
- sessionIdGenerator: /* @__PURE__ */ __name(() => generateUUID(), "sessionIdGenerator"),
2551
- onsessioninitialized: /* @__PURE__ */ __name((sid) => {
2552
- console.log(`[MCP] Session initialized: ${sid}`);
2553
- transports.set(sid, transport);
2554
- sessions.set(sid, {
2555
- transport,
2556
- server,
2557
- lastAccessedAt: Date.now(),
2558
- context: c,
2559
- honoContext: c
2560
- });
2561
- server.server.oninitialized = () => {
2562
- const clientCapabilities = server.server.getClientCapabilities();
2563
- const clientInfo = server.server.getClientInfo?.() || {};
2564
- const protocolVersion = server.server.getProtocolVersion?.() || "unknown";
2565
- if (clientCapabilities && sessions.has(sid)) {
2566
- const session = sessions.get(sid);
2567
- session.clientCapabilities = clientCapabilities;
2568
- console.log(
2569
- `[MCP] Captured client capabilities for session ${sid}:`,
2570
- Object.keys(clientCapabilities)
2552
+ } else {
2553
+ const sessionId = c.req.header("mcp-session-id");
2554
+ if (sessionId && transports.has(sessionId)) {
2555
+ const transport2 = transports.get(sessionId);
2556
+ if (sessions.has(sessionId)) {
2557
+ const session = sessions.get(sessionId);
2558
+ session.lastAccessedAt = Date.now();
2559
+ session.context = c;
2560
+ session.honoContext = c;
2561
+ }
2562
+ return transport2.handleRequest(c.req.raw);
2563
+ }
2564
+ const server = mcpServerInstance.getServerForSession();
2565
+ const transport = new FetchStreamableHTTPServerTransport({
2566
+ sessionIdGenerator: /* @__PURE__ */ __name(() => generateUUID(), "sessionIdGenerator"),
2567
+ onsessioninitialized: /* @__PURE__ */ __name((sid) => {
2568
+ console.log(`[MCP] Session initialized: ${sid}`);
2569
+ transports.set(sid, transport);
2570
+ sessions.set(sid, {
2571
+ transport,
2572
+ server,
2573
+ lastAccessedAt: Date.now(),
2574
+ context: c,
2575
+ honoContext: c
2576
+ });
2577
+ server.server.oninitialized = () => {
2578
+ const clientCapabilities = server.server.getClientCapabilities();
2579
+ const clientInfo = server.server.getClientInfo?.() || {};
2580
+ const protocolVersion = server.server.getProtocolVersion?.() || "unknown";
2581
+ if (clientCapabilities && sessions.has(sid)) {
2582
+ const session = sessions.get(sid);
2583
+ session.clientCapabilities = clientCapabilities;
2584
+ console.log(
2585
+ `[MCP] Captured client capabilities for session ${sid}:`,
2586
+ Object.keys(clientCapabilities)
2587
+ );
2588
+ }
2589
+ Telemetry.getInstance().trackServerInitialize({
2590
+ protocolVersion: String(protocolVersion),
2591
+ clientInfo: clientInfo || {},
2592
+ clientCapabilities: clientCapabilities || {},
2593
+ sessionId: sid
2594
+ }).catch(
2595
+ (e) => console.debug(`Failed to track server initialize: ${e}`)
2571
2596
  );
2572
- }
2573
- Telemetry.getInstance().trackServerInitialize({
2574
- protocolVersion: String(protocolVersion),
2575
- clientInfo: clientInfo || {},
2576
- clientCapabilities: clientCapabilities || {},
2577
- sessionId: sid
2578
- }).catch(
2579
- (e) => console.debug(`Failed to track server initialize: ${e}`)
2580
- );
2581
- };
2582
- }, "onsessioninitialized"),
2583
- onsessionclosed: /* @__PURE__ */ __name((sid) => {
2584
- console.log(`[MCP] Session closed: ${sid}`);
2585
- transports.delete(sid);
2586
- sessions.delete(sid);
2587
- mcpServerInstance.cleanupSessionSubscriptions?.(sid);
2588
- }, "onsessionclosed")
2589
- });
2590
- await server.connect(transport);
2591
- return transport.handleRequest(c.req.raw);
2597
+ };
2598
+ }, "onsessioninitialized"),
2599
+ onsessionclosed: /* @__PURE__ */ __name((sid) => {
2600
+ console.log(`[MCP] Session closed: ${sid}`);
2601
+ transports.delete(sid);
2602
+ sessions.delete(sid);
2603
+ mcpServerInstance.cleanupSessionSubscriptions?.(sid);
2604
+ }, "onsessionclosed")
2605
+ });
2606
+ await server.connect(transport);
2607
+ return transport.handleRequest(c.req.raw);
2608
+ }
2592
2609
  }, "handleRequest");
2593
2610
  for (const endpoint of ["/mcp", "/sse"]) {
2594
2611
  app.on(["GET", "POST", "DELETE"], endpoint, handleRequest);
2595
2612
  }
2596
2613
  console.log(
2597
- `[MCP] Server mounted at /mcp and /sse (using FetchStreamableHTTPServerTransport - Web Standard APIs)`
2614
+ `[MCP] Server mounted at /mcp and /sse (${config.stateless ? "stateless" : "stateful"} mode)`
2598
2615
  );
2599
2616
  return { mcpMounted: true, idleCleanupInterval };
2600
2617
  }
@@ -2960,6 +2977,12 @@ var MCPServerClass = class {
2960
2977
  */
2961
2978
  constructor(config) {
2962
2979
  this.config = config;
2980
+ if (this.config.stateless === void 0) {
2981
+ this.config.stateless = isDeno;
2982
+ if (this.config.stateless) {
2983
+ console.log("[MCP] Deno detected - using stateless mode (no sessions)");
2984
+ }
2985
+ }
2963
2986
  this.serverHost = config.host || "localhost";
2964
2987
  this.serverBaseUrl = config.baseUrl;
2965
2988
  this.nativeServer = new OfficialMcpServer(
@@ -3618,9 +3641,13 @@ var MCPServerClass = class {
3618
3641
  const fetchHandler = this.app.fetch.bind(this.app);
3619
3642
  if (options?.provider === "supabase") {
3620
3643
  return async (req) => {
3644
+ const corsHeaders = getDenoCorsHeaders();
3645
+ if (req.method === "OPTIONS") {
3646
+ return new Response("ok", { headers: corsHeaders });
3647
+ }
3621
3648
  const rewrittenReq = rewriteSupabaseRequest(req);
3622
3649
  const result = await fetchHandler(rewrittenReq);
3623
- return result;
3650
+ return applyDenoCorsHeaders(result);
3624
3651
  };
3625
3652
  }
3626
3653
  return async (req) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,32 @@ export interface ServerConfig {
101
101
  * ```
102
102
  */
103
103
  autoCreateSessionOnInvalidId?: boolean;
104
+ /**
105
+ * Enable stateless mode (no session tracking)
106
+ * - Default: true for Deno (edge runtimes), false for Node.js
107
+ * - Set to true to force stateless mode
108
+ * - Set to false to force stateful mode (with sessions)
109
+ *
110
+ * Stateless mode is required for edge functions where instances don't persist.
111
+ * Stateful mode supports sessions, resumability, and notifications.
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * // Auto-detected (Deno = stateless, Node.js = stateful)
116
+ * const server = new MCPServer({
117
+ * name: 'my-server',
118
+ * version: '1.0.0'
119
+ * });
120
+ *
121
+ * // Force stateless mode (e.g., for Node.js edge functions)
122
+ * const server = new MCPServer({
123
+ * name: 'my-server',
124
+ * version: '1.0.0',
125
+ * stateless: true
126
+ * });
127
+ * ```
128
+ */
129
+ stateless?: boolean;
104
130
  /**
105
131
  * OAuth authentication configuration
106
132
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAC5D,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CACV;CACF,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GACjD,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/server/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAC5D,CAAC,CAAC,CAAC,CAAC,EACJ,SAAS,CACV;CACF,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GACjD,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -1,4 +1,4 @@
1
- export declare const VERSION = "1.10.4";
1
+ export declare const VERSION = "1.10.6";
2
2
  /**
3
3
  * Get the package version.
4
4
  * The version is embedded at build time via scripts/generate-version.mjs
@@ -10,9 +10,9 @@ import {
10
10
  sendProgressNotification,
11
11
  shouldLogMessage,
12
12
  withTimeout
13
- } from "./chunk-B5VA5JZB.js";
13
+ } from "./chunk-EEUJZMOP.js";
14
14
  import "./chunk-KUEVOU4M.js";
15
- import "./chunk-TZ5X2SYG.js";
15
+ import "./chunk-JH3ZOGLI.js";
16
16
  import "./chunk-34R6SIER.js";
17
17
  import "./chunk-3GQAWCBQ.js";
18
18
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mcp-use",
3
3
  "type": "module",
4
- "version": "1.10.4",
4
+ "version": "1.10.6",
5
5
  "description": "Opinionated MCP Framework for TypeScript (@modelcontextprotocol/sdk compatible) - Build MCP Agents, Clients and Servers with support for ChatGPT Apps, Code Mode, OAuth, Notifications, Sampling, Observability and more.",
6
6
  "author": "mcp-use, Inc.",
7
7
  "license": "MIT",
@@ -114,8 +114,8 @@
114
114
  "posthog-node": "^5.14.1",
115
115
  "ws": "^8.18.3",
116
116
  "zod": "^4.1.13",
117
- "@mcp-use/cli": "2.5.4",
118
- "@mcp-use/inspector": "0.12.4"
117
+ "@mcp-use/inspector": "0.12.6",
118
+ "@mcp-use/cli": "2.5.6"
119
119
  },
120
120
  "optionalDependencies": {
121
121
  "chalk": "^5.6.2",