@mcp-ts/sdk 2.4.5 → 2.5.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.
Files changed (85) hide show
  1. package/dist/adapters/agui-adapter.d.mts +3 -3
  2. package/dist/adapters/agui-adapter.d.ts +3 -3
  3. package/dist/adapters/agui-adapter.js.map +1 -1
  4. package/dist/adapters/agui-adapter.mjs.map +1 -1
  5. package/dist/adapters/agui-middleware.d.mts +3 -3
  6. package/dist/adapters/agui-middleware.d.ts +3 -3
  7. package/dist/adapters/agui-middleware.js.map +1 -1
  8. package/dist/adapters/agui-middleware.mjs.map +1 -1
  9. package/dist/adapters/ai-adapter.d.mts +3 -3
  10. package/dist/adapters/ai-adapter.d.ts +3 -3
  11. package/dist/adapters/ai-adapter.js.map +1 -1
  12. package/dist/adapters/ai-adapter.mjs.map +1 -1
  13. package/dist/adapters/langchain-adapter.d.mts +3 -3
  14. package/dist/adapters/langchain-adapter.d.ts +3 -3
  15. package/dist/adapters/langchain-adapter.js +2 -2
  16. package/dist/adapters/langchain-adapter.js.map +1 -1
  17. package/dist/adapters/langchain-adapter.mjs +2 -2
  18. package/dist/adapters/langchain-adapter.mjs.map +1 -1
  19. package/dist/adapters/mastra-adapter.d.mts +2 -2
  20. package/dist/adapters/mastra-adapter.d.ts +2 -2
  21. package/dist/adapters/mastra-adapter.js +2 -2
  22. package/dist/adapters/mastra-adapter.js.map +1 -1
  23. package/dist/adapters/mastra-adapter.mjs +2 -2
  24. package/dist/adapters/mastra-adapter.mjs.map +1 -1
  25. package/dist/client/index.d.mts +2 -2
  26. package/dist/client/index.d.ts +2 -2
  27. package/dist/client/index.js +6 -0
  28. package/dist/client/index.js.map +1 -1
  29. package/dist/client/index.mjs +6 -0
  30. package/dist/client/index.mjs.map +1 -1
  31. package/dist/client/react.d.mts +15 -4
  32. package/dist/client/react.d.ts +15 -4
  33. package/dist/client/react.js +34 -0
  34. package/dist/client/react.js.map +1 -1
  35. package/dist/client/react.mjs +34 -0
  36. package/dist/client/react.mjs.map +1 -1
  37. package/dist/client/vue.d.mts +4 -4
  38. package/dist/client/vue.d.ts +4 -4
  39. package/dist/client/vue.js +6 -0
  40. package/dist/client/vue.js.map +1 -1
  41. package/dist/client/vue.mjs +6 -0
  42. package/dist/client/vue.mjs.map +1 -1
  43. package/dist/{index-CkM3p0eE.d.mts → index-CTURVnom.d.mts} +5 -1
  44. package/dist/{index-CZk2gu2E.d.ts → index-sVcqrhf7.d.ts} +5 -1
  45. package/dist/index.d.mts +4 -4
  46. package/dist/index.d.ts +4 -4
  47. package/dist/index.js +314 -82
  48. package/dist/index.js.map +1 -1
  49. package/dist/index.mjs +310 -82
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/{multi-session-client-ChQrBZhF.d.mts → multi-session-client-CSPSHHla.d.ts} +14 -2
  52. package/dist/{multi-session-client-QOOPdEVp.d.ts → multi-session-client-DMZGVABI.d.mts} +14 -2
  53. package/dist/server/index.d.mts +13 -4
  54. package/dist/server/index.d.ts +13 -4
  55. package/dist/server/index.js +308 -82
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/server/index.mjs +304 -82
  58. package/dist/server/index.mjs.map +1 -1
  59. package/dist/shared/index.d.mts +4 -4
  60. package/dist/shared/index.d.ts +4 -4
  61. package/dist/shared/index.js.map +1 -1
  62. package/dist/shared/index.mjs.map +1 -1
  63. package/dist/{tool-router-DQ-HrD7W.d.ts → tool-router-CS9l0w4a.d.ts} +1 -1
  64. package/dist/{tool-router-CGs3IDOJ.d.mts → tool-router-CVLBaCwH.d.mts} +1 -1
  65. package/dist/{types-Bf-7GOLW.d.mts → types-DK_NGWd4.d.mts} +37 -3
  66. package/dist/{types-Bf-7GOLW.d.ts → types-DK_NGWd4.d.ts} +37 -3
  67. package/migrations/neon/20260513010000_install_mcp_sessions.sql +1 -0
  68. package/migrations/supabase/20260330195700_install_mcp_sessions.sql +1 -0
  69. package/package.json +1 -1
  70. package/src/adapters/agui-adapter.ts +6 -2
  71. package/src/adapters/ai-adapter.ts +3 -1
  72. package/src/adapters/langchain-adapter.ts +5 -3
  73. package/src/adapters/mastra-adapter.ts +5 -3
  74. package/src/client/core/sse-client.ts +17 -0
  75. package/src/client/react/use-mcp.ts +63 -0
  76. package/src/server/handlers/sse-handler.ts +116 -9
  77. package/src/server/mcp/multi-session-client.ts +7 -3
  78. package/src/server/mcp/oauth-client.ts +25 -10
  79. package/src/server/mcp/tool-policy-gateway.ts +90 -0
  80. package/src/server/storage/neon-backend.ts +65 -60
  81. package/src/server/storage/session-lifecycle.ts +5 -0
  82. package/src/server/storage/supabase-backend.ts +27 -15
  83. package/src/server/storage/tool-policy.ts +89 -0
  84. package/src/server/storage/types.ts +11 -0
  85. package/src/shared/types.ts +48 -1
@@ -37,6 +37,12 @@ var SSEClient = class {
37
37
  async disconnectFromServer(sessionId) {
38
38
  return this.sendRequest("disconnect", { sessionId });
39
39
  }
40
+ async setToolPolicy(sessionId, toolPolicy) {
41
+ return this.sendRequest("setToolPolicy", { sessionId, toolPolicy });
42
+ }
43
+ async getToolPolicy(sessionId) {
44
+ return this.sendRequest("getToolPolicy", { sessionId });
45
+ }
40
46
  async listTools(sessionId) {
41
47
  return this.sendRequest("listTools", { sessionId });
42
48
  }
@@ -423,6 +429,7 @@ function useMcp(options) {
423
429
  state: getInitialConnectionState(s.status),
424
430
  createdAt: new Date(s.createdAt),
425
431
  updatedAt: new Date(s.updatedAt ?? s.createdAt),
432
+ toolPolicy: s.toolPolicy,
426
433
  tools: []
427
434
  }))
428
435
  );
@@ -530,6 +537,29 @@ function useMcp(options) {
530
537
  }
531
538
  return await clientRef.current.listTools(sessionId);
532
539
  }, []);
540
+ const updateToolPolicy = useCallback(async (sessionId, toolPolicy) => {
541
+ if (!clientRef.current) {
542
+ throw new Error("SSE client not initialized");
543
+ }
544
+ const result = await clientRef.current.setToolPolicy(sessionId, toolPolicy);
545
+ if (isMountedRef.current) {
546
+ setConnections((prev) => prev.map(
547
+ (connection) => connection.sessionId === sessionId ? {
548
+ ...connection,
549
+ toolPolicy: result.toolPolicy,
550
+ tools: result.tools,
551
+ updatedAt: /* @__PURE__ */ new Date()
552
+ } : connection
553
+ ));
554
+ }
555
+ return result;
556
+ }, []);
557
+ const getToolAccess = useCallback(async (sessionId) => {
558
+ if (!clientRef.current) {
559
+ throw new Error("SSE client not initialized");
560
+ }
561
+ return await clientRef.current.getToolPolicy(sessionId);
562
+ }, []);
533
563
  const listPrompts = useCallback(async (sessionId) => {
534
564
  if (!clientRef.current) {
535
565
  throw new Error("SSE client not initialized");
@@ -598,6 +628,8 @@ function useMcp(options) {
598
628
  resumeAuth,
599
629
  callTool,
600
630
  listTools,
631
+ updateToolPolicy,
632
+ getToolAccess,
601
633
  listPrompts,
602
634
  getPrompt,
603
635
  listResources,
@@ -622,6 +654,8 @@ function useMcp(options) {
622
654
  resumeAuth,
623
655
  callTool,
624
656
  listTools,
657
+ updateToolPolicy,
658
+ getToolAccess,
625
659
  listPrompts,
626
660
  getPrompt,
627
661
  listResources,