@modelcontextprotocol/sdk 1.22.0 → 1.23.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 (258) hide show
  1. package/README.md +92 -11
  2. package/dist/cjs/client/auth.d.ts +11 -1
  3. package/dist/cjs/client/auth.d.ts.map +1 -1
  4. package/dist/cjs/client/auth.js +71 -19
  5. package/dist/cjs/client/auth.js.map +1 -1
  6. package/dist/cjs/client/index.d.ts +122 -662
  7. package/dist/cjs/client/index.d.ts.map +1 -1
  8. package/dist/cjs/client/index.js +72 -15
  9. package/dist/cjs/client/index.js.map +1 -1
  10. package/dist/cjs/client/sse.d.ts +1 -0
  11. package/dist/cjs/client/sse.d.ts.map +1 -1
  12. package/dist/cjs/client/sse.js +5 -3
  13. package/dist/cjs/client/sse.js.map +1 -1
  14. package/dist/cjs/client/streamableHttp.d.ts +14 -2
  15. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  16. package/dist/cjs/client/streamableHttp.js +79 -19
  17. package/dist/cjs/client/streamableHttp.js.map +1 -1
  18. package/dist/cjs/examples/client/elicitationUrlExample.d.ts +2 -0
  19. package/dist/cjs/examples/client/elicitationUrlExample.d.ts.map +1 -0
  20. package/dist/cjs/examples/client/elicitationUrlExample.js +693 -0
  21. package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -0
  22. package/dist/cjs/examples/client/simpleOAuthClient.js +13 -52
  23. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  24. package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts +26 -0
  25. package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
  26. package/dist/cjs/examples/client/simpleOAuthClientProvider.js +51 -0
  27. package/dist/cjs/examples/client/simpleOAuthClientProvider.js.map +1 -0
  28. package/dist/cjs/examples/client/simpleStreamableHttp.js +10 -5
  29. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  30. package/dist/cjs/examples/client/ssePollingClient.d.ts +2 -0
  31. package/dist/cjs/examples/client/ssePollingClient.d.ts.map +1 -0
  32. package/dist/cjs/examples/client/ssePollingClient.js +95 -0
  33. package/dist/cjs/examples/client/ssePollingClient.js.map +1 -0
  34. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
  35. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  36. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +16 -0
  37. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  38. package/dist/cjs/examples/server/elicitationFormExample.d.ts +2 -0
  39. package/dist/cjs/examples/server/elicitationFormExample.d.ts.map +1 -0
  40. package/dist/cjs/examples/server/{elicitationExample.js → elicitationFormExample.js} +14 -8
  41. package/dist/cjs/examples/server/elicitationFormExample.js.map +1 -0
  42. package/dist/cjs/examples/server/elicitationUrlExample.d.ts +2 -0
  43. package/dist/cjs/examples/server/elicitationUrlExample.d.ts.map +1 -0
  44. package/dist/cjs/examples/server/elicitationUrlExample.js +655 -0
  45. package/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -0
  46. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +26 -3
  47. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  48. package/dist/cjs/examples/server/mcpServerOutputSchema.js +34 -11
  49. package/dist/cjs/examples/server/mcpServerOutputSchema.js.map +1 -1
  50. package/dist/cjs/examples/server/simpleSseServer.js +26 -3
  51. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  52. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +27 -4
  53. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  54. package/dist/cjs/examples/server/simpleStreamableHttp.js +34 -10
  55. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  56. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +26 -3
  57. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  58. package/dist/cjs/examples/server/ssePollingExample.d.ts +2 -0
  59. package/dist/cjs/examples/server/ssePollingExample.d.ts.map +1 -0
  60. package/dist/cjs/examples/server/ssePollingExample.js +116 -0
  61. package/dist/cjs/examples/server/ssePollingExample.js.map +1 -0
  62. package/dist/cjs/examples/server/toolWithSampleServer.js +30 -8
  63. package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -1
  64. package/dist/cjs/server/auth/handlers/authorize.js +34 -11
  65. package/dist/cjs/server/auth/handlers/authorize.js.map +1 -1
  66. package/dist/cjs/server/auth/handlers/token.js +35 -12
  67. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  68. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  69. package/dist/cjs/server/auth/middleware/bearerAuth.js +13 -8
  70. package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  71. package/dist/cjs/server/auth/middleware/clientAuth.js +27 -4
  72. package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
  73. package/dist/cjs/server/auth/router.js +1 -1
  74. package/dist/cjs/server/auth/router.js.map +1 -1
  75. package/dist/cjs/server/completable.d.ts +30 -16
  76. package/dist/cjs/server/completable.d.ts.map +1 -1
  77. package/dist/cjs/server/completable.js +38 -55
  78. package/dist/cjs/server/completable.js.map +1 -1
  79. package/dist/cjs/server/index.d.ts +176 -50
  80. package/dist/cjs/server/index.d.ts.map +1 -1
  81. package/dist/cjs/server/index.js +99 -13
  82. package/dist/cjs/server/index.js.map +1 -1
  83. package/dist/cjs/server/mcp.d.ts +14 -16
  84. package/dist/cjs/server/mcp.d.ts.map +1 -1
  85. package/dist/cjs/server/mcp.js +83 -40
  86. package/dist/cjs/server/mcp.js.map +1 -1
  87. package/dist/cjs/server/streamableHttp.d.ts +27 -0
  88. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  89. package/dist/cjs/server/streamableHttp.js +70 -5
  90. package/dist/cjs/server/streamableHttp.js.map +1 -1
  91. package/dist/cjs/server/zod-compat.d.ts +82 -0
  92. package/dist/cjs/server/zod-compat.d.ts.map +1 -0
  93. package/dist/cjs/server/zod-compat.js +252 -0
  94. package/dist/cjs/server/zod-compat.js.map +1 -0
  95. package/dist/cjs/server/zod-json-schema-compat.d.ts +12 -0
  96. package/dist/cjs/server/zod-json-schema-compat.d.ts.map +1 -0
  97. package/dist/cjs/server/zod-json-schema-compat.js +80 -0
  98. package/dist/cjs/server/zod-json-schema-compat.js.map +1 -0
  99. package/dist/cjs/shared/auth.d.ts +116 -502
  100. package/dist/cjs/shared/auth.d.ts.map +1 -1
  101. package/dist/cjs/shared/auth.js +133 -112
  102. package/dist/cjs/shared/auth.js.map +1 -1
  103. package/dist/cjs/shared/protocol.d.ts +5 -9
  104. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  105. package/dist/cjs/shared/protocol.js +24 -10
  106. package/dist/cjs/shared/protocol.js.map +1 -1
  107. package/dist/cjs/shared/transport.d.ts +14 -0
  108. package/dist/cjs/shared/transport.d.ts.map +1 -1
  109. package/dist/cjs/shared/transport.js +40 -0
  110. package/dist/cjs/shared/transport.js.map +1 -1
  111. package/dist/cjs/shared/zodTestMatrix.d.ts +16 -0
  112. package/dist/cjs/shared/zodTestMatrix.d.ts.map +1 -0
  113. package/dist/cjs/shared/zodTestMatrix.js +43 -0
  114. package/dist/cjs/shared/zodTestMatrix.js.map +1 -0
  115. package/dist/cjs/spec.types.d.ts +393 -70
  116. package/dist/cjs/spec.types.d.ts.map +1 -1
  117. package/dist/cjs/spec.types.js +5 -7
  118. package/dist/cjs/spec.types.js.map +1 -1
  119. package/dist/cjs/types.d.ts +3580 -23866
  120. package/dist/cjs/types.d.ts.map +1 -1
  121. package/dist/cjs/types.js +574 -340
  122. package/dist/cjs/types.js.map +1 -1
  123. package/dist/cjs/validation/cfworker-provider.d.ts +0 -1
  124. package/dist/cjs/validation/cfworker-provider.d.ts.map +1 -1
  125. package/dist/cjs/validation/cfworker-provider.js +0 -1
  126. package/dist/cjs/validation/cfworker-provider.js.map +1 -1
  127. package/dist/esm/client/auth.d.ts +11 -1
  128. package/dist/esm/client/auth.d.ts.map +1 -1
  129. package/dist/esm/client/auth.js +71 -20
  130. package/dist/esm/client/auth.js.map +1 -1
  131. package/dist/esm/client/index.d.ts +122 -662
  132. package/dist/esm/client/index.d.ts.map +1 -1
  133. package/dist/esm/client/index.js +71 -15
  134. package/dist/esm/client/index.js.map +1 -1
  135. package/dist/esm/client/sse.d.ts +1 -0
  136. package/dist/esm/client/sse.d.ts.map +1 -1
  137. package/dist/esm/client/sse.js +5 -3
  138. package/dist/esm/client/sse.js.map +1 -1
  139. package/dist/esm/client/streamableHttp.d.ts +14 -2
  140. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  141. package/dist/esm/client/streamableHttp.js +79 -19
  142. package/dist/esm/client/streamableHttp.js.map +1 -1
  143. package/dist/esm/examples/client/elicitationUrlExample.d.ts +2 -0
  144. package/dist/esm/examples/client/elicitationUrlExample.d.ts.map +1 -0
  145. package/dist/esm/examples/client/elicitationUrlExample.js +691 -0
  146. package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -0
  147. package/dist/esm/examples/client/simpleOAuthClient.js +12 -51
  148. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  149. package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts +26 -0
  150. package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
  151. package/dist/esm/examples/client/simpleOAuthClientProvider.js +47 -0
  152. package/dist/esm/examples/client/simpleOAuthClientProvider.js.map +1 -0
  153. package/dist/esm/examples/client/simpleStreamableHttp.js +11 -6
  154. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  155. package/dist/esm/examples/client/ssePollingClient.d.ts +2 -0
  156. package/dist/esm/examples/client/ssePollingClient.d.ts.map +1 -0
  157. package/dist/esm/examples/client/ssePollingClient.js +93 -0
  158. package/dist/esm/examples/client/ssePollingClient.js.map +1 -0
  159. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
  160. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  161. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +16 -0
  162. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  163. package/dist/esm/examples/server/elicitationFormExample.d.ts +2 -0
  164. package/dist/esm/examples/server/elicitationFormExample.d.ts.map +1 -0
  165. package/dist/esm/examples/server/{elicitationExample.js → elicitationFormExample.js} +14 -8
  166. package/dist/esm/examples/server/elicitationFormExample.js.map +1 -0
  167. package/dist/esm/examples/server/elicitationUrlExample.d.ts +2 -0
  168. package/dist/esm/examples/server/elicitationUrlExample.d.ts.map +1 -0
  169. package/dist/esm/examples/server/elicitationUrlExample.js +650 -0
  170. package/dist/esm/examples/server/elicitationUrlExample.js.map +1 -0
  171. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +1 -1
  172. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  173. package/dist/esm/examples/server/mcpServerOutputSchema.js +1 -1
  174. package/dist/esm/examples/server/mcpServerOutputSchema.js.map +1 -1
  175. package/dist/esm/examples/server/simpleSseServer.js +1 -1
  176. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  177. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +1 -1
  178. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  179. package/dist/esm/examples/server/simpleStreamableHttp.js +4 -3
  180. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  181. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +1 -1
  182. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  183. package/dist/esm/examples/server/ssePollingExample.d.ts +2 -0
  184. package/dist/esm/examples/server/ssePollingExample.d.ts.map +1 -0
  185. package/dist/esm/examples/server/ssePollingExample.js +111 -0
  186. package/dist/esm/examples/server/ssePollingExample.js.map +1 -0
  187. package/dist/esm/examples/server/toolWithSampleServer.js +6 -7
  188. package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -1
  189. package/dist/esm/server/auth/handlers/authorize.js +1 -1
  190. package/dist/esm/server/auth/handlers/authorize.js.map +1 -1
  191. package/dist/esm/server/auth/handlers/token.js +1 -1
  192. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  193. package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  194. package/dist/esm/server/auth/middleware/bearerAuth.js +13 -8
  195. package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  196. package/dist/esm/server/auth/middleware/clientAuth.js +1 -1
  197. package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
  198. package/dist/esm/server/auth/router.js +1 -1
  199. package/dist/esm/server/auth/router.js.map +1 -1
  200. package/dist/esm/server/completable.d.ts +30 -16
  201. package/dist/esm/server/completable.d.ts.map +1 -1
  202. package/dist/esm/server/completable.js +34 -53
  203. package/dist/esm/server/completable.js.map +1 -1
  204. package/dist/esm/server/index.d.ts +176 -50
  205. package/dist/esm/server/index.d.ts.map +1 -1
  206. package/dist/esm/server/index.js +99 -13
  207. package/dist/esm/server/index.js.map +1 -1
  208. package/dist/esm/server/mcp.d.ts +14 -16
  209. package/dist/esm/server/mcp.d.ts.map +1 -1
  210. package/dist/esm/server/mcp.js +84 -41
  211. package/dist/esm/server/mcp.js.map +1 -1
  212. package/dist/esm/server/streamableHttp.d.ts +27 -0
  213. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  214. package/dist/esm/server/streamableHttp.js +70 -5
  215. package/dist/esm/server/streamableHttp.js.map +1 -1
  216. package/dist/esm/server/zod-compat.d.ts +82 -0
  217. package/dist/esm/server/zod-compat.d.ts.map +1 -0
  218. package/dist/esm/server/zod-compat.js +217 -0
  219. package/dist/esm/server/zod-compat.js.map +1 -0
  220. package/dist/esm/server/zod-json-schema-compat.d.ts +12 -0
  221. package/dist/esm/server/zod-json-schema-compat.d.ts.map +1 -0
  222. package/dist/esm/server/zod-json-schema-compat.js +52 -0
  223. package/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  224. package/dist/esm/shared/auth.d.ts +116 -502
  225. package/dist/esm/shared/auth.d.ts.map +1 -1
  226. package/dist/esm/shared/auth.js +17 -19
  227. package/dist/esm/shared/auth.js.map +1 -1
  228. package/dist/esm/shared/protocol.d.ts +5 -9
  229. package/dist/esm/shared/protocol.d.ts.map +1 -1
  230. package/dist/esm/shared/protocol.js +24 -10
  231. package/dist/esm/shared/protocol.js.map +1 -1
  232. package/dist/esm/shared/transport.d.ts +14 -0
  233. package/dist/esm/shared/transport.d.ts.map +1 -1
  234. package/dist/esm/shared/transport.js +38 -1
  235. package/dist/esm/shared/transport.js.map +1 -1
  236. package/dist/esm/shared/zodTestMatrix.d.ts +16 -0
  237. package/dist/esm/shared/zodTestMatrix.d.ts.map +1 -0
  238. package/dist/esm/shared/zodTestMatrix.js +17 -0
  239. package/dist/esm/shared/zodTestMatrix.js.map +1 -0
  240. package/dist/esm/spec.types.d.ts +393 -70
  241. package/dist/esm/spec.types.d.ts.map +1 -1
  242. package/dist/esm/spec.types.js +4 -6
  243. package/dist/esm/spec.types.js.map +1 -1
  244. package/dist/esm/types.d.ts +3580 -23866
  245. package/dist/esm/types.d.ts.map +1 -1
  246. package/dist/esm/types.js +282 -72
  247. package/dist/esm/types.js.map +1 -1
  248. package/dist/esm/validation/cfworker-provider.d.ts +0 -1
  249. package/dist/esm/validation/cfworker-provider.d.ts.map +1 -1
  250. package/dist/esm/validation/cfworker-provider.js +0 -1
  251. package/dist/esm/validation/cfworker-provider.js.map +1 -1
  252. package/package.json +13 -12
  253. package/dist/cjs/examples/server/elicitationExample.d.ts +0 -2
  254. package/dist/cjs/examples/server/elicitationExample.d.ts.map +0 -1
  255. package/dist/cjs/examples/server/elicitationExample.js.map +0 -1
  256. package/dist/esm/examples/server/elicitationExample.d.ts +0 -2
  257. package/dist/esm/examples/server/elicitationExample.d.ts.map +0 -1
  258. package/dist/esm/examples/server/elicitationExample.js.map +0 -1
package/README.md CHANGED
@@ -47,9 +47,11 @@ The Model Context Protocol allows applications to provide context for LLMs in a
47
47
  ## Installation
48
48
 
49
49
  ```bash
50
- npm install @modelcontextprotocol/sdk
50
+ npm install @modelcontextprotocol/sdk zod
51
51
  ```
52
52
 
53
+ This SDK has a **required peer dependency** on `zod` for schema validation. The SDK internally imports from `zod/v4`, but maintains backwards compatibility with projects using Zod v3.25 or later. You can use either API in your code by importing from `zod/v3` or `zod/v4`:
54
+
53
55
  ## Quick Start
54
56
 
55
57
  Let's create a simple MCP server that exposes a calculator tool and some data. Save the following as `server.ts`:
@@ -58,7 +60,7 @@ Let's create a simple MCP server that exposes a calculator tool and some data. S
58
60
  import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
59
61
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
60
62
  import express from 'express';
61
- import { z } from 'zod';
63
+ import * as z from 'zod/v4';
62
64
 
63
65
  // Create an MCP server
64
66
  const server = new McpServer({
@@ -130,7 +132,7 @@ app.listen(port, () => {
130
132
  });
131
133
  ```
132
134
 
133
- Install the deps with `npm install @modelcontextprotocol/sdk express zod@3`, and run with `npx -y tsx server.ts`.
135
+ Install the deps with `npm install @modelcontextprotocol/sdk express zod`, and run with `npx -y tsx server.ts`.
134
136
 
135
137
  You can connect to it using any MCP client that supports streamable http, such as:
136
138
 
@@ -477,7 +479,7 @@ MCP servers can request LLM completions from connected clients that support samp
477
479
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
478
480
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
479
481
  import express from 'express';
480
- import { z } from 'zod';
482
+ import * as z from 'zod/v4';
481
483
 
482
484
  const mcpServer = new McpServer({
483
485
  name: 'tools-with-sample-server',
@@ -561,7 +563,7 @@ For most use cases where session management isn't needed:
561
563
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
562
564
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
563
565
  import express from 'express';
564
- import { z } from 'zod';
566
+ import * as z from 'zod/v4';
565
567
 
566
568
  const app = express();
567
569
  app.use(express.json());
@@ -796,7 +798,7 @@ A simple server demonstrating resources, tools, and prompts:
796
798
 
797
799
  ```typescript
798
800
  import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
799
- import { z } from 'zod';
801
+ import * as z from 'zod/v4';
800
802
 
801
803
  const server = new McpServer({
802
804
  name: 'echo-server',
@@ -866,7 +868,7 @@ A more complex example showing database integration:
866
868
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
867
869
  import sqlite3 from 'sqlite3';
868
870
  import { promisify } from 'util';
869
- import { z } from 'zod';
871
+ import * as z from 'zod/v4';
870
872
 
871
873
  const server = new McpServer({
872
874
  name: 'sqlite-explorer',
@@ -961,7 +963,7 @@ If you want to offer an initial set of tools/prompts/resources, but later add ad
961
963
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
962
964
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
963
965
  import express from 'express';
964
- import { z } from 'zod';
966
+ import * as z from 'zod/v4';
965
967
 
966
968
  const server = new McpServer({
967
969
  name: 'Dynamic Example',
@@ -1175,7 +1177,7 @@ await server.connect(transport);
1175
1177
 
1176
1178
  ### Eliciting User Input
1177
1179
 
1178
- MCP servers can request additional information from users through the elicitation feature. This is useful for interactive workflows where the server needs user input or confirmation:
1180
+ MCP servers can request non-sensitive information from users through the form elicitation capability. This is useful for interactive workflows where the server needs user input or confirmation:
1179
1181
 
1180
1182
  ```typescript
1181
1183
  // Server-side: Restaurant booking tool that asks for alternatives
@@ -1208,6 +1210,7 @@ server.registerTool(
1208
1210
  if (!available) {
1209
1211
  // Ask user if they want to try alternative dates
1210
1212
  const result = await server.server.elicitInput({
1213
+ mode: 'form',
1211
1214
  message: `No tables available at ${restaurant} on ${date}. Would you like to check alternative dates?`,
1212
1215
  requestedSchema: {
1213
1216
  type: 'object',
@@ -1274,7 +1277,7 @@ server.registerTool(
1274
1277
  );
1275
1278
  ```
1276
1279
 
1277
- Client-side: Handle elicitation requests
1280
+ On the client side, handle form elicitation requests:
1278
1281
 
1279
1282
  ```typescript
1280
1283
  // This is a placeholder - implement based on your UI framework
@@ -1299,7 +1302,85 @@ client.setRequestHandler(ElicitRequestSchema, async request => {
1299
1302
  });
1300
1303
  ```
1301
1304
 
1302
- **Note**: Elicitation requires client support. Clients must declare the `elicitation` capability during initialization.
1305
+ When calling `server.elicitInput`, prefer to explicitly set `mode: 'form'` for new code. Omitting the mode continues to work for backwards compatibility and defaults to form elicitation.
1306
+
1307
+ Elicitation is a client capability. Clients must declare the `elicitation` capability during initialization:
1308
+
1309
+ ```typescript
1310
+ const client = new Client(
1311
+ {
1312
+ name: 'example-client',
1313
+ version: '1.0.0'
1314
+ },
1315
+ {
1316
+ capabilities: {
1317
+ elicitation: {
1318
+ form: {}
1319
+ }
1320
+ }
1321
+ }
1322
+ );
1323
+ ```
1324
+
1325
+ **Note**: Form elicitation **must** only be used to gather non-sensitive information. For sensitive information such as API keys or secrets, use URL elicitation instead.
1326
+
1327
+ ### Eliciting URL Actions
1328
+
1329
+ MCP servers can prompt the user to perform a URL-based action through URL elicitation. This is useful for securely gathering sensitive information such as API keys or secrets, or for redirecting users to secure web-based flows.
1330
+
1331
+ ```typescript
1332
+ // Server-side: Prompt the user to navigate to a URL
1333
+ const result = await server.server.elicitInput({
1334
+ mode: 'url',
1335
+ message: 'Please enter your API key',
1336
+ elicitationId: '550e8400-e29b-41d4-a716-446655440000',
1337
+ url: 'http://localhost:3000/api-key'
1338
+ });
1339
+
1340
+ // Alternative, return an error from within a tool:
1341
+ throw new UrlElicitationRequiredError([
1342
+ {
1343
+ mode: 'url',
1344
+ message: 'This tool requires a payment confirmation. Open the link to confirm payment!',
1345
+ url: `http://localhost:${MCP_PORT}/confirm-payment?session=${sessionId}&elicitation=${elicitationId}&cartId=${encodeURIComponent(cartId)}`,
1346
+ elicitationId: '550e8400-e29b-41d4-a716-446655440000'
1347
+ }
1348
+ ]);
1349
+ ```
1350
+
1351
+ On the client side, handle URL elicitation requests:
1352
+
1353
+ ```typescript
1354
+ client.setRequestHandler(ElicitRequestSchema, async request => {
1355
+ if (request.params.mode !== 'url') {
1356
+ throw new McpError(ErrorCode.InvalidParams, `Unsupported elicitation mode: ${request.params.mode}`);
1357
+ }
1358
+
1359
+ // At a minimum, implement a UI that:
1360
+ // - Display the full URL and server reason to prevent phishing
1361
+ // - Explicitly ask the user for consent, with clear decline/cancel options
1362
+ // - Open the URL in the system (not embedded) browser
1363
+ // Optionally, listen for a `nofifications/elicitation/complete` message from the server
1364
+ });
1365
+ ```
1366
+
1367
+ Elicitation is a client capability. Clients must declare the `elicitation` capability during initialization:
1368
+
1369
+ ```typescript
1370
+ const client = new Client(
1371
+ {
1372
+ name: 'example-client',
1373
+ version: '1.0.0'
1374
+ },
1375
+ {
1376
+ capabilities: {
1377
+ elicitation: {
1378
+ url: {}
1379
+ }
1380
+ }
1381
+ }
1382
+ );
1383
+ ```
1303
1384
 
1304
1385
  ### Writing MCP Clients
1305
1386
 
@@ -13,6 +13,10 @@ export interface OAuthClientProvider {
13
13
  * The URL to redirect the user agent to after authorization.
14
14
  */
15
15
  get redirectUrl(): string | URL;
16
+ /**
17
+ * External URL the server should use to fetch client metadata document
18
+ */
19
+ clientMetadataUrl?: string;
16
20
  /**
17
21
  * Metadata about this OAuth client.
18
22
  */
@@ -137,13 +141,19 @@ export declare function auth(provider: OAuthClientProvider, options: {
137
141
  resourceMetadataUrl?: URL;
138
142
  fetchFn?: FetchLike;
139
143
  }): Promise<AuthResult>;
144
+ /**
145
+ * SEP-991: URL-based Client IDs
146
+ * Validate that the client_id is a valid URL with https scheme
147
+ */
148
+ export declare function isHttpsUrl(value?: string): boolean;
140
149
  export declare function selectResourceURL(serverUrl: string | URL, provider: OAuthClientProvider, resourceMetadata?: OAuthProtectedResourceMetadata): Promise<URL | undefined>;
141
150
  /**
142
- * Extract resource_metadata and scope from WWW-Authenticate header.
151
+ * Extract resource_metadata, scope, and error from WWW-Authenticate header.
143
152
  */
144
153
  export declare function extractWWWAuthenticateParams(res: Response): {
145
154
  resourceMetadataUrl?: URL;
146
155
  scope?: string;
156
+ error?: string;
147
157
  };
148
158
  /**
149
159
  * Extract resource_metadata from response header.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.UnauthorizedError = void 0;
7
7
  exports.selectClientAuthMethod = selectClientAuthMethod;
8
8
  exports.parseErrorResponse = parseErrorResponse;
9
9
  exports.auth = auth;
10
+ exports.isHttpsUrl = isHttpsUrl;
10
11
  exports.selectResourceURL = selectResourceURL;
11
12
  exports.extractWWWAuthenticateParams = extractWWWAuthenticateParams;
12
13
  exports.extractResourceMetadataUrl = extractResourceMetadataUrl;
@@ -180,6 +181,7 @@ async function auth(provider, options) {
180
181
  }
181
182
  }
182
183
  async function authInternal(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl, fetchFn }) {
184
+ var _a, _b;
183
185
  let resourceMetadata;
184
186
  let authorizationServerUrl;
185
187
  try {
@@ -188,7 +190,7 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
188
190
  authorizationServerUrl = resourceMetadata.authorization_servers[0];
189
191
  }
190
192
  }
191
- catch (_a) {
193
+ catch (_c) {
192
194
  // Ignore errors and fall back to /.well-known/oauth-authorization-server
193
195
  }
194
196
  /**
@@ -208,16 +210,32 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
208
210
  if (authorizationCode !== undefined) {
209
211
  throw new Error('Existing OAuth client information is required when exchanging an authorization code');
210
212
  }
211
- if (!provider.saveClientInformation) {
212
- throw new Error('OAuth client information must be saveable for dynamic registration');
213
+ const supportsUrlBasedClientId = (metadata === null || metadata === void 0 ? void 0 : metadata.client_id_metadata_document_supported) === true;
214
+ const clientMetadataUrl = provider.clientMetadataUrl;
215
+ if (clientMetadataUrl && !isHttpsUrl(clientMetadataUrl)) {
216
+ throw new errors_js_1.InvalidClientMetadataError(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${clientMetadataUrl}`);
217
+ }
218
+ const shouldUseUrlBasedClientId = supportsUrlBasedClientId && clientMetadataUrl;
219
+ if (shouldUseUrlBasedClientId) {
220
+ // SEP-991: URL-based Client IDs
221
+ clientInformation = {
222
+ client_id: clientMetadataUrl
223
+ };
224
+ await ((_a = provider.saveClientInformation) === null || _a === void 0 ? void 0 : _a.call(provider, clientInformation));
225
+ }
226
+ else {
227
+ // Fallback to dynamic registration
228
+ if (!provider.saveClientInformation) {
229
+ throw new Error('OAuth client information must be saveable for dynamic registration');
230
+ }
231
+ const fullInformation = await registerClient(authorizationServerUrl, {
232
+ metadata,
233
+ clientMetadata: provider.clientMetadata,
234
+ fetchFn
235
+ });
236
+ await provider.saveClientInformation(fullInformation);
237
+ clientInformation = fullInformation;
213
238
  }
214
- const fullInformation = await registerClient(authorizationServerUrl, {
215
- metadata,
216
- clientMetadata: provider.clientMetadata,
217
- fetchFn
218
- });
219
- await provider.saveClientInformation(fullInformation);
220
- clientInformation = fullInformation;
221
239
  }
222
240
  // Exchange authorization code for tokens
223
241
  if (authorizationCode !== undefined) {
@@ -269,13 +287,28 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
269
287
  clientInformation,
270
288
  state,
271
289
  redirectUrl: provider.redirectUrl,
272
- scope: scope || provider.clientMetadata.scope,
290
+ scope: scope || ((_b = resourceMetadata === null || resourceMetadata === void 0 ? void 0 : resourceMetadata.scopes_supported) === null || _b === void 0 ? void 0 : _b.join(' ')) || provider.clientMetadata.scope,
273
291
  resource
274
292
  });
275
293
  await provider.saveCodeVerifier(codeVerifier);
276
294
  await provider.redirectToAuthorization(authorizationUrl);
277
295
  return 'REDIRECT';
278
296
  }
297
+ /**
298
+ * SEP-991: URL-based Client IDs
299
+ * Validate that the client_id is a valid URL with https scheme
300
+ */
301
+ function isHttpsUrl(value) {
302
+ if (!value)
303
+ return false;
304
+ try {
305
+ const url = new URL(value);
306
+ return url.protocol === 'https:' && url.pathname !== '/';
307
+ }
308
+ catch (_a) {
309
+ return false;
310
+ }
311
+ }
279
312
  async function selectResourceURL(serverUrl, provider, resourceMetadata) {
280
313
  const defaultResource = (0, auth_utils_js_1.resourceUrlFromServerUrl)(serverUrl);
281
314
  // If provider has custom validation, delegate to it
@@ -294,7 +327,7 @@ async function selectResourceURL(serverUrl, provider, resourceMetadata) {
294
327
  return new URL(resourceMetadata.resource);
295
328
  }
296
329
  /**
297
- * Extract resource_metadata and scope from WWW-Authenticate header.
330
+ * Extract resource_metadata, scope, and error from WWW-Authenticate header.
298
331
  */
299
332
  function extractWWWAuthenticateParams(res) {
300
333
  const authenticateHeader = res.headers.get('WWW-Authenticate');
@@ -305,25 +338,44 @@ function extractWWWAuthenticateParams(res) {
305
338
  if (type.toLowerCase() !== 'bearer' || !scheme) {
306
339
  return {};
307
340
  }
308
- const resourceMetadataRegex = /resource_metadata="([^"]*)"/;
309
- const resourceMetadataMatch = resourceMetadataRegex.exec(authenticateHeader);
310
- const scopeRegex = /scope="([^"]*)"/;
311
- const scopeMatch = scopeRegex.exec(authenticateHeader);
341
+ const resourceMetadataMatch = extractFieldFromWwwAuth(res, 'resource_metadata') || undefined;
312
342
  let resourceMetadataUrl;
313
343
  if (resourceMetadataMatch) {
314
344
  try {
315
- resourceMetadataUrl = new URL(resourceMetadataMatch[1]);
345
+ resourceMetadataUrl = new URL(resourceMetadataMatch);
316
346
  }
317
347
  catch (_a) {
318
348
  // Ignore invalid URL
319
349
  }
320
350
  }
321
- const scope = (scopeMatch === null || scopeMatch === void 0 ? void 0 : scopeMatch[1]) || undefined;
351
+ const scope = extractFieldFromWwwAuth(res, 'scope') || undefined;
352
+ const error = extractFieldFromWwwAuth(res, 'error') || undefined;
322
353
  return {
323
354
  resourceMetadataUrl,
324
- scope
355
+ scope,
356
+ error
325
357
  };
326
358
  }
359
+ /**
360
+ * Extracts a specific field's value from the WWW-Authenticate header string.
361
+ *
362
+ * @param response The HTTP response object containing the headers.
363
+ * @param fieldName The name of the field to extract (e.g., "realm", "nonce").
364
+ * @returns The field value
365
+ */
366
+ function extractFieldFromWwwAuth(response, fieldName) {
367
+ const wwwAuthHeader = response.headers.get('WWW-Authenticate');
368
+ if (!wwwAuthHeader) {
369
+ return null;
370
+ }
371
+ const pattern = new RegExp(`${fieldName}=(?:"([^"]+)"|([^\\s,]+))`);
372
+ const match = wwwAuthHeader.match(pattern);
373
+ if (match) {
374
+ // Pattern matches: field_name="value" or field_name=value (unquoted)
375
+ return match[1] || match[2];
376
+ }
377
+ return null;
378
+ }
327
379
  /**
328
380
  * Extract resource_metadata from response header.
329
381
  * @deprecated Use `extractWWWAuthenticateParams` instead.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}