@modelcontextprotocol/sdk 1.18.1 → 1.19.1

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 (332) hide show
  1. package/README.md +766 -738
  2. package/dist/cjs/cli.js +35 -37
  3. package/dist/cjs/cli.js.map +1 -1
  4. package/dist/cjs/client/auth.d.ts +12 -12
  5. package/dist/cjs/client/auth.d.ts.map +1 -1
  6. package/dist/cjs/client/auth.js +76 -83
  7. package/dist/cjs/client/auth.js.map +1 -1
  8. package/dist/cjs/client/index.d.ts +186 -123
  9. package/dist/cjs/client/index.d.ts.map +1 -1
  10. package/dist/cjs/client/index.js +40 -41
  11. package/dist/cjs/client/index.js.map +1 -1
  12. package/dist/cjs/client/middleware.d.ts +2 -2
  13. package/dist/cjs/client/middleware.d.ts.map +1 -1
  14. package/dist/cjs/client/middleware.js +22 -27
  15. package/dist/cjs/client/middleware.js.map +1 -1
  16. package/dist/cjs/client/sse.d.ts +4 -4
  17. package/dist/cjs/client/sse.d.ts.map +1 -1
  18. package/dist/cjs/client/sse.js +34 -21
  19. package/dist/cjs/client/sse.js.map +1 -1
  20. package/dist/cjs/client/stdio.d.ts +4 -4
  21. package/dist/cjs/client/stdio.d.ts.map +1 -1
  22. package/dist/cjs/client/stdio.js +32 -32
  23. package/dist/cjs/client/stdio.js.map +1 -1
  24. package/dist/cjs/client/streamableHttp.d.ts +7 -6
  25. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  26. package/dist/cjs/client/streamableHttp.js +55 -38
  27. package/dist/cjs/client/streamableHttp.js.map +1 -1
  28. package/dist/cjs/client/websocket.d.ts +2 -2
  29. package/dist/cjs/client/websocket.d.ts.map +1 -1
  30. package/dist/cjs/client/websocket.js +5 -7
  31. package/dist/cjs/client/websocket.js.map +1 -1
  32. package/dist/cjs/examples/client/multipleClientsParallel.js +2 -2
  33. package/dist/cjs/examples/client/multipleClientsParallel.js.map +1 -1
  34. package/dist/cjs/examples/client/parallelToolCallsClient.js +6 -5
  35. package/dist/cjs/examples/client/parallelToolCallsClient.js.map +1 -1
  36. package/dist/cjs/examples/client/simpleOAuthClient.js +15 -13
  37. package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
  38. package/dist/cjs/examples/client/simpleStreamableHttp.js +15 -11
  39. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  40. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js +2 -2
  41. package/dist/cjs/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -1
  42. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +1 -1
  43. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  44. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +22 -16
  45. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  46. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +18 -18
  47. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  48. package/dist/cjs/examples/server/mcpServerOutputSchema.js +19 -17
  49. package/dist/cjs/examples/server/mcpServerOutputSchema.js.map +1 -1
  50. package/dist/cjs/examples/server/simpleSseServer.js +8 -8
  51. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  52. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +22 -22
  53. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  54. package/dist/cjs/examples/server/simpleStreamableHttp.js +78 -78
  55. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  56. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +18 -18
  57. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  58. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +8 -8
  59. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  60. package/dist/cjs/examples/server/toolWithSampleServer.js +19 -19
  61. package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -1
  62. package/dist/cjs/examples/shared/inMemoryEventStore.d.ts.map +1 -1
  63. package/dist/cjs/examples/shared/inMemoryEventStore.js.map +1 -1
  64. package/dist/cjs/inMemory.d.ts +3 -3
  65. package/dist/cjs/inMemory.d.ts.map +1 -1
  66. package/dist/cjs/inMemory.js +1 -1
  67. package/dist/cjs/inMemory.js.map +1 -1
  68. package/dist/cjs/server/auth/clients.d.ts +2 -2
  69. package/dist/cjs/server/auth/clients.d.ts.map +1 -1
  70. package/dist/cjs/server/auth/errors.d.ts +1 -1
  71. package/dist/cjs/server/auth/errors.d.ts.map +1 -1
  72. package/dist/cjs/server/auth/errors.js +17 -17
  73. package/dist/cjs/server/auth/errors.js.map +1 -1
  74. package/dist/cjs/server/auth/handlers/authorize.d.ts +3 -3
  75. package/dist/cjs/server/auth/handlers/authorize.d.ts.map +1 -1
  76. package/dist/cjs/server/auth/handlers/authorize.js +21 -18
  77. package/dist/cjs/server/auth/handlers/authorize.js.map +1 -1
  78. package/dist/cjs/server/auth/handlers/metadata.d.ts +2 -2
  79. package/dist/cjs/server/auth/handlers/metadata.js +1 -1
  80. package/dist/cjs/server/auth/handlers/metadata.js.map +1 -1
  81. package/dist/cjs/server/auth/handlers/register.d.ts +4 -4
  82. package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
  83. package/dist/cjs/server/auth/handlers/register.js +7 -9
  84. package/dist/cjs/server/auth/handlers/register.js.map +1 -1
  85. package/dist/cjs/server/auth/handlers/revoke.d.ts +4 -4
  86. package/dist/cjs/server/auth/handlers/revoke.d.ts.map +1 -1
  87. package/dist/cjs/server/auth/handlers/revoke.js +9 -9
  88. package/dist/cjs/server/auth/handlers/revoke.js.map +1 -1
  89. package/dist/cjs/server/auth/handlers/token.d.ts +3 -3
  90. package/dist/cjs/server/auth/handlers/token.d.ts.map +1 -1
  91. package/dist/cjs/server/auth/handlers/token.js +14 -14
  92. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  93. package/dist/cjs/server/auth/middleware/allowedMethods.d.ts +1 -1
  94. package/dist/cjs/server/auth/middleware/allowedMethods.d.ts.map +1 -1
  95. package/dist/cjs/server/auth/middleware/allowedMethods.js +1 -3
  96. package/dist/cjs/server/auth/middleware/allowedMethods.js.map +1 -1
  97. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts +4 -4
  98. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  99. package/dist/cjs/server/auth/middleware/bearerAuth.js +7 -7
  100. package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  101. package/dist/cjs/server/auth/middleware/clientAuth.d.ts +4 -4
  102. package/dist/cjs/server/auth/middleware/clientAuth.d.ts.map +1 -1
  103. package/dist/cjs/server/auth/middleware/clientAuth.js +6 -6
  104. package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
  105. package/dist/cjs/server/auth/provider.d.ts +4 -4
  106. package/dist/cjs/server/auth/provider.d.ts.map +1 -1
  107. package/dist/cjs/server/auth/providers/proxyProvider.d.ts +10 -10
  108. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  109. package/dist/cjs/server/auth/providers/proxyProvider.js +34 -34
  110. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  111. package/dist/cjs/server/auth/router.d.ts +18 -13
  112. package/dist/cjs/server/auth/router.d.ts.map +1 -1
  113. package/dist/cjs/server/auth/router.js +27 -24
  114. package/dist/cjs/server/auth/router.js.map +1 -1
  115. package/dist/cjs/server/auth/types.d.ts +1 -1
  116. package/dist/cjs/server/auth/types.d.ts.map +1 -1
  117. package/dist/cjs/server/completable.d.ts +5 -5
  118. package/dist/cjs/server/completable.d.ts.map +1 -1
  119. package/dist/cjs/server/completable.js +5 -5
  120. package/dist/cjs/server/completable.js.map +1 -1
  121. package/dist/cjs/server/index.d.ts +9 -9
  122. package/dist/cjs/server/index.d.ts.map +1 -1
  123. package/dist/cjs/server/index.js +38 -42
  124. package/dist/cjs/server/index.js.map +1 -1
  125. package/dist/cjs/server/mcp.d.ts +8 -8
  126. package/dist/cjs/server/mcp.d.ts.map +1 -1
  127. package/dist/cjs/server/mcp.js +87 -82
  128. package/dist/cjs/server/mcp.js.map +1 -1
  129. package/dist/cjs/server/sse.d.ts +4 -4
  130. package/dist/cjs/server/sse.d.ts.map +1 -1
  131. package/dist/cjs/server/sse.js +16 -15
  132. package/dist/cjs/server/sse.js.map +1 -1
  133. package/dist/cjs/server/stdio.d.ts +3 -3
  134. package/dist/cjs/server/stdio.d.ts.map +1 -1
  135. package/dist/cjs/server/stdio.js +7 -7
  136. package/dist/cjs/server/stdio.js.map +1 -1
  137. package/dist/cjs/server/streamableHttp.d.ts +5 -5
  138. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  139. package/dist/cjs/server/streamableHttp.js +63 -64
  140. package/dist/cjs/server/streamableHttp.js.map +1 -1
  141. package/dist/cjs/shared/auth-utils.d.ts.map +1 -1
  142. package/dist/cjs/shared/auth-utils.js +3 -3
  143. package/dist/cjs/shared/auth-utils.js.map +1 -1
  144. package/dist/cjs/shared/auth.d.ts +1 -1
  145. package/dist/cjs/shared/auth.d.ts.map +1 -1
  146. package/dist/cjs/shared/auth.js +42 -46
  147. package/dist/cjs/shared/auth.js.map +1 -1
  148. package/dist/cjs/shared/metadataUtils.d.ts +1 -1
  149. package/dist/cjs/shared/metadataUtils.js.map +1 -1
  150. package/dist/cjs/shared/protocol.d.ts +6 -6
  151. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  152. package/dist/cjs/shared/protocol.js +42 -43
  153. package/dist/cjs/shared/protocol.js.map +1 -1
  154. package/dist/cjs/shared/stdio.d.ts +1 -1
  155. package/dist/cjs/shared/stdio.d.ts.map +1 -1
  156. package/dist/cjs/shared/stdio.js +3 -3
  157. package/dist/cjs/shared/stdio.js.map +1 -1
  158. package/dist/cjs/shared/transport.d.ts +1 -1
  159. package/dist/cjs/shared/transport.d.ts.map +1 -1
  160. package/dist/cjs/shared/uriTemplate.d.ts.map +1 -1
  161. package/dist/cjs/shared/uriTemplate.js +69 -71
  162. package/dist/cjs/shared/uriTemplate.js.map +1 -1
  163. package/dist/cjs/types.d.ts +9650 -4790
  164. package/dist/cjs/types.d.ts.map +1 -1
  165. package/dist/cjs/types.js +199 -234
  166. package/dist/cjs/types.js.map +1 -1
  167. package/dist/esm/cli.js +45 -47
  168. package/dist/esm/cli.js.map +1 -1
  169. package/dist/esm/client/auth.d.ts +12 -12
  170. package/dist/esm/client/auth.d.ts.map +1 -1
  171. package/dist/esm/client/auth.js +82 -89
  172. package/dist/esm/client/auth.js.map +1 -1
  173. package/dist/esm/client/index.d.ts +186 -123
  174. package/dist/esm/client/index.d.ts.map +1 -1
  175. package/dist/esm/client/index.js +43 -44
  176. package/dist/esm/client/index.js.map +1 -1
  177. package/dist/esm/client/middleware.d.ts +2 -2
  178. package/dist/esm/client/middleware.d.ts.map +1 -1
  179. package/dist/esm/client/middleware.js +23 -28
  180. package/dist/esm/client/middleware.js.map +1 -1
  181. package/dist/esm/client/sse.d.ts +4 -4
  182. package/dist/esm/client/sse.d.ts.map +1 -1
  183. package/dist/esm/client/sse.js +37 -24
  184. package/dist/esm/client/sse.js.map +1 -1
  185. package/dist/esm/client/stdio.d.ts +4 -4
  186. package/dist/esm/client/stdio.d.ts.map +1 -1
  187. package/dist/esm/client/stdio.js +36 -36
  188. package/dist/esm/client/stdio.js.map +1 -1
  189. package/dist/esm/client/streamableHttp.d.ts +7 -6
  190. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  191. package/dist/esm/client/streamableHttp.js +58 -41
  192. package/dist/esm/client/streamableHttp.js.map +1 -1
  193. package/dist/esm/client/websocket.d.ts +2 -2
  194. package/dist/esm/client/websocket.d.ts.map +1 -1
  195. package/dist/esm/client/websocket.js +6 -8
  196. package/dist/esm/client/websocket.js.map +1 -1
  197. package/dist/esm/examples/client/multipleClientsParallel.js +3 -3
  198. package/dist/esm/examples/client/multipleClientsParallel.js.map +1 -1
  199. package/dist/esm/examples/client/parallelToolCallsClient.js +7 -6
  200. package/dist/esm/examples/client/parallelToolCallsClient.js.map +1 -1
  201. package/dist/esm/examples/client/simpleOAuthClient.js +15 -13
  202. package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
  203. package/dist/esm/examples/client/simpleStreamableHttp.js +17 -13
  204. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  205. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js +3 -3
  206. package/dist/esm/examples/client/streamableHttpWithSseFallbackClient.js.map +1 -1
  207. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +1 -1
  208. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  209. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +23 -17
  210. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  211. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +18 -18
  212. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  213. package/dist/esm/examples/server/mcpServerOutputSchema.js +22 -20
  214. package/dist/esm/examples/server/mcpServerOutputSchema.js.map +1 -1
  215. package/dist/esm/examples/server/simpleSseServer.js +8 -8
  216. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  217. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +22 -22
  218. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  219. package/dist/esm/examples/server/simpleStreamableHttp.js +78 -78
  220. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  221. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +19 -19
  222. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  223. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +8 -8
  224. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  225. package/dist/esm/examples/server/toolWithSampleServer.js +22 -22
  226. package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -1
  227. package/dist/esm/examples/shared/inMemoryEventStore.d.ts.map +1 -1
  228. package/dist/esm/examples/shared/inMemoryEventStore.js.map +1 -1
  229. package/dist/esm/inMemory.d.ts +3 -3
  230. package/dist/esm/inMemory.d.ts.map +1 -1
  231. package/dist/esm/inMemory.js +1 -1
  232. package/dist/esm/inMemory.js.map +1 -1
  233. package/dist/esm/server/auth/clients.d.ts +2 -2
  234. package/dist/esm/server/auth/clients.d.ts.map +1 -1
  235. package/dist/esm/server/auth/errors.d.ts +1 -1
  236. package/dist/esm/server/auth/errors.d.ts.map +1 -1
  237. package/dist/esm/server/auth/errors.js +17 -17
  238. package/dist/esm/server/auth/errors.js.map +1 -1
  239. package/dist/esm/server/auth/handlers/authorize.d.ts +3 -3
  240. package/dist/esm/server/auth/handlers/authorize.d.ts.map +1 -1
  241. package/dist/esm/server/auth/handlers/authorize.js +26 -23
  242. package/dist/esm/server/auth/handlers/authorize.js.map +1 -1
  243. package/dist/esm/server/auth/handlers/metadata.d.ts +2 -2
  244. package/dist/esm/server/auth/handlers/metadata.js +3 -3
  245. package/dist/esm/server/auth/handlers/metadata.js.map +1 -1
  246. package/dist/esm/server/auth/handlers/register.d.ts +4 -4
  247. package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
  248. package/dist/esm/server/auth/handlers/register.js +12 -14
  249. package/dist/esm/server/auth/handlers/register.js.map +1 -1
  250. package/dist/esm/server/auth/handlers/revoke.d.ts +4 -4
  251. package/dist/esm/server/auth/handlers/revoke.d.ts.map +1 -1
  252. package/dist/esm/server/auth/handlers/revoke.js +16 -16
  253. package/dist/esm/server/auth/handlers/revoke.js.map +1 -1
  254. package/dist/esm/server/auth/handlers/token.d.ts +3 -3
  255. package/dist/esm/server/auth/handlers/token.d.ts.map +1 -1
  256. package/dist/esm/server/auth/handlers/token.js +22 -22
  257. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  258. package/dist/esm/server/auth/middleware/allowedMethods.d.ts +1 -1
  259. package/dist/esm/server/auth/middleware/allowedMethods.d.ts.map +1 -1
  260. package/dist/esm/server/auth/middleware/allowedMethods.js +2 -4
  261. package/dist/esm/server/auth/middleware/allowedMethods.js.map +1 -1
  262. package/dist/esm/server/auth/middleware/bearerAuth.d.ts +4 -4
  263. package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  264. package/dist/esm/server/auth/middleware/bearerAuth.js +8 -8
  265. package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  266. package/dist/esm/server/auth/middleware/clientAuth.d.ts +4 -4
  267. package/dist/esm/server/auth/middleware/clientAuth.d.ts.map +1 -1
  268. package/dist/esm/server/auth/middleware/clientAuth.js +8 -8
  269. package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
  270. package/dist/esm/server/auth/provider.d.ts +4 -4
  271. package/dist/esm/server/auth/provider.d.ts.map +1 -1
  272. package/dist/esm/server/auth/providers/proxyProvider.d.ts +10 -10
  273. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  274. package/dist/esm/server/auth/providers/proxyProvider.js +36 -36
  275. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  276. package/dist/esm/server/auth/router.d.ts +18 -13
  277. package/dist/esm/server/auth/router.d.ts.map +1 -1
  278. package/dist/esm/server/auth/router.js +33 -30
  279. package/dist/esm/server/auth/router.js.map +1 -1
  280. package/dist/esm/server/auth/types.d.ts +1 -1
  281. package/dist/esm/server/auth/types.d.ts.map +1 -1
  282. package/dist/esm/server/completable.d.ts +5 -5
  283. package/dist/esm/server/completable.d.ts.map +1 -1
  284. package/dist/esm/server/completable.js +6 -6
  285. package/dist/esm/server/completable.js.map +1 -1
  286. package/dist/esm/server/index.d.ts +9 -9
  287. package/dist/esm/server/index.d.ts.map +1 -1
  288. package/dist/esm/server/index.js +41 -45
  289. package/dist/esm/server/index.js.map +1 -1
  290. package/dist/esm/server/mcp.d.ts +8 -8
  291. package/dist/esm/server/mcp.d.ts.map +1 -1
  292. package/dist/esm/server/mcp.js +93 -88
  293. package/dist/esm/server/mcp.js.map +1 -1
  294. package/dist/esm/server/sse.d.ts +4 -4
  295. package/dist/esm/server/sse.d.ts.map +1 -1
  296. package/dist/esm/server/sse.js +20 -19
  297. package/dist/esm/server/sse.js.map +1 -1
  298. package/dist/esm/server/stdio.d.ts +3 -3
  299. package/dist/esm/server/stdio.d.ts.map +1 -1
  300. package/dist/esm/server/stdio.js +9 -9
  301. package/dist/esm/server/stdio.js.map +1 -1
  302. package/dist/esm/server/streamableHttp.d.ts +5 -5
  303. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  304. package/dist/esm/server/streamableHttp.js +67 -68
  305. package/dist/esm/server/streamableHttp.js.map +1 -1
  306. package/dist/esm/shared/auth-utils.d.ts.map +1 -1
  307. package/dist/esm/shared/auth-utils.js +3 -3
  308. package/dist/esm/shared/auth-utils.js.map +1 -1
  309. package/dist/esm/shared/auth.d.ts +1 -1
  310. package/dist/esm/shared/auth.d.ts.map +1 -1
  311. package/dist/esm/shared/auth.js +43 -47
  312. package/dist/esm/shared/auth.js.map +1 -1
  313. package/dist/esm/shared/metadataUtils.d.ts +1 -1
  314. package/dist/esm/shared/metadataUtils.js.map +1 -1
  315. package/dist/esm/shared/protocol.d.ts +6 -6
  316. package/dist/esm/shared/protocol.d.ts.map +1 -1
  317. package/dist/esm/shared/protocol.js +43 -44
  318. package/dist/esm/shared/protocol.js.map +1 -1
  319. package/dist/esm/shared/stdio.d.ts +1 -1
  320. package/dist/esm/shared/stdio.d.ts.map +1 -1
  321. package/dist/esm/shared/stdio.js +4 -4
  322. package/dist/esm/shared/stdio.js.map +1 -1
  323. package/dist/esm/shared/transport.d.ts +1 -1
  324. package/dist/esm/shared/transport.d.ts.map +1 -1
  325. package/dist/esm/shared/uriTemplate.d.ts.map +1 -1
  326. package/dist/esm/shared/uriTemplate.js +69 -71
  327. package/dist/esm/shared/uriTemplate.js.map +1 -1
  328. package/dist/esm/types.d.ts +9650 -4790
  329. package/dist/esm/types.d.ts.map +1 -1
  330. package/dist/esm/types.js +197 -232
  331. package/dist/esm/types.js.map +1 -1
  332. package/package.json +100 -98
@@ -1,9 +1,9 @@
1
- import { randomUUID } from "node:crypto";
2
- import { JSONRPCMessageSchema } from "../types.js";
3
- import getRawBody from "raw-body";
4
- import contentType from "content-type";
1
+ import { randomUUID } from 'node:crypto';
2
+ import { JSONRPCMessageSchema } from '../types.js';
3
+ import getRawBody from 'raw-body';
4
+ import contentType from 'content-type';
5
5
  import { URL } from 'url';
6
- const MAXIMUM_MESSAGE_SIZE = "4mb";
6
+ const MAXIMUM_MESSAGE_SIZE = '4mb';
7
7
  /**
8
8
  * Server transport for SSE: this will send messages over an SSE connection and receive messages from HTTP POST requests.
9
9
  *
@@ -51,12 +51,12 @@ export class SSEServerTransport {
51
51
  */
52
52
  async start() {
53
53
  if (this._sseResponse) {
54
- throw new Error("SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.");
54
+ throw new Error('SSEServerTransport already started! If using Server class, note that connect() calls start() automatically.');
55
55
  }
56
56
  this.res.writeHead(200, {
57
- "Content-Type": "text/event-stream",
58
- "Cache-Control": "no-cache, no-transform",
59
- Connection: "keep-alive",
57
+ 'Content-Type': 'text/event-stream',
58
+ 'Cache-Control': 'no-cache, no-transform',
59
+ Connection: 'keep-alive'
60
60
  });
61
61
  // Send the endpoint event
62
62
  // Use a dummy base URL because this._endpoint is relative.
@@ -68,7 +68,7 @@ export class SSEServerTransport {
68
68
  const relativeUrlWithSession = endpointUrl.pathname + endpointUrl.search + endpointUrl.hash;
69
69
  this.res.write(`event: endpoint\ndata: ${relativeUrlWithSession}\n\n`);
70
70
  this._sseResponse = this.res;
71
- this.res.on("close", () => {
71
+ this.res.on('close', () => {
72
72
  var _a;
73
73
  this._sseResponse = undefined;
74
74
  (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
@@ -82,7 +82,7 @@ export class SSEServerTransport {
82
82
  async handlePostMessage(req, res, parsedBody) {
83
83
  var _a, _b, _c, _d;
84
84
  if (!this._sseResponse) {
85
- const message = "SSE connection not established";
85
+ const message = 'SSE connection not established';
86
86
  res.writeHead(500).end(message);
87
87
  throw new Error(message);
88
88
  }
@@ -97,14 +97,15 @@ export class SSEServerTransport {
97
97
  const requestInfo = { headers: req.headers };
98
98
  let body;
99
99
  try {
100
- const ct = contentType.parse((_b = req.headers["content-type"]) !== null && _b !== void 0 ? _b : "");
101
- if (ct.type !== "application/json") {
100
+ const ct = contentType.parse((_b = req.headers['content-type']) !== null && _b !== void 0 ? _b : '');
101
+ if (ct.type !== 'application/json') {
102
102
  throw new Error(`Unsupported content-type: ${ct.type}`);
103
103
  }
104
- body = parsedBody !== null && parsedBody !== void 0 ? parsedBody : await getRawBody(req, {
105
- limit: MAXIMUM_MESSAGE_SIZE,
106
- encoding: (_c = ct.parameters.charset) !== null && _c !== void 0 ? _c : "utf-8",
107
- });
104
+ body =
105
+ parsedBody !== null && parsedBody !== void 0 ? parsedBody : (await getRawBody(req, {
106
+ limit: MAXIMUM_MESSAGE_SIZE,
107
+ encoding: (_c = ct.parameters.charset) !== null && _c !== void 0 ? _c : 'utf-8'
108
+ }));
108
109
  }
109
110
  catch (error) {
110
111
  res.writeHead(400).end(String(error));
@@ -118,7 +119,7 @@ export class SSEServerTransport {
118
119
  res.writeHead(400).end(`Invalid message: ${body}`);
119
120
  return;
120
121
  }
121
- res.writeHead(202).end("Accepted");
122
+ res.writeHead(202).end('Accepted');
122
123
  }
123
124
  /**
124
125
  * Handle a client message, regardless of how it arrived. This can be used to inform the server of messages that arrive via a means different than HTTP POST.
@@ -143,7 +144,7 @@ export class SSEServerTransport {
143
144
  }
144
145
  async send(message) {
145
146
  if (!this._sseResponse) {
146
- throw new Error("Not connected");
147
+ throw new Error('Not connected');
147
148
  }
148
149
  this._sseResponse.write(`event: message\ndata: ${JSON.stringify(message)}\n\n`);
149
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/server/sse.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Readable, Writable } from "node:stream";
2
- import { JSONRPCMessage } from "../types.js";
3
- import { Transport } from "../shared/transport.js";
1
+ import { Readable, Writable } from 'node:stream';
2
+ import { JSONRPCMessage } from '../types.js';
3
+ import { Transport } from '../shared/transport.js';
4
4
  /**
5
5
  * Server transport for stdio: this communicates with a MCP client by reading from the current process' stdin and writing to stdout.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,SAAS;IAKlD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAS;gBAGf,MAAM,GAAE,QAAwB,EAChC,OAAO,GAAE,QAAyB;IAG5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAG9C,OAAO,UAAW,MAAM,UAGtB;IACF,QAAQ,UAAW,KAAK,UAEtB;IAEF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,iBAAiB;IAenB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAU7C"}
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,SAAS;IAK9C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IALnB,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAS;gBAGb,MAAM,GAAE,QAAwB,EAChC,OAAO,GAAE,QAAyB;IAG9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAG9C,OAAO,UAAW,MAAM,UAGtB;IACF,QAAQ,UAAW,KAAK,UAEtB;IAEF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,iBAAiB;IAenB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAU/C"}
@@ -1,5 +1,5 @@
1
- import process from "node:process";
2
- import { ReadBuffer, serializeMessage } from "../shared/stdio.js";
1
+ import process from 'node:process';
2
+ import { ReadBuffer, serializeMessage } from '../shared/stdio.js';
3
3
  /**
4
4
  * Server transport for stdio: this communicates with a MCP client by reading from the current process' stdin and writing to stdout.
5
5
  *
@@ -26,11 +26,11 @@ export class StdioServerTransport {
26
26
  */
27
27
  async start() {
28
28
  if (this._started) {
29
- throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");
29
+ throw new Error('StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.');
30
30
  }
31
31
  this._started = true;
32
- this._stdin.on("data", this._ondata);
33
- this._stdin.on("error", this._onerror);
32
+ this._stdin.on('data', this._ondata);
33
+ this._stdin.on('error', this._onerror);
34
34
  }
35
35
  processReadBuffer() {
36
36
  var _a, _b;
@@ -50,8 +50,8 @@ export class StdioServerTransport {
50
50
  async close() {
51
51
  var _a;
52
52
  // Remove our event listeners first
53
- this._stdin.off("data", this._ondata);
54
- this._stdin.off("error", this._onerror);
53
+ this._stdin.off('data', this._ondata);
54
+ this._stdin.off('error', this._onerror);
55
55
  // Check if we were the only data listener
56
56
  const remainingDataListeners = this._stdin.listenerCount('data');
57
57
  if (remainingDataListeners === 0) {
@@ -64,13 +64,13 @@ export class StdioServerTransport {
64
64
  (_a = this.onclose) === null || _a === void 0 ? void 0 : _a.call(this);
65
65
  }
66
66
  send(message) {
67
- return new Promise((resolve) => {
67
+ return new Promise(resolve => {
68
68
  const json = serializeMessage(message);
69
69
  if (this._stdout.write(json)) {
70
70
  resolve();
71
71
  }
72
72
  else {
73
- this._stdout.once("drain", resolve);
73
+ this._stdout.once('drain', resolve);
74
74
  }
75
75
  });
76
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAI/B,YACU,SAAmB,OAAO,CAAC,KAAK,EAChC,UAAoB,OAAO,CAAC,MAAM;QADlC,WAAM,GAAN,MAAM,CAA0B;QAChC,YAAO,GAAP,OAAO,CAA2B;QALpC,gBAAW,GAAe,IAAI,UAAU,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;QAWzB,gFAAgF;QAChF,YAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC;QACF,aAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;;YAC1B,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;IAbC,CAAC;IAeJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAEO,iBAAiB;;QACvB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;gBAED,MAAA,IAAI,CAAC,SAAS,qDAAG,OAAO,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAc,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;;QACT,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,0CAA0C;QAC1C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YACjC,gDAAgD;YAChD,0FAA0F;YAC1F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAuB;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/server/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAI7B,YACY,SAAmB,OAAO,CAAC,KAAK,EAChC,UAAoB,OAAO,CAAC,MAAM;QADlC,WAAM,GAAN,MAAM,CAA0B;QAChC,YAAO,GAAP,OAAO,CAA2B;QALtC,gBAAW,GAAe,IAAI,UAAU,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;QAWzB,gFAAgF;QAChF,YAAO,GAAG,CAAC,KAAa,EAAE,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC;QACF,aAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;;YACxB,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;IAbC,CAAC;IAeJ;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACX,+GAA+G,CAClH,CAAC;QACN,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,iBAAiB;;QACrB,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM;gBACV,CAAC;gBAED,MAAA,IAAI,CAAC,SAAS,qDAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAA,IAAI,CAAC,OAAO,qDAAG,KAAc,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;;QACP,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,0CAA0C;QAC1C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YAC/B,gDAAgD;YAChD,0FAA0F;YAC1F,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,MAAA,IAAI,CAAC,OAAO,oDAAI,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,OAAuB;QACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
- import { IncomingMessage, ServerResponse } from "node:http";
2
- import { Transport } from "../shared/transport.js";
3
- import { MessageExtraInfo, JSONRPCMessage, RequestId } from "../types.js";
4
- import { AuthInfo } from "./auth/types.js";
1
+ import { IncomingMessage, ServerResponse } from 'node:http';
2
+ import { Transport } from '../shared/transport.js';
3
+ import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
4
+ import { AuthInfo } from './auth/types.js';
5
5
  export type StreamId = string;
6
6
  export type EventId = string;
7
7
  /**
@@ -47,7 +47,7 @@ export interface StreamableHTTPServerTransportOptions {
47
47
  * StreamableHTTPServerTransport after a request is completed while still keeping the
48
48
  * session open/running.
49
49
  * @param sessionId The session ID that was closed
50
- */
50
+ */
51
51
  onsessionclosed?: (sessionId: string) => void | Promise<void>;
52
52
  /**
53
53
  * If true, the server will return JSON responses instead of starting an SSE stream.
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { isInitializeRequest, isJSONRPCError, isJSONRPCRequest, isJSONRPCResponse, JSONRPCMessageSchema, SUPPORTED_PROTOCOL_VERSIONS, DEFAULT_NEGOTIATED_PROTOCOL_VERSION } from "../types.js";
2
- import getRawBody from "raw-body";
3
- import contentType from "content-type";
4
- import { randomUUID } from "node:crypto";
5
- const MAXIMUM_MESSAGE_SIZE = "4mb";
1
+ import { isInitializeRequest, isJSONRPCError, isJSONRPCRequest, isJSONRPCResponse, JSONRPCMessageSchema, SUPPORTED_PROTOCOL_VERSIONS, DEFAULT_NEGOTIATED_PROTOCOL_VERSION } from '../types.js';
2
+ import getRawBody from 'raw-body';
3
+ import contentType from 'content-type';
4
+ import { randomUUID } from 'node:crypto';
5
+ const MAXIMUM_MESSAGE_SIZE = '4mb';
6
6
  /**
7
7
  * Server transport for Streamable HTTP: this implements the MCP Streamable HTTP transport specification.
8
8
  * It supports both SSE streaming and direct HTTP responses.
@@ -62,7 +62,7 @@ export class StreamableHTTPServerTransport {
62
62
  */
63
63
  async start() {
64
64
  if (this._started) {
65
- throw new Error("Transport already started");
65
+ throw new Error('Transport already started');
66
66
  }
67
67
  this._started = true;
68
68
  }
@@ -100,7 +100,7 @@ export class StreamableHTTPServerTransport {
100
100
  const validationError = this.validateRequestHeaders(req);
101
101
  if (validationError) {
102
102
  res.writeHead(403).end(JSON.stringify({
103
- jsonrpc: "2.0",
103
+ jsonrpc: '2.0',
104
104
  error: {
105
105
  code: -32000,
106
106
  message: validationError
@@ -110,13 +110,13 @@ export class StreamableHTTPServerTransport {
110
110
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error(validationError));
111
111
  return;
112
112
  }
113
- if (req.method === "POST") {
113
+ if (req.method === 'POST') {
114
114
  await this.handlePostRequest(req, res, parsedBody);
115
115
  }
116
- else if (req.method === "GET") {
116
+ else if (req.method === 'GET') {
117
117
  await this.handleGetRequest(req, res);
118
118
  }
119
- else if (req.method === "DELETE") {
119
+ else if (req.method === 'DELETE') {
120
120
  await this.handleDeleteRequest(req, res);
121
121
  }
122
122
  else {
@@ -129,12 +129,12 @@ export class StreamableHTTPServerTransport {
129
129
  async handleGetRequest(req, res) {
130
130
  // The client MUST include an Accept header, listing text/event-stream as a supported content type.
131
131
  const acceptHeader = req.headers.accept;
132
- if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes("text/event-stream"))) {
132
+ if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes('text/event-stream'))) {
133
133
  res.writeHead(406).end(JSON.stringify({
134
- jsonrpc: "2.0",
134
+ jsonrpc: '2.0',
135
135
  error: {
136
136
  code: -32000,
137
- message: "Not Acceptable: Client must accept text/event-stream"
137
+ message: 'Not Acceptable: Client must accept text/event-stream'
138
138
  },
139
139
  id: null
140
140
  }));
@@ -160,22 +160,22 @@ export class StreamableHTTPServerTransport {
160
160
  // The server MUST either return Content-Type: text/event-stream in response to this HTTP GET,
161
161
  // or else return HTTP 405 Method Not Allowed
162
162
  const headers = {
163
- "Content-Type": "text/event-stream",
164
- "Cache-Control": "no-cache, no-transform",
165
- Connection: "keep-alive",
163
+ 'Content-Type': 'text/event-stream',
164
+ 'Cache-Control': 'no-cache, no-transform',
165
+ Connection: 'keep-alive'
166
166
  };
167
167
  // After initialization, always include the session ID if we have one
168
168
  if (this.sessionId !== undefined) {
169
- headers["mcp-session-id"] = this.sessionId;
169
+ headers['mcp-session-id'] = this.sessionId;
170
170
  }
171
171
  // Check if there's already an active standalone SSE stream for this session
172
172
  if (this._streamMapping.get(this._standaloneSseStreamId) !== undefined) {
173
173
  // Only one GET SSE stream is allowed per session
174
174
  res.writeHead(409).end(JSON.stringify({
175
- jsonrpc: "2.0",
175
+ jsonrpc: '2.0',
176
176
  error: {
177
177
  code: -32000,
178
- message: "Conflict: Only one SSE stream is allowed per session"
178
+ message: 'Conflict: Only one SSE stream is allowed per session'
179
179
  },
180
180
  id: null
181
181
  }));
@@ -187,11 +187,11 @@ export class StreamableHTTPServerTransport {
187
187
  // Assign the response to the standalone SSE stream
188
188
  this._streamMapping.set(this._standaloneSseStreamId, res);
189
189
  // Set up close handler for client disconnects
190
- res.on("close", () => {
190
+ res.on('close', () => {
191
191
  this._streamMapping.delete(this._standaloneSseStreamId);
192
192
  });
193
193
  // Add error handler for standalone SSE stream
194
- res.on("error", (error) => {
194
+ res.on('error', error => {
195
195
  var _a;
196
196
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
197
197
  });
@@ -207,26 +207,26 @@ export class StreamableHTTPServerTransport {
207
207
  }
208
208
  try {
209
209
  const headers = {
210
- "Content-Type": "text/event-stream",
211
- "Cache-Control": "no-cache, no-transform",
212
- Connection: "keep-alive",
210
+ 'Content-Type': 'text/event-stream',
211
+ 'Cache-Control': 'no-cache, no-transform',
212
+ Connection: 'keep-alive'
213
213
  };
214
214
  if (this.sessionId !== undefined) {
215
- headers["mcp-session-id"] = this.sessionId;
215
+ headers['mcp-session-id'] = this.sessionId;
216
216
  }
217
217
  res.writeHead(200, headers).flushHeaders();
218
218
  const streamId = await ((_a = this._eventStore) === null || _a === void 0 ? void 0 : _a.replayEventsAfter(lastEventId, {
219
219
  send: async (eventId, message) => {
220
220
  var _a;
221
221
  if (!this.writeSSEEvent(res, message, eventId)) {
222
- (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error("Failed replay events"));
222
+ (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, new Error('Failed replay events'));
223
223
  res.end();
224
224
  }
225
225
  }
226
226
  }));
227
227
  this._streamMapping.set(streamId, res);
228
228
  // Add error handler for replay stream
229
- res.on("error", (error) => {
229
+ res.on('error', error => {
230
230
  var _a;
231
231
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
232
232
  });
@@ -252,12 +252,12 @@ export class StreamableHTTPServerTransport {
252
252
  */
253
253
  async handleUnsupportedRequest(res) {
254
254
  res.writeHead(405, {
255
- "Allow": "GET, POST, DELETE"
255
+ Allow: 'GET, POST, DELETE'
256
256
  }).end(JSON.stringify({
257
- jsonrpc: "2.0",
257
+ jsonrpc: '2.0',
258
258
  error: {
259
259
  code: -32000,
260
- message: "Method not allowed."
260
+ message: 'Method not allowed.'
261
261
  },
262
262
  id: null
263
263
  }));
@@ -271,24 +271,24 @@ export class StreamableHTTPServerTransport {
271
271
  // Validate the Accept header
272
272
  const acceptHeader = req.headers.accept;
273
273
  // The client MUST include an Accept header, listing both application/json and text/event-stream as supported content types.
274
- if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes("application/json")) || !acceptHeader.includes("text/event-stream")) {
274
+ if (!(acceptHeader === null || acceptHeader === void 0 ? void 0 : acceptHeader.includes('application/json')) || !acceptHeader.includes('text/event-stream')) {
275
275
  res.writeHead(406).end(JSON.stringify({
276
- jsonrpc: "2.0",
276
+ jsonrpc: '2.0',
277
277
  error: {
278
278
  code: -32000,
279
- message: "Not Acceptable: Client must accept both application/json and text/event-stream"
279
+ message: 'Not Acceptable: Client must accept both application/json and text/event-stream'
280
280
  },
281
281
  id: null
282
282
  }));
283
283
  return;
284
284
  }
285
- const ct = req.headers["content-type"];
286
- if (!ct || !ct.includes("application/json")) {
285
+ const ct = req.headers['content-type'];
286
+ if (!ct || !ct.includes('application/json')) {
287
287
  res.writeHead(415).end(JSON.stringify({
288
- jsonrpc: "2.0",
288
+ jsonrpc: '2.0',
289
289
  error: {
290
290
  code: -32000,
291
- message: "Unsupported Media Type: Content-Type must be application/json"
291
+ message: 'Unsupported Media Type: Content-Type must be application/json'
292
292
  },
293
293
  id: null
294
294
  }));
@@ -304,7 +304,7 @@ export class StreamableHTTPServerTransport {
304
304
  const parsedCt = contentType.parse(ct);
305
305
  const body = await getRawBody(req, {
306
306
  limit: MAXIMUM_MESSAGE_SIZE,
307
- encoding: (_a = parsedCt.parameters.charset) !== null && _a !== void 0 ? _a : "utf-8",
307
+ encoding: (_a = parsedCt.parameters.charset) !== null && _a !== void 0 ? _a : 'utf-8'
308
308
  });
309
309
  rawMessage = JSON.parse(body.toString());
310
310
  }
@@ -324,10 +324,10 @@ export class StreamableHTTPServerTransport {
324
324
  // to avoid re-initialization.
325
325
  if (this._initialized && this.sessionId !== undefined) {
326
326
  res.writeHead(400).end(JSON.stringify({
327
- jsonrpc: "2.0",
327
+ jsonrpc: '2.0',
328
328
  error: {
329
329
  code: -32600,
330
- message: "Invalid Request: Server already initialized"
330
+ message: 'Invalid Request: Server already initialized'
331
331
  },
332
332
  id: null
333
333
  }));
@@ -335,10 +335,10 @@ export class StreamableHTTPServerTransport {
335
335
  }
336
336
  if (messages.length > 1) {
337
337
  res.writeHead(400).end(JSON.stringify({
338
- jsonrpc: "2.0",
338
+ jsonrpc: '2.0',
339
339
  error: {
340
340
  code: -32600,
341
- message: "Invalid Request: Only one initialization request is allowed"
341
+ message: 'Invalid Request: Only one initialization request is allowed'
342
342
  },
343
343
  id: null
344
344
  }));
@@ -354,7 +354,7 @@ export class StreamableHTTPServerTransport {
354
354
  }
355
355
  if (!isInitializationRequest) {
356
356
  // If an Mcp-Session-Id is returned by the server during initialization,
357
- // clients using the Streamable HTTP transport MUST include it
357
+ // clients using the Streamable HTTP transport MUST include it
358
358
  // in the Mcp-Session-Id header on all of their subsequent HTTP requests.
359
359
  if (!this.validateSession(req, res)) {
360
360
  return;
@@ -380,13 +380,13 @@ export class StreamableHTTPServerTransport {
380
380
  const streamId = randomUUID();
381
381
  if (!this._enableJsonResponse) {
382
382
  const headers = {
383
- "Content-Type": "text/event-stream",
384
- "Cache-Control": "no-cache",
385
- Connection: "keep-alive",
383
+ 'Content-Type': 'text/event-stream',
384
+ 'Cache-Control': 'no-cache',
385
+ Connection: 'keep-alive'
386
386
  };
387
387
  // After initialization, always include the session ID if we have one
388
388
  if (this.sessionId !== undefined) {
389
- headers["mcp-session-id"] = this.sessionId;
389
+ headers['mcp-session-id'] = this.sessionId;
390
390
  }
391
391
  res.writeHead(200, headers);
392
392
  }
@@ -399,11 +399,11 @@ export class StreamableHTTPServerTransport {
399
399
  }
400
400
  }
401
401
  // Set up close handler for client disconnects
402
- res.on("close", () => {
402
+ res.on('close', () => {
403
403
  this._streamMapping.delete(streamId);
404
404
  });
405
405
  // Add error handler for stream write errors
406
- res.on("error", (error) => {
406
+ res.on('error', error => {
407
407
  var _a;
408
408
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
409
409
  });
@@ -418,10 +418,10 @@ export class StreamableHTTPServerTransport {
418
418
  catch (error) {
419
419
  // return JSON-RPC formatted error
420
420
  res.writeHead(400).end(JSON.stringify({
421
- jsonrpc: "2.0",
421
+ jsonrpc: '2.0',
422
422
  error: {
423
423
  code: -32700,
424
- message: "Parse error",
424
+ message: 'Parse error',
425
425
  data: String(error)
426
426
  },
427
427
  id: null
@@ -457,23 +457,23 @@ export class StreamableHTTPServerTransport {
457
457
  if (!this._initialized) {
458
458
  // If the server has not been initialized yet, reject all requests
459
459
  res.writeHead(400).end(JSON.stringify({
460
- jsonrpc: "2.0",
460
+ jsonrpc: '2.0',
461
461
  error: {
462
462
  code: -32000,
463
- message: "Bad Request: Server not initialized"
463
+ message: 'Bad Request: Server not initialized'
464
464
  },
465
465
  id: null
466
466
  }));
467
467
  return false;
468
468
  }
469
- const sessionId = req.headers["mcp-session-id"];
469
+ const sessionId = req.headers['mcp-session-id'];
470
470
  if (!sessionId) {
471
471
  // Non-initialization requests without a session ID should return 400 Bad Request
472
472
  res.writeHead(400).end(JSON.stringify({
473
- jsonrpc: "2.0",
473
+ jsonrpc: '2.0',
474
474
  error: {
475
475
  code: -32000,
476
- message: "Bad Request: Mcp-Session-Id header is required"
476
+ message: 'Bad Request: Mcp-Session-Id header is required'
477
477
  },
478
478
  id: null
479
479
  }));
@@ -481,10 +481,10 @@ export class StreamableHTTPServerTransport {
481
481
  }
482
482
  else if (Array.isArray(sessionId)) {
483
483
  res.writeHead(400).end(JSON.stringify({
484
- jsonrpc: "2.0",
484
+ jsonrpc: '2.0',
485
485
  error: {
486
486
  code: -32000,
487
- message: "Bad Request: Mcp-Session-Id header must be a single value"
487
+ message: 'Bad Request: Mcp-Session-Id header must be a single value'
488
488
  },
489
489
  id: null
490
490
  }));
@@ -493,10 +493,10 @@ export class StreamableHTTPServerTransport {
493
493
  else if (sessionId !== this.sessionId) {
494
494
  // Reject requests with invalid session ID with 404 Not Found
495
495
  res.writeHead(404).end(JSON.stringify({
496
- jsonrpc: "2.0",
496
+ jsonrpc: '2.0',
497
497
  error: {
498
498
  code: -32001,
499
- message: "Session not found"
499
+ message: 'Session not found'
500
500
  },
501
501
  id: null
502
502
  }));
@@ -506,16 +506,16 @@ export class StreamableHTTPServerTransport {
506
506
  }
507
507
  validateProtocolVersion(req, res) {
508
508
  var _a;
509
- let protocolVersion = (_a = req.headers["mcp-protocol-version"]) !== null && _a !== void 0 ? _a : DEFAULT_NEGOTIATED_PROTOCOL_VERSION;
509
+ let protocolVersion = (_a = req.headers['mcp-protocol-version']) !== null && _a !== void 0 ? _a : DEFAULT_NEGOTIATED_PROTOCOL_VERSION;
510
510
  if (Array.isArray(protocolVersion)) {
511
511
  protocolVersion = protocolVersion[protocolVersion.length - 1];
512
512
  }
513
513
  if (!SUPPORTED_PROTOCOL_VERSIONS.includes(protocolVersion)) {
514
514
  res.writeHead(400).end(JSON.stringify({
515
- jsonrpc: "2.0",
515
+ jsonrpc: '2.0',
516
516
  error: {
517
517
  code: -32000,
518
- message: `Bad Request: Unsupported protocol version (supported versions: ${SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`
518
+ message: `Bad Request: Unsupported protocol version (supported versions: ${SUPPORTED_PROTOCOL_VERSIONS.join(', ')})`
519
519
  },
520
520
  id: null
521
521
  }));
@@ -526,7 +526,7 @@ export class StreamableHTTPServerTransport {
526
526
  async close() {
527
527
  var _a;
528
528
  // Close all SSE connections
529
- this._streamMapping.forEach((response) => {
529
+ this._streamMapping.forEach(response => {
530
530
  response.end();
531
531
  });
532
532
  this._streamMapping.clear();
@@ -546,7 +546,7 @@ export class StreamableHTTPServerTransport {
546
546
  if (requestId === undefined) {
547
547
  // For standalone SSE streams, we can only send requests and notifications
548
548
  if (isJSONRPCResponse(message) || isJSONRPCError(message)) {
549
- throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");
549
+ throw new Error('Cannot send a response on a standalone SSE stream unless resuming a previous client request');
550
550
  }
551
551
  const standaloneSse = this._streamMapping.get(this._standaloneSseStreamId);
552
552
  if (standaloneSse === undefined) {
@@ -594,13 +594,12 @@ export class StreamableHTTPServerTransport {
594
594
  if (this._enableJsonResponse) {
595
595
  // All responses ready, send as JSON
596
596
  const headers = {
597
- 'Content-Type': 'application/json',
597
+ 'Content-Type': 'application/json'
598
598
  };
599
599
  if (this.sessionId !== undefined) {
600
600
  headers['mcp-session-id'] = this.sessionId;
601
601
  }
602
- const responses = relatedIds
603
- .map(id => this._requestResponseMap.get(id));
602
+ const responses = relatedIds.map(id => this._requestResponseMap.get(id));
604
603
  response.writeHead(200, headers);
605
604
  if (responses.length === 1) {
606
605
  response.end(JSON.stringify(responses[0]));