@confluentinc/mcp-confluent 1.0.1 → 1.0.3

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 (257) hide show
  1. package/README.md +277 -25
  2. package/dist/cli.d.ts +42 -3
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +203 -30
  5. package/dist/cli.js.map +1 -1
  6. package/dist/confluent/client-manager.d.ts +31 -11
  7. package/dist/confluent/client-manager.d.ts.map +1 -1
  8. package/dist/confluent/client-manager.js +76 -32
  9. package/dist/confluent/client-manager.js.map +1 -1
  10. package/dist/confluent/helpers.d.ts +2 -2
  11. package/dist/confluent/helpers.d.ts.map +1 -1
  12. package/dist/confluent/helpers.js +1 -1
  13. package/dist/confluent/helpers.js.map +1 -1
  14. package/dist/confluent/middleware.d.ts +12 -11
  15. package/dist/confluent/middleware.d.ts.map +1 -1
  16. package/dist/confluent/middleware.js +6 -37
  17. package/dist/confluent/middleware.js.map +1 -1
  18. package/dist/confluent/schema-registry-helper.d.ts +134 -0
  19. package/dist/confluent/schema-registry-helper.d.ts.map +1 -0
  20. package/dist/confluent/schema-registry-helper.js +202 -0
  21. package/dist/confluent/schema-registry-helper.js.map +1 -0
  22. package/dist/confluent/schema.d.ts.map +1 -1
  23. package/dist/confluent/schema.js +1 -3
  24. package/dist/confluent/schema.js.map +1 -1
  25. package/dist/confluent/tools/base-tools.d.ts +43 -2
  26. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  27. package/dist/confluent/tools/base-tools.js +17 -0
  28. package/dist/confluent/tools/base-tools.js.map +1 -1
  29. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -0
  30. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  31. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +7 -1
  32. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  33. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +3 -0
  34. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  35. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +7 -1
  36. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  37. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -0
  38. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  39. package/dist/confluent/tools/handlers/catalog/delete-tag.js +7 -1
  40. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  41. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +3 -0
  42. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  43. package/dist/confluent/tools/handlers/catalog/list-tags.js +7 -1
  44. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  45. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +3 -0
  46. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  47. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +7 -1
  48. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  49. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +31 -28
  50. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  51. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -4
  52. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  53. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +3 -0
  54. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  55. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +12 -1
  56. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  57. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +3 -0
  58. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  59. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +7 -1
  60. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  61. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +3 -0
  62. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  63. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +7 -1
  64. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  65. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +3 -0
  66. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +1 -1
  67. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +7 -1
  68. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +1 -1
  69. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +19 -16
  70. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  71. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -4
  72. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  73. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +3 -0
  74. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  75. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +11 -4
  76. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  77. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +3 -0
  78. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  79. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +9 -3
  80. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  81. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +3 -0
  82. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  83. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -1
  84. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  85. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +3 -0
  86. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  87. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +9 -3
  88. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  89. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +3 -0
  90. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
  91. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -1
  92. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
  93. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +3 -0
  94. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  95. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +7 -1
  96. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  97. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +117 -0
  98. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -0
  99. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +177 -0
  100. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -0
  101. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -0
  102. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  103. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +4 -1
  104. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  105. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +2 -0
  106. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  107. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +3 -0
  108. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  109. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +16 -0
  110. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -0
  111. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +67 -0
  112. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -0
  113. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -0
  114. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  115. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +3 -0
  116. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  117. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +30 -0
  118. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  119. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +117 -7
  120. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  121. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -0
  122. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  123. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +98 -24
  124. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  125. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +3 -0
  126. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  127. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +7 -1
  128. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  129. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +3 -0
  130. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  131. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +7 -1
  132. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  133. package/dist/confluent/tools/tool-factory.d.ts.map +1 -1
  134. package/dist/confluent/tools/tool-factory.js +8 -4
  135. package/dist/confluent/tools/tool-factory.js.map +1 -1
  136. package/dist/confluent/tools/tool-name.d.ts +3 -1
  137. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  138. package/dist/confluent/tools/tool-name.js +2 -0
  139. package/dist/confluent/tools/tool-name.js.map +1 -1
  140. package/dist/env-schema.d.ts +40 -30
  141. package/dist/env-schema.d.ts.map +1 -1
  142. package/dist/env-schema.js +36 -12
  143. package/dist/env-schema.js.map +1 -1
  144. package/dist/env.d.ts +12 -9
  145. package/dist/env.d.ts.map +1 -1
  146. package/dist/env.js +7 -7
  147. package/dist/env.js.map +1 -1
  148. package/dist/index.js +96 -28
  149. package/dist/index.js.map +1 -1
  150. package/dist/lazy.d.ts.map +1 -1
  151. package/dist/lazy.js +7 -6
  152. package/dist/lazy.js.map +1 -1
  153. package/dist/logger.d.ts +14 -0
  154. package/dist/logger.d.ts.map +1 -0
  155. package/dist/logger.js +65 -0
  156. package/dist/logger.js.map +1 -0
  157. package/dist/mcp/transports/http.d.ts +12 -0
  158. package/dist/mcp/transports/http.d.ts.map +1 -0
  159. package/dist/mcp/transports/http.js +127 -0
  160. package/dist/mcp/transports/http.js.map +1 -0
  161. package/dist/mcp/transports/index.d.ts +7 -0
  162. package/dist/mcp/transports/index.d.ts.map +1 -0
  163. package/dist/mcp/transports/index.js +7 -0
  164. package/dist/mcp/transports/index.js.map +1 -0
  165. package/dist/mcp/transports/manager.d.ts +12 -0
  166. package/dist/mcp/transports/manager.d.ts.map +1 -0
  167. package/dist/mcp/transports/manager.js +86 -0
  168. package/dist/mcp/transports/manager.js.map +1 -0
  169. package/dist/mcp/transports/server.d.ts +12 -0
  170. package/dist/mcp/transports/server.d.ts.map +1 -0
  171. package/dist/mcp/transports/server.js +87 -0
  172. package/dist/mcp/transports/server.js.map +1 -0
  173. package/dist/mcp/transports/sse.d.ts +12 -0
  174. package/dist/mcp/transports/sse.d.ts.map +1 -0
  175. package/dist/mcp/transports/sse.js +110 -0
  176. package/dist/mcp/transports/sse.js.map +1 -0
  177. package/dist/mcp/transports/stdio.d.ts +9 -0
  178. package/dist/mcp/transports/stdio.d.ts.map +1 -0
  179. package/dist/mcp/transports/stdio.js +17 -0
  180. package/dist/mcp/transports/stdio.js.map +1 -0
  181. package/dist/mcp/transports/types.d.ts +14 -0
  182. package/dist/mcp/transports/types.d.ts.map +1 -0
  183. package/dist/mcp/transports/types.js +7 -0
  184. package/dist/mcp/transports/types.js.map +1 -0
  185. package/dist/print-md-schema.d.ts +5 -0
  186. package/dist/print-md-schema.d.ts.map +1 -1
  187. package/dist/print-md-schema.js +6 -0
  188. package/dist/print-md-schema.js.map +1 -1
  189. package/package.json +31 -18
  190. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts +0 -8
  191. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts.map +0 -1
  192. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js +0 -47
  193. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js.map +0 -1
  194. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts +0 -8
  195. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts.map +0 -1
  196. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js +0 -47
  197. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js.map +0 -1
  198. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts +0 -8
  199. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts.map +0 -1
  200. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js +0 -52
  201. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js.map +0 -1
  202. package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts +0 -8
  203. package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts.map +0 -1
  204. package/dist/confluent/tools/handlers/catalog/delete-tag copy.js +0 -42
  205. package/dist/confluent/tools/handlers/catalog/delete-tag copy.js.map +0 -1
  206. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts +0 -8
  207. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts.map +0 -1
  208. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js +0 -56
  209. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js.map +0 -1
  210. package/dist/confluent/tools/handlers/catalog/list-.d.ts +0 -8
  211. package/dist/confluent/tools/handlers/catalog/list-.d.ts.map +0 -1
  212. package/dist/confluent/tools/handlers/catalog/list-.js +0 -35
  213. package/dist/confluent/tools/handlers/catalog/list-.js.map +0 -1
  214. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts +0 -8
  215. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts.map +0 -1
  216. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js +0 -84
  217. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js.map +0 -1
  218. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts +0 -8
  219. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts.map +0 -1
  220. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js +0 -52
  221. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js.map +0 -1
  222. package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts +0 -8
  223. package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts.map +0 -1
  224. package/dist/confluent/tools/handlers/entity/create-topic-tags.js +0 -52
  225. package/dist/confluent/tools/handlers/entity/create-topic-tags.js.map +0 -1
  226. package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts +0 -8
  227. package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts.map +0 -1
  228. package/dist/confluent/tools/handlers/entity/create-topicc-tags.js +0 -52
  229. package/dist/confluent/tools/handlers/entity/create-topicc-tags.js.map +0 -1
  230. package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts +0 -8
  231. package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts.map +0 -1
  232. package/dist/confluent/tools/handlers/entity/create-topics-tags.js +0 -52
  233. package/dist/confluent/tools/handlers/entity/create-topics-tags.js.map +0 -1
  234. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts +0 -8
  235. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts.map +0 -1
  236. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js +0 -39
  237. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js.map +0 -1
  238. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts +0 -8
  239. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts.map +0 -1
  240. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js +0 -39
  241. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js.map +0 -1
  242. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts +0 -14
  243. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts.map +0 -1
  244. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js +0 -61
  245. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js.map +0 -1
  246. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts +0 -8
  247. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts.map +0 -1
  248. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js +0 -28
  249. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js.map +0 -1
  250. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts +0 -8
  251. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts.map +0 -1
  252. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js +0 -45
  253. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js.map +0 -1
  254. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts +0 -8
  255. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts.map +0 -1
  256. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js +0 -39
  257. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { HttpServer } from "./server.js";
3
+ import { Transport } from "./types.js";
4
+ export declare class HttpTransport implements Transport {
5
+ private server;
6
+ private httpServer;
7
+ private sessions;
8
+ constructor(server: McpServer, httpServer: HttpServer);
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAoBvC,qBAAa,aAAc,YAAW,SAAS;IAI3C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,QAAQ,CAAqD;gBAG3D,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU;IAG1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyHxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAWlC"}
@@ -0,0 +1,127 @@
1
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
2
+ import { logger } from "../../logger.js";
3
+ import { randomUUID } from "crypto";
4
+ const mcpSessionSchema = {
5
+ type: "object",
6
+ properties: {
7
+ sessionId: { type: "string", format: "uuid" },
8
+ },
9
+ };
10
+ const mcpErrorSchema = {
11
+ type: "object",
12
+ properties: {
13
+ error: { type: "string" },
14
+ },
15
+ };
16
+ export class HttpTransport {
17
+ server;
18
+ httpServer;
19
+ sessions = {};
20
+ constructor(server, httpServer) {
21
+ this.server = server;
22
+ this.httpServer = httpServer;
23
+ }
24
+ async connect() {
25
+ const fastify = this.httpServer.getInstance();
26
+ // POST handler for new sessions and message sending
27
+ fastify.post("/mcp", {
28
+ schema: {
29
+ tags: ["mcp"],
30
+ summary: "Create a new MCP session or send a message",
31
+ headers: {
32
+ type: "object",
33
+ properties: {
34
+ "mcp-session-id": { type: "string", format: "uuid" },
35
+ },
36
+ },
37
+ response: {
38
+ 200: mcpSessionSchema,
39
+ 404: mcpErrorSchema,
40
+ },
41
+ },
42
+ }, async (request, reply) => {
43
+ const sessionId = request.headers["mcp-session-id"];
44
+ let transport;
45
+ if (sessionId && this.sessions[sessionId]) {
46
+ transport = this.sessions[sessionId];
47
+ }
48
+ else {
49
+ transport = new StreamableHTTPServerTransport({
50
+ sessionIdGenerator: () => randomUUID(),
51
+ onsessioninitialized: (sid) => {
52
+ this.sessions[sid] = transport;
53
+ },
54
+ });
55
+ await this.server.connect(transport);
56
+ }
57
+ await transport.handleRequest(request.raw, reply.raw, request.body);
58
+ });
59
+ // GET handler for session status and message receiving
60
+ fastify.get("/mcp", {
61
+ schema: {
62
+ tags: ["mcp"],
63
+ summary: "Get session status or receive messages",
64
+ headers: {
65
+ type: "object",
66
+ properties: {
67
+ "mcp-session-id": { type: "string", format: "uuid" },
68
+ },
69
+ required: ["mcp-session-id"],
70
+ },
71
+ response: {
72
+ 200: mcpSessionSchema,
73
+ 404: mcpErrorSchema,
74
+ },
75
+ },
76
+ }, async (request, reply) => {
77
+ const sessionId = request.headers["mcp-session-id"];
78
+ if (!sessionId || !this.sessions[sessionId]) {
79
+ reply.status(404).send({ error: "Session not found" });
80
+ return;
81
+ }
82
+ const transport = this.sessions[sessionId];
83
+ await transport.handleRequest(request.raw, reply.raw);
84
+ });
85
+ // DELETE handler for session cleanup
86
+ fastify.delete("/mcp", {
87
+ schema: {
88
+ tags: ["mcp"],
89
+ summary: "Delete an MCP session",
90
+ headers: {
91
+ type: "object",
92
+ properties: {
93
+ "mcp-session-id": { type: "string", format: "uuid" },
94
+ },
95
+ required: ["mcp-session-id"],
96
+ },
97
+ response: {
98
+ 200: mcpSessionSchema,
99
+ 404: mcpErrorSchema,
100
+ },
101
+ },
102
+ }, async (request, reply) => {
103
+ const sessionId = request.headers["mcp-session-id"];
104
+ if (!sessionId || !this.sessions[sessionId]) {
105
+ reply.status(404).send({ error: "Session not found" });
106
+ return;
107
+ }
108
+ const transport = this.sessions[sessionId];
109
+ await transport.handleRequest(request.raw, reply.raw);
110
+ // Clean up the session
111
+ delete this.sessions[sessionId];
112
+ });
113
+ logger.info("HTTP transport routes registered");
114
+ }
115
+ async disconnect() {
116
+ logger.info("Cleaning up HTTP transport sessions...");
117
+ // Clean up all active sessions
118
+ Object.values(this.sessions).forEach((transport) => {
119
+ const sessionId = transport.sessionId;
120
+ if (sessionId) {
121
+ delete this.sessions[sessionId];
122
+ }
123
+ transport.close();
124
+ });
125
+ }
126
+ }
127
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/mcp/transports/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "../../mcp/transports/http.js";
2
+ export * from "../../mcp/transports/manager.js";
3
+ export * from "../../mcp/transports/server.js";
4
+ export * from "../../mcp/transports/sse.js";
5
+ export * from "../../mcp/transports/stdio.js";
6
+ export * from "../../mcp/transports/types.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "../../mcp/transports/http.js";
2
+ export * from "../../mcp/transports/manager.js";
3
+ export * from "../../mcp/transports/server.js";
4
+ export * from "../../mcp/transports/sse.js";
5
+ export * from "../../mcp/transports/stdio.js";
6
+ export * from "../../mcp/transports/types.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/transports/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { TransportType } from "./types.js";
3
+ export declare class TransportManager {
4
+ private server;
5
+ private transports;
6
+ private httpServer;
7
+ constructor(server: McpServer);
8
+ start(types: TransportType[], port?: number, host?: string): Promise<void>;
9
+ stop(): Promise<void>;
10
+ private createTransport;
11
+ }
12
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAa,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtD,qBAAa,gBAAgB;IAIf,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,UAAU,CAA2B;gBAEzB,MAAM,EAAE,SAAS;IAE/B,KAAK,CACT,KAAK,EAAE,aAAa,EAAE,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IA2CV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAwBb,eAAe;CAkB9B"}
@@ -0,0 +1,86 @@
1
+ import { logger } from "../../logger.js";
2
+ import { HttpTransport } from "./http.js";
3
+ import { HttpServer } from "./server.js";
4
+ import { SseTransport } from "./sse.js";
5
+ import { StdioTransport } from "./stdio.js";
6
+ import { TransportType } from "./types.js";
7
+ export class TransportManager {
8
+ server;
9
+ transports = new Map();
10
+ httpServer = null;
11
+ constructor(server) {
12
+ this.server = server;
13
+ }
14
+ async start(types, port, host) {
15
+ try {
16
+ const needsHttpServer = types.some((type) => type === TransportType.HTTP || type === TransportType.SSE);
17
+ // Initialize and prepare HTTP server if needed
18
+ if (needsHttpServer) {
19
+ this.httpServer = new HttpServer();
20
+ await this.httpServer.prepare();
21
+ }
22
+ // Create and connect all transports
23
+ await Promise.all(types.map(async (type) => {
24
+ const transport = await this.createTransport(type);
25
+ this.transports.set(type, transport);
26
+ await transport.connect();
27
+ }));
28
+ // Start HTTP server if needed (after routes are registered)
29
+ if (needsHttpServer && this.httpServer) {
30
+ if (port && host) {
31
+ await this.httpServer.start({
32
+ port,
33
+ host,
34
+ });
35
+ }
36
+ else {
37
+ logger.error("Port and host are required");
38
+ throw new Error("Port and host are required");
39
+ }
40
+ }
41
+ logger.info("All transports started successfully");
42
+ }
43
+ catch (error) {
44
+ logger.error({ error }, "Failed to start transports");
45
+ // Clean up any partially started transports
46
+ await this.stop();
47
+ throw error;
48
+ }
49
+ }
50
+ async stop() {
51
+ // Stop HTTP server first to prevent new requests
52
+ if (this.httpServer) {
53
+ await this.httpServer.stop();
54
+ }
55
+ // Then disconnect all transports
56
+ await Promise.all(Array.from(this.transports.values()).map(async (transport) => {
57
+ try {
58
+ await transport.disconnect();
59
+ }
60
+ catch (error) {
61
+ logger.error({ error }, `Failed to disconnect transport: ${transport.constructor.name}`);
62
+ }
63
+ }));
64
+ this.transports.clear();
65
+ this.httpServer = null;
66
+ }
67
+ async createTransport(type) {
68
+ switch (type) {
69
+ case "http":
70
+ if (!this.httpServer) {
71
+ throw new Error("HTTP server not initialized");
72
+ }
73
+ return new HttpTransport(this.server, this.httpServer);
74
+ case "sse":
75
+ if (!this.httpServer) {
76
+ throw new Error("HTTP server not initialized");
77
+ }
78
+ return new SseTransport(this.server, this.httpServer);
79
+ case "stdio":
80
+ return new StdioTransport(this.server);
81
+ default:
82
+ throw new Error(`Unsupported transport type: ${type}`);
83
+ }
84
+ }
85
+ }
86
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/mcp/transports/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ServerConfig } from "../../mcp/transports/types.js";
2
+ import { FastifyInstance } from "fastify";
3
+ export declare class HttpServer {
4
+ private fastify;
5
+ private isSwaggerConfigured;
6
+ constructor();
7
+ prepare(): Promise<void>;
8
+ getInstance(): FastifyInstance;
9
+ start(config: ServerConfig): Promise<void>;
10
+ stop(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAGL,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,mBAAmB,CAAS;;IAS9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C9B,WAAW,IAAI,eAAe;IAIxB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
@@ -0,0 +1,87 @@
1
+ import fastifySwagger from "@fastify/swagger";
2
+ import fastifySwaggerUi from "@fastify/swagger-ui";
3
+ import { logger } from "../../logger.js";
4
+ import { default as Fastify, } from "fastify";
5
+ export class HttpServer {
6
+ fastify;
7
+ isSwaggerConfigured = false;
8
+ constructor() {
9
+ this.fastify = Fastify({
10
+ loggerInstance: logger,
11
+ // Useful for when ongoing http/sse connections are present
12
+ forceCloseConnections: true,
13
+ });
14
+ }
15
+ async prepare() {
16
+ if (this.isSwaggerConfigured) {
17
+ return;
18
+ }
19
+ // Configure Swagger before any routes are registered
20
+ await this.fastify.register(fastifySwagger, {
21
+ openapi: {
22
+ info: {
23
+ title: "Confluent MCP Server API",
24
+ description: "API documentation for the Confluent MCP Server",
25
+ version: "1.0.0",
26
+ },
27
+ servers: [
28
+ {
29
+ url: "http://localhost:3000",
30
+ description: "Local development server",
31
+ },
32
+ ],
33
+ components: {
34
+ securitySchemes: {
35
+ apiKey: {
36
+ type: "apiKey",
37
+ name: "X-API-Key",
38
+ in: "header",
39
+ },
40
+ },
41
+ },
42
+ tags: [
43
+ { name: "mcp", description: "Model Context Protocol endpoints" },
44
+ ],
45
+ },
46
+ hideUntagged: false,
47
+ });
48
+ await this.fastify.register(fastifySwaggerUi, {
49
+ routePrefix: "/documentation",
50
+ uiConfig: {
51
+ docExpansion: "list",
52
+ deepLinking: true,
53
+ },
54
+ staticCSP: true,
55
+ });
56
+ this.isSwaggerConfigured = true;
57
+ }
58
+ getInstance() {
59
+ return this.fastify;
60
+ }
61
+ async start(config) {
62
+ try {
63
+ // Ready the server (this will compile the schemas and prepare all routes)
64
+ await this.fastify.ready();
65
+ // Start listening
66
+ await this.fastify.listen({
67
+ port: config.port,
68
+ host: config.host,
69
+ });
70
+ }
71
+ catch (error) {
72
+ logger.error({ error }, "Failed to start server");
73
+ throw error;
74
+ }
75
+ }
76
+ async stop() {
77
+ try {
78
+ logger.info("Shutting down server...");
79
+ await this.fastify.close();
80
+ }
81
+ catch (error) {
82
+ logger.error({ error }, "Error while shutting down server");
83
+ throw error;
84
+ }
85
+ }
86
+ }
87
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/transports/server.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EACL,OAAO,IAAI,OAAO,GAGnB,MAAM,SAAS,CAAC;AAEjB,MAAM,OAAO,UAAU;IACb,OAAO,CAAkB;IACzB,mBAAmB,GAAG,KAAK,CAAC;IACpC;QACE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACrB,cAAc,EAAE,MAA2B;YAC3C,2DAA2D;YAC3D,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC1C,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,KAAK,EAAE,0BAA0B;oBACjC,WAAW,EAAE,gDAAgD;oBAC7D,OAAO,EAAE,OAAO;iBACjB;gBACD,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,uBAAuB;wBAC5B,WAAW,EAAE,0BAA0B;qBACxC;iBACF;gBACD,UAAU,EAAE;oBACV,eAAe,EAAE;wBACf,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,WAAW;4BACjB,EAAE,EAAE,QAAQ;yBACb;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kCAAkC,EAAE;iBACjE;aACF;YACD,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC5C,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE;gBACR,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,IAAI;aAClB;YACD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAoB;QAC9B,IAAI,CAAC;YACH,0EAA0E;YAC1E,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAE3B,kBAAkB;YAClB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { HttpServer } from "./server.js";
3
+ import { Transport } from "./types.js";
4
+ export declare class SseTransport implements Transport {
5
+ private server;
6
+ private httpServer;
7
+ private sessions;
8
+ constructor(server: McpServer, httpServer: HttpServer);
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=sse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgBvC,qBAAa,YAAa,YAAW,SAAS;IAI1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,QAAQ,CAA0C;gBAGhD,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU;IAG1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4GxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAWlC"}
@@ -0,0 +1,110 @@
1
+ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
2
+ import { logger } from "../../logger.js";
3
+ const sseErrorSchema = {
4
+ type: "object",
5
+ properties: {
6
+ error: { type: "string" },
7
+ },
8
+ };
9
+ export class SseTransport {
10
+ server;
11
+ httpServer;
12
+ sessions = {};
13
+ constructor(server, httpServer) {
14
+ this.server = server;
15
+ this.httpServer = httpServer;
16
+ }
17
+ async connect() {
18
+ const fastify = this.httpServer.getInstance();
19
+ // SSE endpoint for establishing SSE connection
20
+ fastify.get("/sse", {
21
+ schema: {
22
+ tags: ["mcp"],
23
+ summary: "Establish SSE connection for real-time updates",
24
+ response: {
25
+ 400: sseErrorSchema,
26
+ },
27
+ },
28
+ }, async (request, reply) => {
29
+ try {
30
+ // Create transport with the correct message endpoint
31
+ const transport = new SSEServerTransport("/messages", reply.raw);
32
+ // Get the session ID from the transport
33
+ const sessionId = transport.sessionId;
34
+ if (!sessionId) {
35
+ throw new Error("Failed to get session ID from transport");
36
+ }
37
+ // Store the session before connecting to ensure it's available for messages
38
+ this.sessions[sessionId] = transport;
39
+ // Set up cleanup on connection close
40
+ reply.raw.on("close", () => {
41
+ logger.info(`SSE connection closed for session ${sessionId}`);
42
+ delete this.sessions[sessionId];
43
+ });
44
+ // Connect the transport to the server
45
+ await this.server.connect(transport);
46
+ logger.info(`New SSE connection established for session ${sessionId}`);
47
+ }
48
+ catch (error) {
49
+ logger.error({ error }, "Failed to establish SSE connection");
50
+ if (!reply.sent) {
51
+ reply
52
+ .code(400)
53
+ .send({ error: "Failed to establish SSE connection" });
54
+ }
55
+ }
56
+ });
57
+ // Message endpoint for receiving messages from clients
58
+ fastify.post("/messages", {
59
+ schema: {
60
+ tags: ["mcp"],
61
+ summary: "Send message to SSE connection",
62
+ querystring: {
63
+ type: "object",
64
+ required: ["sessionId"],
65
+ properties: {
66
+ sessionId: { type: "string", format: "uuid" },
67
+ },
68
+ },
69
+ body: {
70
+ type: "object",
71
+ additionalProperties: true,
72
+ },
73
+ response: {
74
+ 400: sseErrorSchema,
75
+ },
76
+ },
77
+ }, async (request, reply) => {
78
+ try {
79
+ const sessionId = request.query.sessionId;
80
+ logger.info(`Received message for sessionId ${sessionId}`);
81
+ const transport = this.sessions[sessionId];
82
+ if (!transport) {
83
+ logger.warn(`No transport found for sessionId: ${sessionId}`);
84
+ reply.code(400).send({ error: "No transport found for sessionId" });
85
+ return;
86
+ }
87
+ await transport.handlePostMessage(request.raw, reply.raw, request.body);
88
+ }
89
+ catch (error) {
90
+ logger.error({ error }, "Failed to process SSE message");
91
+ if (!reply.sent) {
92
+ reply.code(400).send({ error: "Failed to process message" });
93
+ }
94
+ }
95
+ });
96
+ logger.info("SSE transport routes registered");
97
+ }
98
+ async disconnect() {
99
+ logger.info("Cleaning up SSE transport sessions...");
100
+ // Clean up all active sessions
101
+ Object.values(this.sessions).forEach((transport) => {
102
+ const sessionId = transport.sessionId;
103
+ if (sessionId) {
104
+ delete this.sessions[sessionId];
105
+ }
106
+ transport.close();
107
+ });
108
+ }
109
+ }
110
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../../src/mcp/transports/sse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { Transport } from "../../mcp/transports/types.js";
3
+ export declare class StdioTransport implements Transport {
4
+ private server;
5
+ constructor(server: McpServer);
6
+ connect(): Promise<void>;
7
+ disconnect(): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,qBAAa,cAAe,YAAW,SAAS;IAClC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAE/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -0,0 +1,17 @@
1
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2
+ import { logger } from "../../logger.js";
3
+ export class StdioTransport {
4
+ server;
5
+ constructor(server) {
6
+ this.server = server;
7
+ }
8
+ async connect() {
9
+ const transport = new StdioServerTransport();
10
+ await this.server.connect(transport);
11
+ logger.info("STDIO transport connected");
12
+ }
13
+ async disconnect() {
14
+ // Nothing to clean up for stdio transport
15
+ }
16
+ }
17
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../../src/mcp/transports/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAEzC,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,0CAA0C;IAC5C,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ export declare enum TransportType {
2
+ HTTP = "http",
3
+ SSE = "sse",
4
+ STDIO = "stdio"
5
+ }
6
+ export interface Transport {
7
+ connect(): Promise<void>;
8
+ disconnect(): Promise<void>;
9
+ }
10
+ export interface ServerConfig {
11
+ port: number;
12
+ host: string;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/transports/types.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,7 @@
1
+ export var TransportType;
2
+ (function (TransportType) {
3
+ TransportType["HTTP"] = "http";
4
+ TransportType["SSE"] = "sse";
5
+ TransportType["STDIO"] = "stdio";
6
+ })(TransportType || (TransportType = {}));
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/transports/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,4BAAW,CAAA;IACX,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * @fileoverview Utility script to generate markdown documentation for environment variables.
3
+ * This script is only used to generate markdown content for the README file and is not used by the server.
4
+ * It converts Zod schema definitions into a formatted markdown table.
5
+ */
1
6
  export {};
2
7
  //# sourceMappingURL=print-md-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"print-md-schema.d.ts","sourceRoot":"","sources":["../src/print-md-schema.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"print-md-schema.d.ts","sourceRoot":"","sources":["../src/print-md-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @fileoverview Utility script to generate markdown documentation for environment variables.
3
+ * This script is only used to generate markdown content for the README file and is not used by the server.
4
+ * It converts Zod schema definitions into a formatted markdown table.
5
+ */
1
6
  import { z } from "zod";
2
7
  import { combinedSchema } from "./env-schema.js";
3
8
  function zodSchemaToMarkdown(schema, parentKey = "") {
@@ -92,5 +97,6 @@ function getTypeInfo(schema) {
92
97
  return `union: ${schema.options.map((opt) => getTypeInfo(opt)).join(" | ")}`;
93
98
  return schema.constructor.name.replace("Zod", "").toLowerCase();
94
99
  }
100
+ // Generate markdown table from schema and print to console
95
101
  console.log(zodSchemaToMarkdown(combinedSchema));
96
102
  //# sourceMappingURL=print-md-schema.js.map