mcp-server-framework 1.0.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 (673) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/LICENSE-GPL.md +219 -0
  3. package/LICENSE.md +187 -0
  4. package/README.md +439 -0
  5. package/build/config/config-cache.d.ts +120 -0
  6. package/build/config/config-cache.d.ts.map +1 -0
  7. package/build/config/config-cache.js +310 -0
  8. package/build/config/config-cache.js.map +1 -0
  9. package/build/config/env.d.ts +476 -0
  10. package/build/config/env.d.ts.map +1 -0
  11. package/build/config/env.js +441 -0
  12. package/build/config/env.js.map +1 -0
  13. package/build/config/extensions.d.ts +107 -0
  14. package/build/config/extensions.d.ts.map +1 -0
  15. package/build/config/extensions.js +152 -0
  16. package/build/config/extensions.js.map +1 -0
  17. package/build/config/file/index.d.ts +8 -0
  18. package/build/config/file/index.d.ts.map +1 -0
  19. package/build/config/file/index.js +10 -0
  20. package/build/config/file/index.js.map +1 -0
  21. package/build/config/file/loader.d.ts +31 -0
  22. package/build/config/file/loader.d.ts.map +1 -0
  23. package/build/config/file/loader.js +313 -0
  24. package/build/config/file/loader.js.map +1 -0
  25. package/build/config/file/schema.d.ts +583 -0
  26. package/build/config/file/schema.d.ts.map +1 -0
  27. package/build/config/file/schema.js +388 -0
  28. package/build/config/file/schema.js.map +1 -0
  29. package/build/config/index.d.ts +15 -0
  30. package/build/config/index.d.ts.map +1 -0
  31. package/build/config/index.js +27 -0
  32. package/build/config/index.js.map +1 -0
  33. package/build/config/startup-warnings.d.ts +46 -0
  34. package/build/config/startup-warnings.d.ts.map +1 -0
  35. package/build/config/startup-warnings.js +61 -0
  36. package/build/config/startup-warnings.js.map +1 -0
  37. package/build/connection/connection-state.d.ts +196 -0
  38. package/build/connection/connection-state.d.ts.map +1 -0
  39. package/build/connection/connection-state.js +426 -0
  40. package/build/connection/connection-state.js.map +1 -0
  41. package/build/connection/core/base.d.ts +43 -0
  42. package/build/connection/core/base.d.ts.map +1 -0
  43. package/build/connection/core/base.js +82 -0
  44. package/build/connection/core/base.js.map +1 -0
  45. package/build/connection/core/constants.d.ts +121 -0
  46. package/build/connection/core/constants.d.ts.map +1 -0
  47. package/build/connection/core/constants.js +151 -0
  48. package/build/connection/core/constants.js.map +1 -0
  49. package/build/connection/core/index.d.ts +13 -0
  50. package/build/connection/core/index.d.ts.map +1 -0
  51. package/build/connection/core/index.js +14 -0
  52. package/build/connection/core/index.js.map +1 -0
  53. package/build/connection/core/types.d.ts +102 -0
  54. package/build/connection/core/types.d.ts.map +1 -0
  55. package/build/connection/core/types.js +31 -0
  56. package/build/connection/core/types.js.map +1 -0
  57. package/build/connection/index.d.ts +19 -0
  58. package/build/connection/index.d.ts.map +1 -0
  59. package/build/connection/index.js +22 -0
  60. package/build/connection/index.js.map +1 -0
  61. package/build/connection/types.d.ts +125 -0
  62. package/build/connection/types.d.ts.map +1 -0
  63. package/build/connection/types.js +39 -0
  64. package/build/connection/types.js.map +1 -0
  65. package/build/errors/categories/auth.d.ts +59 -0
  66. package/build/errors/categories/auth.d.ts.map +1 -0
  67. package/build/errors/categories/auth.js +111 -0
  68. package/build/errors/categories/auth.js.map +1 -0
  69. package/build/errors/categories/connection.d.ts +70 -0
  70. package/build/errors/categories/connection.d.ts.map +1 -0
  71. package/build/errors/categories/connection.js +120 -0
  72. package/build/errors/categories/connection.js.map +1 -0
  73. package/build/errors/categories/index.d.ts +14 -0
  74. package/build/errors/categories/index.d.ts.map +1 -0
  75. package/build/errors/categories/index.js +20 -0
  76. package/build/errors/categories/index.js.map +1 -0
  77. package/build/errors/categories/operation.d.ts +83 -0
  78. package/build/errors/categories/operation.d.ts.map +1 -0
  79. package/build/errors/categories/operation.js +149 -0
  80. package/build/errors/categories/operation.js.map +1 -0
  81. package/build/errors/categories/protocol.d.ts +68 -0
  82. package/build/errors/categories/protocol.d.ts.map +1 -0
  83. package/build/errors/categories/protocol.js +135 -0
  84. package/build/errors/categories/protocol.js.map +1 -0
  85. package/build/errors/categories/session.d.ts +50 -0
  86. package/build/errors/categories/session.d.ts.map +1 -0
  87. package/build/errors/categories/session.js +97 -0
  88. package/build/errors/categories/session.js.map +1 -0
  89. package/build/errors/categories/system.d.ts +95 -0
  90. package/build/errors/categories/system.d.ts.map +1 -0
  91. package/build/errors/categories/system.js +190 -0
  92. package/build/errors/categories/system.js.map +1 -0
  93. package/build/errors/categories/transport.d.ts +70 -0
  94. package/build/errors/categories/transport.d.ts.map +1 -0
  95. package/build/errors/categories/transport.js +148 -0
  96. package/build/errors/categories/transport.js.map +1 -0
  97. package/build/errors/categories/validation.d.ts +140 -0
  98. package/build/errors/categories/validation.d.ts.map +1 -0
  99. package/build/errors/categories/validation.js +311 -0
  100. package/build/errors/categories/validation.js.map +1 -0
  101. package/build/errors/core/base.d.ts +103 -0
  102. package/build/errors/core/base.d.ts.map +1 -0
  103. package/build/errors/core/base.js +219 -0
  104. package/build/errors/core/base.js.map +1 -0
  105. package/build/errors/core/constants.d.ts +40 -0
  106. package/build/errors/core/constants.d.ts.map +1 -0
  107. package/build/errors/core/constants.js +49 -0
  108. package/build/errors/core/constants.js.map +1 -0
  109. package/build/errors/core/error-codes.d.ts +72 -0
  110. package/build/errors/core/error-codes.d.ts.map +1 -0
  111. package/build/errors/core/error-codes.js +88 -0
  112. package/build/errors/core/error-codes.js.map +1 -0
  113. package/build/errors/core/http.d.ts +69 -0
  114. package/build/errors/core/http.d.ts.map +1 -0
  115. package/build/errors/core/http.js +106 -0
  116. package/build/errors/core/http.js.map +1 -0
  117. package/build/errors/core/index.d.ts +23 -0
  118. package/build/errors/core/index.d.ts.map +1 -0
  119. package/build/errors/core/index.js +41 -0
  120. package/build/errors/core/index.js.map +1 -0
  121. package/build/errors/core/json-rpc.d.ts +69 -0
  122. package/build/errors/core/json-rpc.d.ts.map +1 -0
  123. package/build/errors/core/json-rpc.js +79 -0
  124. package/build/errors/core/json-rpc.js.map +1 -0
  125. package/build/errors/core/messages.d.ts +51 -0
  126. package/build/errors/core/messages.d.ts.map +1 -0
  127. package/build/errors/core/messages.js +59 -0
  128. package/build/errors/core/messages.js.map +1 -0
  129. package/build/errors/core/types.d.ts +80 -0
  130. package/build/errors/core/types.d.ts.map +1 -0
  131. package/build/errors/core/types.js +10 -0
  132. package/build/errors/core/types.js.map +1 -0
  133. package/build/errors/factory.d.ts +199 -0
  134. package/build/errors/factory.d.ts.map +1 -0
  135. package/build/errors/factory.js +244 -0
  136. package/build/errors/factory.js.map +1 -0
  137. package/build/errors/index.d.ts +35 -0
  138. package/build/errors/index.d.ts.map +1 -0
  139. package/build/errors/index.js +67 -0
  140. package/build/errors/index.js.map +1 -0
  141. package/build/index.d.ts +93 -0
  142. package/build/index.d.ts.map +1 -0
  143. package/build/index.js +107 -0
  144. package/build/index.js.map +1 -0
  145. package/build/logger/core/constants.d.ts +143 -0
  146. package/build/logger/core/constants.d.ts.map +1 -0
  147. package/build/logger/core/constants.js +206 -0
  148. package/build/logger/core/constants.js.map +1 -0
  149. package/build/logger/core/context.d.ts +170 -0
  150. package/build/logger/core/context.d.ts.map +1 -0
  151. package/build/logger/core/context.js +237 -0
  152. package/build/logger/core/context.js.map +1 -0
  153. package/build/logger/core/errors.d.ts +101 -0
  154. package/build/logger/core/errors.d.ts.map +1 -0
  155. package/build/logger/core/errors.js +128 -0
  156. package/build/logger/core/errors.js.map +1 -0
  157. package/build/logger/core/format.d.ts +40 -0
  158. package/build/logger/core/format.d.ts.map +1 -0
  159. package/build/logger/core/format.js +47 -0
  160. package/build/logger/core/format.js.map +1 -0
  161. package/build/logger/core/index.d.ts +19 -0
  162. package/build/logger/core/index.d.ts.map +1 -0
  163. package/build/logger/core/index.js +47 -0
  164. package/build/logger/core/index.js.map +1 -0
  165. package/build/logger/core/trace-context.d.ts +51 -0
  166. package/build/logger/core/trace-context.d.ts.map +1 -0
  167. package/build/logger/core/trace-context.js +42 -0
  168. package/build/logger/core/trace-context.js.map +1 -0
  169. package/build/logger/core/types.d.ts +233 -0
  170. package/build/logger/core/types.d.ts.map +1 -0
  171. package/build/logger/core/types.js +10 -0
  172. package/build/logger/core/types.js.map +1 -0
  173. package/build/logger/factory.d.ts +150 -0
  174. package/build/logger/factory.d.ts.map +1 -0
  175. package/build/logger/factory.js +236 -0
  176. package/build/logger/factory.js.map +1 -0
  177. package/build/logger/formatters/index.d.ts +12 -0
  178. package/build/logger/formatters/index.d.ts.map +1 -0
  179. package/build/logger/formatters/index.js +15 -0
  180. package/build/logger/formatters/index.js.map +1 -0
  181. package/build/logger/formatters/json-formatter.d.ts +54 -0
  182. package/build/logger/formatters/json-formatter.d.ts.map +1 -0
  183. package/build/logger/formatters/json-formatter.js +80 -0
  184. package/build/logger/formatters/json-formatter.js.map +1 -0
  185. package/build/logger/formatters/schema.d.ts +230 -0
  186. package/build/logger/formatters/schema.d.ts.map +1 -0
  187. package/build/logger/formatters/schema.js +278 -0
  188. package/build/logger/formatters/schema.js.map +1 -0
  189. package/build/logger/formatters/text-formatter.d.ts +50 -0
  190. package/build/logger/formatters/text-formatter.d.ts.map +1 -0
  191. package/build/logger/formatters/text-formatter.js +93 -0
  192. package/build/logger/formatters/text-formatter.js.map +1 -0
  193. package/build/logger/index.d.ts +39 -0
  194. package/build/logger/index.d.ts.map +1 -0
  195. package/build/logger/index.js +43 -0
  196. package/build/logger/index.js.map +1 -0
  197. package/build/logger/logger.d.ts +278 -0
  198. package/build/logger/logger.d.ts.map +1 -0
  199. package/build/logger/logger.js +459 -0
  200. package/build/logger/logger.js.map +1 -0
  201. package/build/logger/mcp-logger.d.ts +177 -0
  202. package/build/logger/mcp-logger.d.ts.map +1 -0
  203. package/build/logger/mcp-logger.js +294 -0
  204. package/build/logger/mcp-logger.js.map +1 -0
  205. package/build/logger/scrubbing/index.d.ts +14 -0
  206. package/build/logger/scrubbing/index.d.ts.map +1 -0
  207. package/build/logger/scrubbing/index.js +16 -0
  208. package/build/logger/scrubbing/index.js.map +1 -0
  209. package/build/logger/scrubbing/injection-guard.d.ts +69 -0
  210. package/build/logger/scrubbing/injection-guard.d.ts.map +1 -0
  211. package/build/logger/scrubbing/injection-guard.js +102 -0
  212. package/build/logger/scrubbing/injection-guard.js.map +1 -0
  213. package/build/logger/scrubbing/secret-scrubber.d.ts +72 -0
  214. package/build/logger/scrubbing/secret-scrubber.d.ts.map +1 -0
  215. package/build/logger/scrubbing/secret-scrubber.js +177 -0
  216. package/build/logger/scrubbing/secret-scrubber.js.map +1 -0
  217. package/build/logger/writers/base-writer.d.ts +45 -0
  218. package/build/logger/writers/base-writer.d.ts.map +1 -0
  219. package/build/logger/writers/base-writer.js +41 -0
  220. package/build/logger/writers/base-writer.js.map +1 -0
  221. package/build/logger/writers/composite-writer.d.ts +83 -0
  222. package/build/logger/writers/composite-writer.d.ts.map +1 -0
  223. package/build/logger/writers/composite-writer.js +121 -0
  224. package/build/logger/writers/composite-writer.js.map +1 -0
  225. package/build/logger/writers/console-writer.d.ts +59 -0
  226. package/build/logger/writers/console-writer.d.ts.map +1 -0
  227. package/build/logger/writers/console-writer.js +73 -0
  228. package/build/logger/writers/console-writer.js.map +1 -0
  229. package/build/logger/writers/file-writer.d.ts +160 -0
  230. package/build/logger/writers/file-writer.d.ts.map +1 -0
  231. package/build/logger/writers/file-writer.js +345 -0
  232. package/build/logger/writers/file-writer.js.map +1 -0
  233. package/build/logger/writers/index.d.ts +15 -0
  234. package/build/logger/writers/index.d.ts.map +1 -0
  235. package/build/logger/writers/index.js +19 -0
  236. package/build/logger/writers/index.js.map +1 -0
  237. package/build/mcp/capabilities/apps/define-app.d.ts +68 -0
  238. package/build/mcp/capabilities/apps/define-app.d.ts.map +1 -0
  239. package/build/mcp/capabilities/apps/define-app.js +127 -0
  240. package/build/mcp/capabilities/apps/define-app.js.map +1 -0
  241. package/build/mcp/capabilities/apps/index.d.ts +10 -0
  242. package/build/mcp/capabilities/apps/index.d.ts.map +1 -0
  243. package/build/mcp/capabilities/apps/index.js +10 -0
  244. package/build/mcp/capabilities/apps/index.js.map +1 -0
  245. package/build/mcp/capabilities/capabilities.d.ts +24 -0
  246. package/build/mcp/capabilities/capabilities.d.ts.map +1 -0
  247. package/build/mcp/capabilities/capabilities.js +50 -0
  248. package/build/mcp/capabilities/capabilities.js.map +1 -0
  249. package/build/mcp/capabilities/index.d.ts +17 -0
  250. package/build/mcp/capabilities/index.d.ts.map +1 -0
  251. package/build/mcp/capabilities/index.js +20 -0
  252. package/build/mcp/capabilities/index.js.map +1 -0
  253. package/build/mcp/capabilities/prompts/define-prompt.d.ts +95 -0
  254. package/build/mcp/capabilities/prompts/define-prompt.d.ts.map +1 -0
  255. package/build/mcp/capabilities/prompts/define-prompt.js +109 -0
  256. package/build/mcp/capabilities/prompts/define-prompt.js.map +1 -0
  257. package/build/mcp/capabilities/prompts/index.d.ts +10 -0
  258. package/build/mcp/capabilities/prompts/index.d.ts.map +1 -0
  259. package/build/mcp/capabilities/prompts/index.js +10 -0
  260. package/build/mcp/capabilities/prompts/index.js.map +1 -0
  261. package/build/mcp/capabilities/registry/base-registry.d.ts +95 -0
  262. package/build/mcp/capabilities/registry/base-registry.d.ts.map +1 -0
  263. package/build/mcp/capabilities/registry/base-registry.js +149 -0
  264. package/build/mcp/capabilities/registry/base-registry.js.map +1 -0
  265. package/build/mcp/capabilities/registry/index.d.ts +16 -0
  266. package/build/mcp/capabilities/registry/index.d.ts.map +1 -0
  267. package/build/mcp/capabilities/registry/index.js +34 -0
  268. package/build/mcp/capabilities/registry/index.js.map +1 -0
  269. package/build/mcp/capabilities/registry/prompt-registry.d.ts +116 -0
  270. package/build/mcp/capabilities/registry/prompt-registry.d.ts.map +1 -0
  271. package/build/mcp/capabilities/registry/prompt-registry.js +232 -0
  272. package/build/mcp/capabilities/registry/prompt-registry.js.map +1 -0
  273. package/build/mcp/capabilities/registry/reset.d.ts +30 -0
  274. package/build/mcp/capabilities/registry/reset.d.ts.map +1 -0
  275. package/build/mcp/capabilities/registry/reset.js +48 -0
  276. package/build/mcp/capabilities/registry/reset.js.map +1 -0
  277. package/build/mcp/capabilities/registry/resource-registry.d.ts +152 -0
  278. package/build/mcp/capabilities/registry/resource-registry.d.ts.map +1 -0
  279. package/build/mcp/capabilities/registry/resource-registry.js +430 -0
  280. package/build/mcp/capabilities/registry/resource-registry.js.map +1 -0
  281. package/build/mcp/capabilities/registry/scope-enforcement.d.ts +48 -0
  282. package/build/mcp/capabilities/registry/scope-enforcement.d.ts.map +1 -0
  283. package/build/mcp/capabilities/registry/scope-enforcement.js +62 -0
  284. package/build/mcp/capabilities/registry/scope-enforcement.js.map +1 -0
  285. package/build/mcp/capabilities/registry/task-tool-registry.d.ts +96 -0
  286. package/build/mcp/capabilities/registry/task-tool-registry.d.ts.map +1 -0
  287. package/build/mcp/capabilities/registry/task-tool-registry.js +190 -0
  288. package/build/mcp/capabilities/registry/task-tool-registry.js.map +1 -0
  289. package/build/mcp/capabilities/registry/tool-registry.d.ts +100 -0
  290. package/build/mcp/capabilities/registry/tool-registry.d.ts.map +1 -0
  291. package/build/mcp/capabilities/registry/tool-registry.js +242 -0
  292. package/build/mcp/capabilities/registry/tool-registry.js.map +1 -0
  293. package/build/mcp/capabilities/resources/define-resource.d.ts +103 -0
  294. package/build/mcp/capabilities/resources/define-resource.d.ts.map +1 -0
  295. package/build/mcp/capabilities/resources/define-resource.js +137 -0
  296. package/build/mcp/capabilities/resources/define-resource.js.map +1 -0
  297. package/build/mcp/capabilities/resources/index.d.ts +10 -0
  298. package/build/mcp/capabilities/resources/index.d.ts.map +1 -0
  299. package/build/mcp/capabilities/resources/index.js +10 -0
  300. package/build/mcp/capabilities/resources/index.js.map +1 -0
  301. package/build/mcp/capabilities/server-capabilities.d.ts +33 -0
  302. package/build/mcp/capabilities/server-capabilities.d.ts.map +1 -0
  303. package/build/mcp/capabilities/server-capabilities.js +16 -0
  304. package/build/mcp/capabilities/server-capabilities.js.map +1 -0
  305. package/build/mcp/capabilities/tasks/define-task.d.ts +75 -0
  306. package/build/mcp/capabilities/tasks/define-task.d.ts.map +1 -0
  307. package/build/mcp/capabilities/tasks/define-task.js +93 -0
  308. package/build/mcp/capabilities/tasks/define-task.js.map +1 -0
  309. package/build/mcp/capabilities/tasks/index.d.ts +11 -0
  310. package/build/mcp/capabilities/tasks/index.d.ts.map +1 -0
  311. package/build/mcp/capabilities/tasks/index.js +11 -0
  312. package/build/mcp/capabilities/tasks/index.js.map +1 -0
  313. package/build/mcp/capabilities/tools/define-tool.d.ts +62 -0
  314. package/build/mcp/capabilities/tools/define-tool.d.ts.map +1 -0
  315. package/build/mcp/capabilities/tools/define-tool.js +73 -0
  316. package/build/mcp/capabilities/tools/define-tool.js.map +1 -0
  317. package/build/mcp/capabilities/tools/index.d.ts +10 -0
  318. package/build/mcp/capabilities/tools/index.d.ts.map +1 -0
  319. package/build/mcp/capabilities/tools/index.js +10 -0
  320. package/build/mcp/capabilities/tools/index.js.map +1 -0
  321. package/build/mcp/handlers/index.d.ts +19 -0
  322. package/build/mcp/handlers/index.d.ts.map +1 -0
  323. package/build/mcp/handlers/index.js +26 -0
  324. package/build/mcp/handlers/index.js.map +1 -0
  325. package/build/mcp/handlers/ping.d.ts +27 -0
  326. package/build/mcp/handlers/ping.d.ts.map +1 -0
  327. package/build/mcp/handlers/ping.js +61 -0
  328. package/build/mcp/handlers/ping.js.map +1 -0
  329. package/build/mcp/handlers/progress.d.ts +41 -0
  330. package/build/mcp/handlers/progress.d.ts.map +1 -0
  331. package/build/mcp/handlers/progress.js +79 -0
  332. package/build/mcp/handlers/progress.js.map +1 -0
  333. package/build/mcp/index.d.ts +28 -0
  334. package/build/mcp/index.d.ts.map +1 -0
  335. package/build/mcp/index.js +34 -0
  336. package/build/mcp/index.js.map +1 -0
  337. package/build/mcp/responses/helpers.d.ts +146 -0
  338. package/build/mcp/responses/helpers.d.ts.map +1 -0
  339. package/build/mcp/responses/helpers.js +197 -0
  340. package/build/mcp/responses/helpers.js.map +1 -0
  341. package/build/mcp/responses/index.d.ts +9 -0
  342. package/build/mcp/responses/index.d.ts.map +1 -0
  343. package/build/mcp/responses/index.js +12 -0
  344. package/build/mcp/responses/index.js.map +1 -0
  345. package/build/mcp/types/context.d.ts +371 -0
  346. package/build/mcp/types/context.d.ts.map +1 -0
  347. package/build/mcp/types/context.js +17 -0
  348. package/build/mcp/types/context.js.map +1 -0
  349. package/build/mcp/types/definition.d.ts +727 -0
  350. package/build/mcp/types/definition.d.ts.map +1 -0
  351. package/build/mcp/types/definition.js +29 -0
  352. package/build/mcp/types/definition.js.map +1 -0
  353. package/build/mcp/types/handler.d.ts +58 -0
  354. package/build/mcp/types/handler.d.ts.map +1 -0
  355. package/build/mcp/types/handler.js +10 -0
  356. package/build/mcp/types/handler.js.map +1 -0
  357. package/build/mcp/types/index.d.ts +21 -0
  358. package/build/mcp/types/index.d.ts.map +1 -0
  359. package/build/mcp/types/index.js +18 -0
  360. package/build/mcp/types/index.js.map +1 -0
  361. package/build/mcp/types/response.d.ts +79 -0
  362. package/build/mcp/types/response.d.ts.map +1 -0
  363. package/build/mcp/types/response.js +10 -0
  364. package/build/mcp/types/response.js.map +1 -0
  365. package/build/server/auth/auth-context.d.ts +52 -0
  366. package/build/server/auth/auth-context.d.ts.map +1 -0
  367. package/build/server/auth/auth-context.js +45 -0
  368. package/build/server/auth/auth-context.js.map +1 -0
  369. package/build/server/auth/guards.d.ts +72 -0
  370. package/build/server/auth/guards.d.ts.map +1 -0
  371. package/build/server/auth/guards.js +103 -0
  372. package/build/server/auth/guards.js.map +1 -0
  373. package/build/server/auth/index.d.ts +21 -0
  374. package/build/server/auth/index.d.ts.map +1 -0
  375. package/build/server/auth/index.js +20 -0
  376. package/build/server/auth/index.js.map +1 -0
  377. package/build/server/auth/oidc-discovery.d.ts +68 -0
  378. package/build/server/auth/oidc-discovery.d.ts.map +1 -0
  379. package/build/server/auth/oidc-discovery.js +234 -0
  380. package/build/server/auth/oidc-discovery.js.map +1 -0
  381. package/build/server/auth/oidc-provider.d.ts +96 -0
  382. package/build/server/auth/oidc-provider.d.ts.map +1 -0
  383. package/build/server/auth/oidc-provider.js +126 -0
  384. package/build/server/auth/oidc-provider.js.map +1 -0
  385. package/build/server/auth/types.d.ts +204 -0
  386. package/build/server/auth/types.d.ts.map +1 -0
  387. package/build/server/auth/types.js +29 -0
  388. package/build/server/auth/types.js.map +1 -0
  389. package/build/server/auth/upstream-provider.d.ts +161 -0
  390. package/build/server/auth/upstream-provider.d.ts.map +1 -0
  391. package/build/server/auth/upstream-provider.js +411 -0
  392. package/build/server/auth/upstream-provider.js.map +1 -0
  393. package/build/server/builder/constants.d.ts +45 -0
  394. package/build/server/builder/constants.d.ts.map +1 -0
  395. package/build/server/builder/constants.js +54 -0
  396. package/build/server/builder/constants.js.map +1 -0
  397. package/build/server/builder/index.d.ts +24 -0
  398. package/build/server/builder/index.d.ts.map +1 -0
  399. package/build/server/builder/index.js +25 -0
  400. package/build/server/builder/index.js.map +1 -0
  401. package/build/server/builder/primitive-collector.d.ts +24 -0
  402. package/build/server/builder/primitive-collector.d.ts.map +1 -0
  403. package/build/server/builder/primitive-collector.js +89 -0
  404. package/build/server/builder/primitive-collector.js.map +1 -0
  405. package/build/server/builder/server-builder.d.ts +53 -0
  406. package/build/server/builder/server-builder.d.ts.map +1 -0
  407. package/build/server/builder/server-builder.js +132 -0
  408. package/build/server/builder/server-builder.js.map +1 -0
  409. package/build/server/builder/types.d.ts +93 -0
  410. package/build/server/builder/types.d.ts.map +1 -0
  411. package/build/server/builder/types.js +25 -0
  412. package/build/server/builder/types.js.map +1 -0
  413. package/build/server/builder/validation.d.ts +36 -0
  414. package/build/server/builder/validation.d.ts.map +1 -0
  415. package/build/server/builder/validation.js +44 -0
  416. package/build/server/builder/validation.js.map +1 -0
  417. package/build/server/create-server.d.ts +57 -0
  418. package/build/server/create-server.d.ts.map +1 -0
  419. package/build/server/create-server.js +104 -0
  420. package/build/server/create-server.js.map +1 -0
  421. package/build/server/http/express-app.d.ts +103 -0
  422. package/build/server/http/express-app.d.ts.map +1 -0
  423. package/build/server/http/express-app.js +391 -0
  424. package/build/server/http/express-app.js.map +1 -0
  425. package/build/server/http/http-server.d.ts +67 -0
  426. package/build/server/http/http-server.d.ts.map +1 -0
  427. package/build/server/http/http-server.js +188 -0
  428. package/build/server/http/http-server.js.map +1 -0
  429. package/build/server/http/http-transport.d.ts +33 -0
  430. package/build/server/http/http-transport.d.ts.map +1 -0
  431. package/build/server/http/http-transport.js +84 -0
  432. package/build/server/http/http-transport.js.map +1 -0
  433. package/build/server/http/index.d.ts +15 -0
  434. package/build/server/http/index.d.ts.map +1 -0
  435. package/build/server/http/index.js +11 -0
  436. package/build/server/http/index.js.map +1 -0
  437. package/build/server/index.d.ts +25 -0
  438. package/build/server/index.d.ts.map +1 -0
  439. package/build/server/index.js +41 -0
  440. package/build/server/index.js.map +1 -0
  441. package/build/server/lifecycle.d.ts +114 -0
  442. package/build/server/lifecycle.d.ts.map +1 -0
  443. package/build/server/lifecycle.js +30 -0
  444. package/build/server/lifecycle.js.map +1 -0
  445. package/build/server/middleware/bearer-auth.d.ts +43 -0
  446. package/build/server/middleware/bearer-auth.d.ts.map +1 -0
  447. package/build/server/middleware/bearer-auth.js +75 -0
  448. package/build/server/middleware/bearer-auth.js.map +1 -0
  449. package/build/server/middleware/custom-header-auth.d.ts +40 -0
  450. package/build/server/middleware/custom-header-auth.d.ts.map +1 -0
  451. package/build/server/middleware/custom-header-auth.js +90 -0
  452. package/build/server/middleware/custom-header-auth.js.map +1 -0
  453. package/build/server/middleware/dns-rebinding.d.ts +25 -0
  454. package/build/server/middleware/dns-rebinding.d.ts.map +1 -0
  455. package/build/server/middleware/dns-rebinding.js +94 -0
  456. package/build/server/middleware/dns-rebinding.js.map +1 -0
  457. package/build/server/middleware/index.d.ts +69 -0
  458. package/build/server/middleware/index.d.ts.map +1 -0
  459. package/build/server/middleware/index.js +68 -0
  460. package/build/server/middleware/index.js.map +1 -0
  461. package/build/server/middleware/logging.d.ts +21 -0
  462. package/build/server/middleware/logging.d.ts.map +1 -0
  463. package/build/server/middleware/logging.js +36 -0
  464. package/build/server/middleware/logging.js.map +1 -0
  465. package/build/server/middleware/oauth-router.d.ts +50 -0
  466. package/build/server/middleware/oauth-router.d.ts.map +1 -0
  467. package/build/server/middleware/oauth-router.js +53 -0
  468. package/build/server/middleware/oauth-router.js.map +1 -0
  469. package/build/server/middleware/protocol-version.d.ts +13 -0
  470. package/build/server/middleware/protocol-version.d.ts.map +1 -0
  471. package/build/server/middleware/protocol-version.js +48 -0
  472. package/build/server/middleware/protocol-version.js.map +1 -0
  473. package/build/server/middleware/rate-limit.d.ts +47 -0
  474. package/build/server/middleware/rate-limit.d.ts.map +1 -0
  475. package/build/server/middleware/rate-limit.js +109 -0
  476. package/build/server/middleware/rate-limit.js.map +1 -0
  477. package/build/server/middleware/trust-proxy.d.ts +37 -0
  478. package/build/server/middleware/trust-proxy.d.ts.map +1 -0
  479. package/build/server/middleware/trust-proxy.js +154 -0
  480. package/build/server/middleware/trust-proxy.js.map +1 -0
  481. package/build/server/option-overrides.d.ts +25 -0
  482. package/build/server/option-overrides.d.ts.map +1 -0
  483. package/build/server/option-overrides.js +85 -0
  484. package/build/server/option-overrides.js.map +1 -0
  485. package/build/server/routes/health.d.ts +87 -0
  486. package/build/server/routes/health.d.ts.map +1 -0
  487. package/build/server/routes/health.js +183 -0
  488. package/build/server/routes/health.js.map +1 -0
  489. package/build/server/routes/index.d.ts +16 -0
  490. package/build/server/routes/index.d.ts.map +1 -0
  491. package/build/server/routes/index.js +18 -0
  492. package/build/server/routes/index.js.map +1 -0
  493. package/build/server/routes/metrics.d.ts +40 -0
  494. package/build/server/routes/metrics.d.ts.map +1 -0
  495. package/build/server/routes/metrics.js +81 -0
  496. package/build/server/routes/metrics.js.map +1 -0
  497. package/build/server/routes/oauth-router.d.ts +50 -0
  498. package/build/server/routes/oauth-router.d.ts.map +1 -0
  499. package/build/server/routes/oauth-router.js +53 -0
  500. package/build/server/routes/oauth-router.js.map +1 -0
  501. package/build/server/routes/readiness-status.d.ts +25 -0
  502. package/build/server/routes/readiness-status.d.ts.map +1 -0
  503. package/build/server/routes/readiness-status.js +27 -0
  504. package/build/server/routes/readiness-status.js.map +1 -0
  505. package/build/server/routes/sse-router.d.ts +43 -0
  506. package/build/server/routes/sse-router.d.ts.map +1 -0
  507. package/build/server/routes/sse-router.js +92 -0
  508. package/build/server/routes/sse-router.js.map +1 -0
  509. package/build/server/routes/streamable-http-router.d.ts +36 -0
  510. package/build/server/routes/streamable-http-router.d.ts.map +1 -0
  511. package/build/server/routes/streamable-http-router.js +59 -0
  512. package/build/server/routes/streamable-http-router.js.map +1 -0
  513. package/build/server/server-instance.d.ts +185 -0
  514. package/build/server/server-instance.d.ts.map +1 -0
  515. package/build/server/server-instance.js +615 -0
  516. package/build/server/server-instance.js.map +1 -0
  517. package/build/server/server-options.d.ts +411 -0
  518. package/build/server/server-options.d.ts.map +1 -0
  519. package/build/server/server-options.js +17 -0
  520. package/build/server/server-options.js.map +1 -0
  521. package/build/server/session/in-memory-store.d.ts +128 -0
  522. package/build/server/session/in-memory-store.d.ts.map +1 -0
  523. package/build/server/session/in-memory-store.js +312 -0
  524. package/build/server/session/in-memory-store.js.map +1 -0
  525. package/build/server/session/index.d.ts +43 -0
  526. package/build/server/session/index.d.ts.map +1 -0
  527. package/build/server/session/index.js +47 -0
  528. package/build/server/session/index.js.map +1 -0
  529. package/build/server/session/mcp-session.d.ts +210 -0
  530. package/build/server/session/mcp-session.d.ts.map +1 -0
  531. package/build/server/session/mcp-session.js +428 -0
  532. package/build/server/session/mcp-session.js.map +1 -0
  533. package/build/server/session/session-factory.d.ts +119 -0
  534. package/build/server/session/session-factory.d.ts.map +1 -0
  535. package/build/server/session/session-factory.js +131 -0
  536. package/build/server/session/session-factory.js.map +1 -0
  537. package/build/server/session/session-housekeeper.d.ts +100 -0
  538. package/build/server/session/session-housekeeper.d.ts.map +1 -0
  539. package/build/server/session/session-housekeeper.js +217 -0
  540. package/build/server/session/session-housekeeper.js.map +1 -0
  541. package/build/server/session/session-manager.d.ts +227 -0
  542. package/build/server/session/session-manager.d.ts.map +1 -0
  543. package/build/server/session/session-manager.js +282 -0
  544. package/build/server/session/session-manager.js.map +1 -0
  545. package/build/server/session/session-store.d.ts +95 -0
  546. package/build/server/session/session-store.d.ts.map +1 -0
  547. package/build/server/session/session-store.js +13 -0
  548. package/build/server/session/session-store.js.map +1 -0
  549. package/build/server/session/session.d.ts +132 -0
  550. package/build/server/session/session.d.ts.map +1 -0
  551. package/build/server/session/session.js +61 -0
  552. package/build/server/session/session.js.map +1 -0
  553. package/build/server/transport/constants.d.ts +85 -0
  554. package/build/server/transport/constants.d.ts.map +1 -0
  555. package/build/server/transport/constants.js +103 -0
  556. package/build/server/transport/constants.js.map +1 -0
  557. package/build/server/transport/index.d.ts +21 -0
  558. package/build/server/transport/index.d.ts.map +1 -0
  559. package/build/server/transport/index.js +28 -0
  560. package/build/server/transport/index.js.map +1 -0
  561. package/build/server/transport/sse/handler.d.ts +46 -0
  562. package/build/server/transport/sse/handler.d.ts.map +1 -0
  563. package/build/server/transport/sse/handler.js +189 -0
  564. package/build/server/transport/sse/handler.js.map +1 -0
  565. package/build/server/transport/sse/index.d.ts +15 -0
  566. package/build/server/transport/sse/index.d.ts.map +1 -0
  567. package/build/server/transport/sse/index.js +14 -0
  568. package/build/server/transport/sse/index.js.map +1 -0
  569. package/build/server/transport/sse/transport.d.ts +94 -0
  570. package/build/server/transport/sse/transport.d.ts.map +1 -0
  571. package/build/server/transport/sse/transport.js +175 -0
  572. package/build/server/transport/sse/transport.js.map +1 -0
  573. package/build/server/transport/stdio-transport.d.ts +23 -0
  574. package/build/server/transport/stdio-transport.d.ts.map +1 -0
  575. package/build/server/transport/stdio-transport.js +59 -0
  576. package/build/server/transport/stdio-transport.js.map +1 -0
  577. package/build/server/transport/streamable-http/index.d.ts +9 -0
  578. package/build/server/transport/streamable-http/index.d.ts.map +1 -0
  579. package/build/server/transport/streamable-http/index.js +9 -0
  580. package/build/server/transport/streamable-http/index.js.map +1 -0
  581. package/build/server/transport/streamable-http/stateful-handler.d.ts +41 -0
  582. package/build/server/transport/streamable-http/stateful-handler.d.ts.map +1 -0
  583. package/build/server/transport/streamable-http/stateful-handler.js +264 -0
  584. package/build/server/transport/streamable-http/stateful-handler.js.map +1 -0
  585. package/build/server/transport/streamable-http/stateless-handler.d.ts +28 -0
  586. package/build/server/transport/streamable-http/stateless-handler.d.ts.map +1 -0
  587. package/build/server/transport/streamable-http/stateless-handler.js +81 -0
  588. package/build/server/transport/streamable-http/stateless-handler.js.map +1 -0
  589. package/build/server/transport/streamable-http/transport.d.ts +110 -0
  590. package/build/server/transport/streamable-http/transport.d.ts.map +1 -0
  591. package/build/server/transport/streamable-http/transport.js +118 -0
  592. package/build/server/transport/streamable-http/transport.js.map +1 -0
  593. package/build/server/transport/transport-context.d.ts +67 -0
  594. package/build/server/transport/transport-context.d.ts.map +1 -0
  595. package/build/server/transport/transport-context.js +38 -0
  596. package/build/server/transport/transport-context.js.map +1 -0
  597. package/build/server/transport/types.d.ts +56 -0
  598. package/build/server/transport/types.d.ts.map +1 -0
  599. package/build/server/transport/types.js +11 -0
  600. package/build/server/transport/types.js.map +1 -0
  601. package/build/server/transport-options.d.ts +248 -0
  602. package/build/server/transport-options.d.ts.map +1 -0
  603. package/build/server/transport-options.js +18 -0
  604. package/build/server/transport-options.js.map +1 -0
  605. package/build/server/types.d.ts +172 -0
  606. package/build/server/types.d.ts.map +1 -0
  607. package/build/server/types.js +9 -0
  608. package/build/server/types.js.map +1 -0
  609. package/build/telemetry/connection-telemetry-bridge.d.ts +30 -0
  610. package/build/telemetry/connection-telemetry-bridge.d.ts.map +1 -0
  611. package/build/telemetry/connection-telemetry-bridge.js +54 -0
  612. package/build/telemetry/connection-telemetry-bridge.js.map +1 -0
  613. package/build/telemetry/core/config.d.ts +38 -0
  614. package/build/telemetry/core/config.d.ts.map +1 -0
  615. package/build/telemetry/core/config.js +54 -0
  616. package/build/telemetry/core/config.js.map +1 -0
  617. package/build/telemetry/core/constants.d.ts +183 -0
  618. package/build/telemetry/core/constants.d.ts.map +1 -0
  619. package/build/telemetry/core/constants.js +207 -0
  620. package/build/telemetry/core/constants.js.map +1 -0
  621. package/build/telemetry/core/diag-logger.d.ts +35 -0
  622. package/build/telemetry/core/diag-logger.d.ts.map +1 -0
  623. package/build/telemetry/core/diag-logger.js +54 -0
  624. package/build/telemetry/core/diag-logger.js.map +1 -0
  625. package/build/telemetry/core/index.d.ts +12 -0
  626. package/build/telemetry/core/index.d.ts.map +1 -0
  627. package/build/telemetry/core/index.js +32 -0
  628. package/build/telemetry/core/index.js.map +1 -0
  629. package/build/telemetry/core/types.d.ts +106 -0
  630. package/build/telemetry/core/types.d.ts.map +1 -0
  631. package/build/telemetry/core/types.js +10 -0
  632. package/build/telemetry/core/types.js.map +1 -0
  633. package/build/telemetry/index.d.ts +59 -0
  634. package/build/telemetry/index.d.ts.map +1 -0
  635. package/build/telemetry/index.js +79 -0
  636. package/build/telemetry/index.js.map +1 -0
  637. package/build/telemetry/metrics.d.ts +127 -0
  638. package/build/telemetry/metrics.d.ts.map +1 -0
  639. package/build/telemetry/metrics.js +337 -0
  640. package/build/telemetry/metrics.js.map +1 -0
  641. package/build/telemetry/sdk.d.ts +110 -0
  642. package/build/telemetry/sdk.d.ts.map +1 -0
  643. package/build/telemetry/sdk.js +547 -0
  644. package/build/telemetry/sdk.js.map +1 -0
  645. package/build/telemetry/tracing.d.ts +78 -0
  646. package/build/telemetry/tracing.d.ts.map +1 -0
  647. package/build/telemetry/tracing.js +257 -0
  648. package/build/telemetry/tracing.js.map +1 -0
  649. package/build/utils/env-helpers.d.ts +46 -0
  650. package/build/utils/env-helpers.d.ts.map +1 -0
  651. package/build/utils/env-helpers.js +54 -0
  652. package/build/utils/env-helpers.js.map +1 -0
  653. package/build/utils/index.d.ts +14 -0
  654. package/build/utils/index.d.ts.map +1 -0
  655. package/build/utils/index.js +19 -0
  656. package/build/utils/index.js.map +1 -0
  657. package/build/utils/sensitive-keys.d.ts +48 -0
  658. package/build/utils/sensitive-keys.d.ts.map +1 -0
  659. package/build/utils/sensitive-keys.js +131 -0
  660. package/build/utils/sensitive-keys.js.map +1 -0
  661. package/build/utils/string-helpers.d.ts +126 -0
  662. package/build/utils/string-helpers.d.ts.map +1 -0
  663. package/build/utils/string-helpers.js +189 -0
  664. package/build/utils/string-helpers.js.map +1 -0
  665. package/build/utils/validation.d.ts +84 -0
  666. package/build/utils/validation.d.ts.map +1 -0
  667. package/build/utils/validation.js +111 -0
  668. package/build/utils/validation.js.map +1 -0
  669. package/build/utils/zod-helpers.d.ts +92 -0
  670. package/build/utils/zod-helpers.d.ts.map +1 -0
  671. package/build/utils/zod-helpers.js +120 -0
  672. package/build/utils/zod-helpers.js.map +1 -0
  673. package/package.json +133 -0
@@ -0,0 +1,411 @@
1
+ /**
2
+ * Server Configuration Types
3
+ *
4
+ * Types for configuring and building MCP servers.
5
+ * Provides a clean, declarative API for server setup.
6
+ *
7
+ * @module server/server-options
8
+ */
9
+ import type { ServerLifecycleHooks, ShutdownConfig } from "./lifecycle.js";
10
+ import type { HandlersConfig } from "../mcp/types/index.js";
11
+ import type { ConnectionStateManager } from "../connection/index.js";
12
+ import type { ServiceClient } from "../connection/types.js";
13
+ import type { SessionStore } from "./session/index.js";
14
+ import type { ServerCapabilities } from "../mcp/capabilities/server-capabilities.js";
15
+ import type { TransportOptions } from "./transport-options.js";
16
+ import type { AuthOptions } from "./auth/types.js";
17
+ export { type TransportMode, type TlsConfig, type BaseHttpTransportOptions, type StdioTransportOptions, type HttpTransportOptions, type HttpsTransportOptions, type TransportOptions, isHttpTransport, } from "./transport-options.js";
18
+ export { type ServerCapabilities, DEFAULT_CAPABILITIES } from "../mcp/capabilities/server-capabilities.js";
19
+ /**
20
+ * Health endpoint configuration for API connectivity monitoring.
21
+ *
22
+ * Allows consumers to wire their {@link ConnectionStateManager} to the
23
+ * `/ready` endpoint so readiness probes reflect the actual API connection state.
24
+ *
25
+ * Without this configuration, the `/ready` endpoint reports
26
+ * `api: { configured: false, state: 'unknown', connected: false }`.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const server = createServer({
31
+ * name: 'my-server',
32
+ * version: '1.0.0',
33
+ * transport: { mode: 'http' },
34
+ * health: {
35
+ * connectionManager: myConnectionManager,
36
+ * isApiConfigured: () => !!process.env.MY_API_URL,
37
+ * apiLabel: 'my-api',
38
+ * },
39
+ * });
40
+ * ```
41
+ */
42
+ export interface HealthConfig<TService extends ServiceClient = ServiceClient> {
43
+ /**
44
+ * Connection state manager for API health checks.
45
+ * If not provided, API connectivity checks are skipped.
46
+ */
47
+ readonly connectionManager?: ConnectionStateManager<TService>;
48
+ /**
49
+ * Function to check if the API is configured.
50
+ * If not provided, defaults to checking for `API_URL` env var.
51
+ */
52
+ readonly isApiConfigured?: () => boolean;
53
+ /**
54
+ * Label for the API in health responses (e.g., 'my-api', 'docker').
55
+ * @default 'api'
56
+ */
57
+ readonly apiLabel?: string;
58
+ }
59
+ /**
60
+ * Session configuration options for the programmatic API.
61
+ *
62
+ * Allows fine-tuning session lifecycle behavior directly from
63
+ * `createServer()` or `McpServerBuilder.withOptions()`. All properties
64
+ * are optional — defaults are resolved from environment variables
65
+ * and config files via the standard config cascade.
66
+ *
67
+ * This is particularly useful for "lightweight stateful" deployments
68
+ * where short session timeouts are preferred over full stateless mode,
69
+ * retaining cross-request features (cancellation, sampling, elicitation)
70
+ * that stateless mode cannot support.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Lightweight stateful — short-lived sessions with all MCP features
75
+ * createServer({
76
+ * name: 'my-server',
77
+ * version: '1.0.0',
78
+ * transport: { mode: 'http' },
79
+ * session: {
80
+ * timeoutMs: 60_000, // 1 minute instead of default 30 min
81
+ * cleanupIntervalMs: 10_000, // Check every 10s
82
+ * },
83
+ * });
84
+ *
85
+ * // Custom session store for horizontal scaling
86
+ * createServer({
87
+ * name: 'my-server',
88
+ * version: '1.0.0',
89
+ * transport: { mode: 'http' },
90
+ * session: { store: new RedisSessionStore() },
91
+ * });
92
+ * ```
93
+ *
94
+ * @see SessionConfig for default values
95
+ */
96
+ export interface SessionConfigOptions {
97
+ /**
98
+ * Session timeout in milliseconds.
99
+ *
100
+ * Sessions inactive for longer than this value are cleaned up by the
101
+ * housekeeper. Lower values create "lightweight" sessions that free
102
+ * resources faster.
103
+ *
104
+ * @default 1_800_000 (30 minutes, from MCP_SESSION_TIMEOUT_MS)
105
+ */
106
+ readonly timeoutMs?: number;
107
+ /**
108
+ * Interval between cleanup sweeps in milliseconds.
109
+ *
110
+ * The housekeeper checks for expired/stale sessions at this interval.
111
+ * Set to `0` to disable cleanup (e.g., stdio mode).
112
+ *
113
+ * @default 60_000 (60 seconds, from MCP_SESSION_CLEANUP_INTERVAL_MS)
114
+ */
115
+ readonly cleanupIntervalMs?: number;
116
+ /**
117
+ * Keep-alive heartbeat interval in milliseconds.
118
+ *
119
+ * The housekeeper sends keep-alive pings at this interval to detect
120
+ * dead connections. Set to `0` to disable heartbeats.
121
+ *
122
+ * @default 30_000 (30 seconds, from MCP_SESSION_KEEP_ALIVE_INTERVAL_MS)
123
+ */
124
+ readonly keepAliveIntervalMs?: number;
125
+ /**
126
+ * Maximum missed heartbeats before a session is considered stale.
127
+ *
128
+ * @default 3 (from MCP_SESSION_MAX_MISSED_HEARTBEATS)
129
+ */
130
+ readonly maxMissedHeartbeats?: number;
131
+ /**
132
+ * Maximum concurrent sessions across all transports.
133
+ *
134
+ * @default 200 (from MCP_MAX_SESSIONS)
135
+ */
136
+ readonly maxSessions?: number;
137
+ /**
138
+ * Custom session store implementation.
139
+ *
140
+ * When provided, replaces the built-in in-memory session store.
141
+ * Useful for horizontal scaling with Redis, PostgreSQL, or another
142
+ * shared backend.
143
+ *
144
+ * @default InMemorySessionStore
145
+ */
146
+ readonly store?: SessionStore;
147
+ }
148
+ /**
149
+ * Complete server configuration options.
150
+ *
151
+ * This interface provides a declarative way to configure an MCP server.
152
+ * All options have sensible defaults.
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const options: ServerOptions = {
157
+ * name: 'my-mcp-server',
158
+ * version: '1.0.0',
159
+ * transport: { mode: 'http', port: 8080 },
160
+ * capabilities: { tools: true, resources: true },
161
+ * lifecycle: {
162
+ * onStarted: () => console.log('Server started!'),
163
+ * },
164
+ * };
165
+ * ```
166
+ */
167
+ export interface ServerOptions {
168
+ /**
169
+ * Server name displayed to MCP clients.
170
+ *
171
+ * @example 'my-mcp-server', 'api-mcp-server'
172
+ */
173
+ name: string;
174
+ /**
175
+ * Server version (typically from package.json).
176
+ *
177
+ * @example '1.0.0'
178
+ */
179
+ version: string;
180
+ /**
181
+ * Transport configuration (required).
182
+ *
183
+ * Explicitly specify how the server communicates with clients.
184
+ * Use `{ mode: 'stdio' }` for CLI usage or `{ mode: 'http' }` for network usage.
185
+ */
186
+ transport: TransportOptions;
187
+ /**
188
+ * Server capabilities to advertise.
189
+ *
190
+ * @default { tools: { listChanged: true }, logging: true }
191
+ */
192
+ capabilities?: ServerCapabilities | undefined;
193
+ /**
194
+ * Custom protocol handler hooks.
195
+ *
196
+ * Allows customizing behavior when MCP protocol events occur.
197
+ * The framework handles protocol compliance - these are for app logic.
198
+ *
199
+ * Note: Cancellation is handled automatically by the framework.
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * handlers: {
204
+ * onPing: () => metrics.increment('mcp.ping'),
205
+ * }
206
+ * ```
207
+ */
208
+ handlers?: HandlersConfig | undefined;
209
+ /**
210
+ * Lifecycle hooks for startup/shutdown.
211
+ */
212
+ lifecycle?: ServerLifecycleHooks | undefined;
213
+ /**
214
+ * Shutdown configuration.
215
+ */
216
+ shutdown?: Partial<ShutdownConfig> | undefined;
217
+ /**
218
+ * Health endpoint configuration for API connectivity monitoring.
219
+ *
220
+ * Wires a {@link ConnectionStateManager} to the `/ready` endpoint so
221
+ * readiness probes reflect the actual API connection state.
222
+ */
223
+ health?: HealthConfig | undefined;
224
+ /**
225
+ * Session management configuration.
226
+ *
227
+ * Fine-tune session lifecycle behavior (timeouts, cleanup intervals,
228
+ * capacity). Only relevant for HTTP-based transports — stdio always
229
+ * uses a single session with no background tasks.
230
+ *
231
+ * All values are optional and fall back to environment variables / config
232
+ * file defaults from the standard config cascade.
233
+ *
234
+ * @see SessionConfigOptions for available options and defaults
235
+ */
236
+ session?: SessionConfigOptions | undefined;
237
+ /**
238
+ * Authentication configuration.
239
+ *
240
+ * Enables OAuth 2.1 or custom token verification on the server.
241
+ * When configured, the `/mcp` endpoint requires Bearer authentication.
242
+ * Health and metrics endpoints remain unauthenticated for probes.
243
+ *
244
+ * Only relevant for HTTP-based transports — stdio mode does not
245
+ * support authentication (a warning is logged if configured).
246
+ *
247
+ * @example OAuth provider
248
+ * ```typescript
249
+ * createServer({
250
+ * name: 'my-server',
251
+ * version: '1.0.0',
252
+ * transport: { mode: 'http' },
253
+ * auth: {
254
+ * provider: myOAuthProvider,
255
+ * issuerUrl: new URL('https://auth.example.com'),
256
+ * requiredScopes: ['mcp:read'],
257
+ * },
258
+ * });
259
+ * ```
260
+ *
261
+ * @example Custom token verifier
262
+ * ```typescript
263
+ * createServer({
264
+ * name: 'my-server',
265
+ * version: '1.0.0',
266
+ * transport: { mode: 'http' },
267
+ * auth: {
268
+ * provider: { verifyAccessToken: async (token) => ({ ... }) },
269
+ * },
270
+ * });
271
+ * ```
272
+ *
273
+ * @see AuthOptions for all configuration options
274
+ */
275
+ auth?: AuthOptions | undefined;
276
+ /**
277
+ * Enable OpenTelemetry tracing and metrics.
278
+ *
279
+ * When set via `createServer()`, this is resolved from:
280
+ * 1. Explicit `telemetry` option (highest priority)
281
+ * 2. `OTEL_ENABLED` env var or config file (fallback)
282
+ *
283
+ * @default undefined (resolved from config)
284
+ */
285
+ telemetryEnabled?: boolean | undefined;
286
+ /**
287
+ * OpenTelemetry service name.
288
+ *
289
+ * @default Server name
290
+ */
291
+ telemetryServiceName?: string | undefined;
292
+ /**
293
+ * Called before the OpenTelemetry SDK is initialized.
294
+ *
295
+ * Power users can use this callback to configure low-level OTEL APIs
296
+ * before the framework creates the NodeSDK instance. Common use cases:
297
+ *
298
+ * - Set a custom `DiagLogger` via `diag.setLogger()` for SDK-level
299
+ * diagnostics (by default no DiagLogger is set — output is suppressed)
300
+ * - Register custom instrumentation
301
+ * - Configure global propagators or samplers
302
+ *
303
+ * The callback runs after framework config resolution but before
304
+ * `OTEL_LOG_LEVEL` is consumed from `process.env` and SDK construction.
305
+ * If you set a DiagLogger here, the framework will not override it.
306
+ *
307
+ * **Important**: Custom DiagLoggers must NOT write to stdout (reserved
308
+ * for MCP protocol data in stdio transport mode).
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * import { diag, DiagConsoleLogger, DiagLogLevel } from '@opentelemetry/api';
313
+ *
314
+ * const server = createServer({
315
+ * name: 'my-server',
316
+ * version: '1.0.0',
317
+ * onBeforeTelemetryInit: () => {
318
+ * diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
319
+ * },
320
+ * });
321
+ * ```
322
+ */
323
+ onBeforeTelemetryInit?: (() => void) | undefined;
324
+ }
325
+ /**
326
+ * Result from server builder/factory.
327
+ */
328
+ export interface ServerInstance {
329
+ /** Start the server */
330
+ start(): Promise<void>;
331
+ /** Stop the server gracefully */
332
+ stop(): Promise<void>;
333
+ /**
334
+ * Initialize OpenTelemetry before starting the server.
335
+ *
336
+ * OTEL auto-instrumentation must be initialized before any HTTP/Express
337
+ * modules are loaded to properly instrument them. Call this method
338
+ * as early as possible in your application bootstrap.
339
+ *
340
+ * If not called explicitly, `start()` will initialize telemetry
341
+ * automatically as a fallback (but auto-instrumentation may miss
342
+ * modules already loaded).
343
+ *
344
+ * No-op if telemetry is not enabled in server options.
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * const server = builder.build();
349
+ * await server.initTelemetry(); // Before any other imports
350
+ * await server.start();
351
+ * ```
352
+ */
353
+ initTelemetry(): Promise<void>;
354
+ /**
355
+ * Notify all connected MCP clients that the tool list has changed.
356
+ *
357
+ * Call this when tool availability changes (e.g., connection state).
358
+ * The framework will send `notifications/tools/list_changed` to all
359
+ * connected clients per MCP specification.
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // When API connection established
364
+ * apiClient.on('connected', () => server.notifyToolListChanged());
365
+ *
366
+ * // When API connection lost
367
+ * apiClient.on('disconnected', () => server.notifyToolListChanged());
368
+ * ```
369
+ */
370
+ notifyToolListChanged(): void;
371
+ /**
372
+ * Notify all connected MCP clients that the resource list has changed.
373
+ *
374
+ * Call this when resource availability changes dynamically.
375
+ * The framework will send `notifications/resources/list_changed` to all
376
+ * connected clients per MCP specification.
377
+ */
378
+ notifyResourceListChanged(): void;
379
+ /**
380
+ * Notify all connected MCP clients that the prompt list has changed.
381
+ *
382
+ * Call this when prompt availability changes dynamically.
383
+ * The framework will send `notifications/prompts/list_changed` to all
384
+ * connected clients per MCP specification.
385
+ */
386
+ notifyPromptListChanged(): void;
387
+ /**
388
+ * Notify subscribed MCP clients that a specific resource has been updated.
389
+ *
390
+ * Only clients that previously sent `resources/subscribe` for the given URI
391
+ * receive the `notifications/resources/updated` notification.
392
+ *
393
+ * Requires `capabilities: { resources: { subscribe: true } }` to be set.
394
+ *
395
+ * @param uri - The resource URI that has changed
396
+ *
397
+ * @example
398
+ * ```typescript
399
+ * // When a monitored resource changes
400
+ * server.notifyResourceUpdated('config://app/settings');
401
+ * ```
402
+ */
403
+ notifyResourceUpdated(uri: string): void;
404
+ /** Server name */
405
+ readonly name: string;
406
+ /** Server version */
407
+ readonly version: string;
408
+ /** Whether the server is running */
409
+ readonly isRunning: boolean;
410
+ }
411
+ //# sourceMappingURL=server-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-options.d.ts","sourceRoot":"","sources":["../../src/server/server-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Server Configuration Types
3
+ *
4
+ * Types for configuring and building MCP servers.
5
+ * Provides a clean, declarative API for server setup.
6
+ *
7
+ * @module server/server-options
8
+ */
9
+ // ============================================================================
10
+ // Transport Configuration (canonical location: transport-options.ts)
11
+ // ============================================================================
12
+ export { isHttpTransport, } from "./transport-options.js";
13
+ // ============================================================================
14
+ // Server Capabilities (canonical location: mcp/capabilities/server-capabilities.ts)
15
+ // ============================================================================
16
+ export { DEFAULT_CAPABILITIES } from "../mcp/capabilities/server-capabilities.js";
17
+ //# sourceMappingURL=server-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-options.js","sourceRoot":"","sources":["../../src/server/server-options.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,+EAA+E;AAC/E,qEAAqE;AACrE,+EAA+E;AAE/E,OAAO,EAQL,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAEhC,+EAA+E;AAC/E,oFAAoF;AACpF,+EAA+E;AAE/E,OAAO,EAA2B,oBAAoB,EAAE,MAAM,4CAA4C,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * In-Memory Session Store
3
+ *
4
+ * Built-in session store implementation using a `Map`.
5
+ * Suitable for single-instance deployments.
6
+ *
7
+ * For horizontal scaling, implement the {@link SessionStore} interface
8
+ * with a shared backend (Redis, PostgreSQL, etc.).
9
+ *
10
+ * Contains NO timer logic — background tasks are handled by SessionHousekeeper.
11
+ *
12
+ * @module server/session/in-memory-store
13
+ */
14
+ import type { TransportType } from "../transport/transport-context.js";
15
+ import type { Session, ReadonlySession, SessionCloseReason, CreateSessionOptions } from "./session.js";
16
+ import type { SessionStore, SessionStats } from "./session-store.js";
17
+ /**
18
+ * Built-in in-memory session store using a `Map`.
19
+ *
20
+ * Suitable for single-instance deployments. For horizontal scaling,
21
+ * implement the {@link SessionStore} interface with a shared backend.
22
+ *
23
+ * Responsibilities:
24
+ * - Create, get, close, and query sessions
25
+ * - Enforce capacity limits
26
+ * - Track statistics (created, peak, by transport type)
27
+ * - Broadcast notifications to all connected clients
28
+ *
29
+ * Does NOT manage timers or background tasks.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const store = new InMemorySessionStore(100);
34
+ *
35
+ * const session = store.create({ transportType: 'http', transport, mcpSession });
36
+ * const found = store.get(session.id);
37
+ * store.broadcastToolListChanged();
38
+ * await store.close(session.id, SESSION_CLOSE_REASONS.CLIENT_DISCONNECT);
39
+ * ```
40
+ */
41
+ export declare class InMemorySessionStore implements SessionStore {
42
+ private readonly maxSessions;
43
+ /** Active sessions indexed by session ID */
44
+ private readonly sessions;
45
+ /** Statistics counters */
46
+ private readonly statsCounters;
47
+ /** Sessions by transport type (for stats) */
48
+ private readonly byTransportType;
49
+ /** Whether the store is rejecting new sessions */
50
+ private isShuttingDown;
51
+ constructor(maxSessions: number);
52
+ get size(): number;
53
+ get stats(): SessionStats;
54
+ /**
55
+ * Creates and registers a new session.
56
+ *
57
+ * Capacity check and insertion are synchronous (no await between them),
58
+ * which is safe in Node.js single-threaded event loop. Do NOT introduce
59
+ * any async operations between hasCapacity() and sessions.set().
60
+ *
61
+ * @param options - Session creation options
62
+ * @returns The created session, or undefined if at max capacity or shutting down
63
+ */
64
+ create(options: CreateSessionOptions): Session | undefined;
65
+ /**
66
+ * Gets an active session by ID.
67
+ * Does NOT update activity time (use touch() for that).
68
+ */
69
+ get(sessionId: string): Session | undefined;
70
+ /**
71
+ * Checks if a session exists and is active.
72
+ */
73
+ has(sessionId: string): boolean;
74
+ /**
75
+ * Updates the last activity time for a session.
76
+ * Also resets missed heartbeat count.
77
+ */
78
+ touch(sessionId: string): boolean;
79
+ /**
80
+ * Checks if there's capacity for new sessions.
81
+ */
82
+ hasCapacity(): boolean;
83
+ /**
84
+ * Removes a session from the store and updates statistics.
85
+ *
86
+ * Pure data operation — does NOT close transport or dispose MCP session.
87
+ * The caller (SessionManager) is responsible for I/O teardown.
88
+ *
89
+ * @param sessionId - Session identifier
90
+ * @param reason - Reason for closure (tracked in stats)
91
+ * @returns The removed session, or undefined if not found
92
+ */
93
+ remove(sessionId: string, reason: SessionCloseReason): Session | undefined;
94
+ /**
95
+ * Removes all sessions from the store during shutdown.
96
+ * Returns the removed sessions for the caller to handle I/O teardown.
97
+ */
98
+ removeAll(): Session[];
99
+ /**
100
+ * Marks the store as shutting down (rejects new sessions).
101
+ */
102
+ markShuttingDown(): void;
103
+ /**
104
+ * Iterates over all active sessions.
105
+ */
106
+ forEach(callback: (session: ReadonlySession, sessionId: string) => void): void;
107
+ /**
108
+ * Finds sessions matching a predicate.
109
+ */
110
+ filter(predicate: (session: ReadonlySession) => boolean): ReadonlySession[];
111
+ /**
112
+ * Gets all sessions of a specific transport type.
113
+ */
114
+ getByTransportType(type: TransportType): ReadonlySession[];
115
+ /**
116
+ * Broadcasts tool list changed notification to all active sessions.
117
+ */
118
+ broadcastToolListChanged(): void;
119
+ broadcastResourceListChanged(): void;
120
+ broadcastPromptListChanged(): void;
121
+ broadcastResourceUpdated(uri: string): void;
122
+ /**
123
+ * Broadcasts a notification to all active sessions.
124
+ * @internal
125
+ */
126
+ private broadcastToSessions;
127
+ }
128
+ //# sourceMappingURL=in-memory-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/server/session/in-memory-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEvG,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBrE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAuB3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAtBxC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAEvD,0BAA0B;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;IAEF,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF,kDAAkD;IAClD,OAAO,CAAC,cAAc,CAAS;gBAEF,WAAW,EAAE,MAAM;IAMhD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,YAAY,CAUxB;IAMD;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,GAAG,SAAS;IA2B1D;;;OAGG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAQ3C;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK/B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAajC;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,GAAG,SAAS;IAsB1E;;;OAGG;IACH,SAAS,IAAI,OAAO,EAAE;IAkBtB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAQxB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAM9E;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,GAAG,eAAe,EAAE;IAU3E;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,EAAE;IAQ1D;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAIhC,4BAA4B,IAAI,IAAI;IAIpC,0BAA0B,IAAI,IAAI;IAIlC,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAgB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CA0B5B"}