@confluentinc/mcp-confluent 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/README.md +180 -78
  2. package/assets/oauth-templates/callback-success.html +80 -0
  3. package/assets/oauth-templates/styles.html +101 -40
  4. package/config.example.yaml +36 -7
  5. package/config.oauth.example.yaml +14 -1
  6. package/dist/config/env-config.d.ts +9 -3
  7. package/dist/config/env-config.d.ts.map +1 -1
  8. package/dist/config/env-config.js +20 -34
  9. package/dist/config/env-config.js.map +1 -1
  10. package/dist/config/models.d.ts +108 -13
  11. package/dist/config/models.d.ts.map +1 -1
  12. package/dist/config/models.js +54 -37
  13. package/dist/config/models.js.map +1 -1
  14. package/dist/confluent/base-client-manager.d.ts +36 -1
  15. package/dist/confluent/base-client-manager.d.ts.map +1 -1
  16. package/dist/confluent/base-client-manager.js +4 -0
  17. package/dist/confluent/base-client-manager.js.map +1 -1
  18. package/dist/confluent/client-manager.d.ts +14 -0
  19. package/dist/confluent/client-manager.d.ts.map +1 -1
  20. package/dist/confluent/direct-client-manager.d.ts +2 -2
  21. package/dist/confluent/direct-client-manager.d.ts.map +1 -1
  22. package/dist/confluent/direct-client-manager.js +25 -17
  23. package/dist/confluent/direct-client-manager.js.map +1 -1
  24. package/dist/confluent/node-deps.d.ts +1 -0
  25. package/dist/confluent/node-deps.d.ts.map +1 -1
  26. package/dist/confluent/node-deps.js +7 -1
  27. package/dist/confluent/node-deps.js.map +1 -1
  28. package/dist/confluent/oauth/auth0-config.d.ts +26 -4
  29. package/dist/confluent/oauth/auth0-config.d.ts.map +1 -1
  30. package/dist/confluent/oauth/auth0-config.js +59 -19
  31. package/dist/confluent/oauth/auth0-config.js.map +1 -1
  32. package/dist/confluent/oauth/callback-pages.d.ts +9 -1
  33. package/dist/confluent/oauth/callback-pages.d.ts.map +1 -1
  34. package/dist/confluent/oauth/callback-pages.js +14 -5
  35. package/dist/confluent/oauth/callback-pages.js.map +1 -1
  36. package/dist/confluent/oauth/pkce-login.d.ts +20 -1
  37. package/dist/confluent/oauth/pkce-login.d.ts.map +1 -1
  38. package/dist/confluent/oauth/pkce-login.js +118 -9
  39. package/dist/confluent/oauth/pkce-login.js.map +1 -1
  40. package/dist/confluent/oauth/types.d.ts +1 -2
  41. package/dist/confluent/oauth/types.d.ts.map +1 -1
  42. package/dist/confluent/oauth-client-manager.d.ts +7 -4
  43. package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
  44. package/dist/confluent/oauth-client-manager.js +34 -12
  45. package/dist/confluent/oauth-client-manager.js.map +1 -1
  46. package/dist/confluent/oauth-resource-resolvers.d.ts +11 -0
  47. package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -1
  48. package/dist/confluent/oauth-resource-resolvers.js +24 -0
  49. package/dist/confluent/oauth-resource-resolvers.js.map +1 -1
  50. package/dist/confluent/schema-registry-helper.d.ts +119 -16
  51. package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
  52. package/dist/confluent/schema-registry-helper.js +303 -49
  53. package/dist/confluent/schema-registry-helper.js.map +1 -1
  54. package/dist/confluent/telemetry.d.ts +7 -1
  55. package/dist/confluent/telemetry.d.ts.map +1 -1
  56. package/dist/confluent/telemetry.js +6 -0
  57. package/dist/confluent/telemetry.js.map +1 -1
  58. package/dist/confluent/tools/base-tools.d.ts +207 -21
  59. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  60. package/dist/confluent/tools/base-tools.js +259 -20
  61. package/dist/confluent/tools/base-tools.js.map +1 -1
  62. package/dist/confluent/tools/cluster-arg-resolvers.d.ts +21 -0
  63. package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
  64. package/dist/confluent/tools/cluster-arg-resolvers.js +45 -0
  65. package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
  66. package/dist/confluent/tools/connection-predicates.d.ts +83 -12
  67. package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
  68. package/dist/confluent/tools/connection-predicates.js +85 -11
  69. package/dist/confluent/tools/connection-predicates.js.map +1 -1
  70. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +2 -1
  71. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
  72. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +37 -4
  73. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
  74. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -3
  75. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  76. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +11 -6
  77. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  78. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +3 -3
  79. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  80. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +11 -6
  81. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  82. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -3
  83. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  84. package/dist/confluent/tools/handlers/catalog/delete-tag.js +11 -6
  85. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  86. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +4 -4
  87. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  88. package/dist/confluent/tools/handlers/catalog/list-tags.js +16 -7
  89. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  90. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +3 -3
  91. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  92. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +11 -6
  93. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  94. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +2 -1
  95. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  96. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +3 -2
  97. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  98. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +22 -9
  99. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
  100. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +35 -11
  101. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
  102. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  103. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +1 -2
  104. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  105. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  106. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +1 -2
  107. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  108. package/dist/confluent/tools/handlers/connect/{read-connectors-handler.d.ts → get-connector-config-handler.d.ts} +2 -3
  109. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -0
  110. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +34 -0
  111. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -0
  112. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +9 -0
  113. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -0
  114. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +65 -0
  115. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -0
  116. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +9 -0
  117. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -0
  118. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +130 -0
  119. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -0
  120. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +9 -0
  121. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -0
  122. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +269 -0
  123. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -0
  124. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +9 -0
  125. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -0
  126. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +34 -0
  127. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -0
  128. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +9 -0
  129. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -0
  130. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +43 -0
  131. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -0
  132. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +9 -0
  133. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -0
  134. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +34 -0
  135. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -0
  136. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  137. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +1 -2
  138. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  139. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +9 -0
  140. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -0
  141. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +34 -0
  142. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -0
  143. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +9 -0
  144. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -0
  145. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +34 -0
  146. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -0
  147. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +9 -0
  148. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -0
  149. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +34 -0
  150. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -0
  151. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +9 -0
  152. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -0
  153. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +43 -0
  154. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
  155. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +42 -0
  156. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts.map +1 -0
  157. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js +297 -0
  158. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js.map +1 -0
  159. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts +31 -0
  160. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts.map +1 -0
  161. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js +116 -0
  162. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js.map +1 -0
  163. package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts +52 -0
  164. package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts.map +1 -0
  165. package/dist/confluent/tools/handlers/diagnostics/describe-fields.js +114 -0
  166. package/dist/confluent/tools/handlers/diagnostics/describe-fields.js.map +1 -0
  167. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +21 -43
  168. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -1
  169. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +105 -78
  170. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -1
  171. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts +27 -0
  172. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts.map +1 -0
  173. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js +93 -0
  174. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js.map +1 -0
  175. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +2 -1
  176. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -1
  177. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +2 -1
  178. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -1
  179. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +2 -1
  180. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -1
  181. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +2 -1
  182. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -1
  183. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +8 -7
  184. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  185. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +8 -7
  186. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  187. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +2 -1
  188. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  189. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +3 -2
  190. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  191. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +16 -2
  192. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
  193. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +4 -4
  194. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
  195. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
  196. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +43 -30
  197. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
  198. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
  199. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +43 -30
  200. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
  201. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
  202. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +18 -11
  203. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
  204. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
  205. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +23 -16
  206. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
  207. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
  208. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +23 -16
  209. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
  210. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  211. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +27 -22
  212. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  213. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  214. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +20 -12
  215. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  216. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
  217. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +20 -12
  218. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
  219. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
  220. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +20 -18
  221. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
  222. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
  223. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +24 -22
  224. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
  225. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +15 -1
  226. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
  227. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js +133 -57
  228. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
  229. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +29 -7
  230. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
  231. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +38 -8
  232. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -1
  233. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
  234. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +20 -12
  235. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
  236. package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.d.ts → get-flink-statement-results-handler.d.ts} +2 -2
  237. package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts.map +1 -0
  238. package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.js → get-flink-statement-results-handler.js} +30 -22
  239. package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.js.map +1 -0
  240. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts +10 -0
  241. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts.map +1 -0
  242. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js +118 -0
  243. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js.map +1 -0
  244. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  245. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +19 -18
  246. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  247. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +2 -1
  248. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  249. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +3 -2
  250. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  251. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +223 -28
  252. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
  253. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +832 -68
  254. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
  255. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts +48 -0
  256. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts.map +1 -0
  257. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js +84 -0
  258. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js.map +1 -0
  259. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts +54 -0
  260. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts.map +1 -0
  261. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js +89 -0
  262. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js.map +1 -0
  263. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -1
  264. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  265. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +14 -4
  266. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  267. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +2 -1
  268. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  269. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +3 -2
  270. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  271. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +64 -0
  272. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -0
  273. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +140 -0
  274. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -0
  275. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +73 -0
  276. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -0
  277. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +337 -0
  278. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -0
  279. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +43 -0
  280. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -0
  281. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +123 -0
  282. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -0
  283. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +2 -1
  284. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
  285. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +3 -2
  286. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
  287. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +45 -0
  288. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -0
  289. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +86 -0
  290. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -0
  291. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -1
  292. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  293. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +3 -2
  294. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  295. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +54 -0
  296. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -0
  297. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js +56 -0
  298. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js.map +1 -0
  299. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +13 -5
  300. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  301. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +145 -47
  302. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  303. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +18 -0
  304. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +1 -0
  305. package/dist/confluent/tools/handlers/kafka/topic-metadata.js +18 -0
  306. package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +1 -0
  307. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +3 -3
  308. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
  309. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +5 -4
  310. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
  311. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +3 -3
  312. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
  313. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +8 -5
  314. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
  315. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +2 -1
  316. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
  317. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +4 -2
  318. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
  319. package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +10 -0
  320. package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts.map +1 -0
  321. package/dist/confluent/tools/handlers/schema/create-schema-handler.js +76 -0
  322. package/dist/confluent/tools/handlers/schema/create-schema-handler.js.map +1 -0
  323. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +2 -1
  324. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
  325. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +3 -2
  326. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
  327. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -1
  328. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  329. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +3 -2
  330. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  331. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +3 -3
  332. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  333. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +11 -6
  334. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  335. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +3 -3
  336. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  337. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +11 -6
  338. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  339. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
  340. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +2 -2
  341. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
  342. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
  343. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +2 -2
  344. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
  345. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
  346. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +2 -2
  347. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
  348. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
  349. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +2 -2
  350. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
  351. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
  352. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +1 -1
  353. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
  354. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
  355. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +2 -3
  356. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
  357. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +17 -11
  358. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
  359. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +19 -15
  360. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -1
  361. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
  362. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +2 -2
  363. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
  364. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
  365. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +2 -2
  366. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
  367. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
  368. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +2 -2
  369. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
  370. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
  371. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +2 -2
  372. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
  373. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
  374. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +1 -1
  375. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
  376. package/dist/confluent/tools/tool-availability.d.ts +84 -36
  377. package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
  378. package/dist/confluent/tools/tool-availability.js +106 -65
  379. package/dist/confluent/tools/tool-availability.js.map +1 -1
  380. package/dist/confluent/tools/tool-metadata-handler.d.ts +51 -0
  381. package/dist/confluent/tools/tool-metadata-handler.d.ts.map +1 -0
  382. package/dist/confluent/tools/tool-metadata-handler.js +61 -0
  383. package/dist/confluent/tools/tool-metadata-handler.js.map +1 -0
  384. package/dist/confluent/tools/tool-name.d.ts +22 -3
  385. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  386. package/dist/confluent/tools/tool-name.js +21 -2
  387. package/dist/confluent/tools/tool-name.js.map +1 -1
  388. package/dist/confluent/tools/tool-registry.d.ts +1 -2
  389. package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
  390. package/dist/confluent/tools/tool-registry.js +60 -7
  391. package/dist/confluent/tools/tool-registry.js.map +1 -1
  392. package/dist/env-schema.d.ts +1 -1
  393. package/dist/env-schema.d.ts.map +1 -1
  394. package/dist/env-schema.js +10 -12
  395. package/dist/env-schema.js.map +1 -1
  396. package/dist/env.d.ts +1 -1
  397. package/dist/index.d.ts +54 -64
  398. package/dist/index.d.ts.map +1 -1
  399. package/dist/index.js +78 -301
  400. package/dist/index.js.map +1 -1
  401. package/dist/lazy.d.ts +4 -2
  402. package/dist/lazy.d.ts.map +1 -1
  403. package/dist/lazy.js +27 -12
  404. package/dist/lazy.js.map +1 -1
  405. package/dist/mcp/server.d.ts.map +1 -1
  406. package/dist/mcp/server.js +9 -5
  407. package/dist/mcp/server.js.map +1 -1
  408. package/dist/preflight.d.ts +33 -0
  409. package/dist/preflight.d.ts.map +1 -0
  410. package/dist/preflight.js +68 -0
  411. package/dist/preflight.js.map +1 -0
  412. package/dist/server-main.d.ts +98 -0
  413. package/dist/server-main.d.ts.map +1 -0
  414. package/dist/server-main.js +383 -0
  415. package/dist/server-main.js.map +1 -0
  416. package/dist/server-runtime.d.ts +20 -5
  417. package/dist/server-runtime.d.ts.map +1 -1
  418. package/dist/server-runtime.js +45 -28
  419. package/dist/server-runtime.js.map +1 -1
  420. package/dist/utils/quote-join-ids.d.ts +9 -0
  421. package/dist/utils/quote-join-ids.d.ts.map +1 -0
  422. package/dist/utils/quote-join-ids.js +11 -0
  423. package/dist/utils/quote-join-ids.js.map +1 -0
  424. package/package.json +33 -34
  425. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +0 -1
  426. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +0 -54
  427. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
  428. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +0 -1
  429. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAmC9C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAWpB"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Minimum full Node.js version (major.minor.patch) the server supports. Kept in
3
+ * lockstep with the `engines.node` field in package.json.
4
+ *
5
+ * A full version, not just a major, because the floor is dictated by a
6
+ * transitive dependency: undici (via cheerio) declares `engines.node
7
+ * >=22.19.0` and, at load time, destructures `markAsUncloneable` from
8
+ * `node:worker_threads` — an export that only exists from Node 22.10.0 onward.
9
+ * On an older 22.x (e.g. 22.0.0) undici crashes with a cryptic
10
+ * `webidl.util.markAsUncloneable is not a function` deep in its cache module,
11
+ * which is exactly the inscrutable-crash-instead-of-clear-message failure the
12
+ * preflight shim (src/index.ts) exists to prevent (issue #455). A major-only
13
+ * gate waved those runtimes straight into that crash, so the gate compares the
14
+ * full version. Bump this in step with undici's `engines.node` floor.
15
+ */
16
+ export const MINIMUM_NODE_VERSION = "22.19.0";
17
+ /**
18
+ * Parse a `major.minor.patch` triple from a Node version string, tolerating a
19
+ * leading "v" and an absent minor/patch (defaulted to 0). Returns `null` when
20
+ * no leading major integer is present, so callers can treat an unidentifiable
21
+ * runtime as unsupported.
22
+ */
23
+ function parseVersion(version) {
24
+ const match = /^(\d+)(?:\.(\d+))?(?:\.(\d+))?/.exec(version.replace(/^v/, ""));
25
+ if (match === null) {
26
+ return null;
27
+ }
28
+ return [Number(match[1]), Number(match[2] || "0"), Number(match[3] || "0")];
29
+ }
30
+ /**
31
+ * Report whether version `a` is strictly older than version `b`, comparing
32
+ * major then minor then patch.
33
+ */
34
+ function isOlder(a, b) {
35
+ if (a[0] !== b[0]) {
36
+ return a[0] < b[0];
37
+ }
38
+ if (a[1] !== b[1]) {
39
+ return a[1] < b[1];
40
+ }
41
+ return a[2] < b[2];
42
+ }
43
+ /**
44
+ * Return a human-readable error message when `currentVersion` is older than
45
+ * `minimumVersion`, otherwise `undefined`.
46
+ *
47
+ * Pure (no I/O) so the version gate is exhaustively unit-testable by passing
48
+ * `process.versions.node`-shaped strings directly. A leading "v" is tolerated.
49
+ * An unparseable version is treated as unsupported rather than waved through —
50
+ * we would rather show the upgrade message than hand control to a runtime we
51
+ * could not identify.
52
+ *
53
+ * Authored in syntax that parses on very old Node (no optional chaining, no
54
+ * import attributes): this module sits in the shim's static import graph, so a
55
+ * parse error here would reintroduce the very cryptic crash the shim exists to
56
+ * prevent.
57
+ */
58
+ export function nodeVersionError(currentVersion, minimumVersion) {
59
+ const current = parseVersion(currentVersion);
60
+ const minimum = parseVersion(minimumVersion);
61
+ if (current === null || minimum === null || isOlder(current, minimum)) {
62
+ return (`mcp-confluent requires Node.js ${minimumVersion} or newer, ` +
63
+ `but the current runtime is Node.js ${currentVersion}.\n` +
64
+ `Please upgrade Node.js (https://nodejs.org/) and try again.`);
65
+ }
66
+ return undefined;
67
+ }
68
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE9C;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CACjD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1B,CAAC;IACF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CACd,CAA2B,EAC3B,CAA2B;IAE3B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC9B,cAAsB,EACtB,cAAsB;IAEtB,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,CACL,kCAAkC,cAAc,aAAa;YAC7D,sCAAsC,cAAc,KAAK;YACzD,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env node
2
+ import { CLIOptions } from "./cli.js";
3
+ import { MCPServerConfiguration } from "./config/index.js";
4
+ import { TelemetryService } from "./confluent/telemetry.js";
5
+ import { ToolHandler } from "./confluent/tools/base-tools.js";
6
+ import { ToolName } from "./confluent/tools/tool-name.js";
7
+ import { TransportManager } from "./mcp/transports/index.js";
8
+ import { ServerRuntime } from "./server-runtime.js";
9
+ /**
10
+ * Resolve the operator's tool allow/block-list into the set `ServerRuntime`
11
+ * gates on — or `undefined` when neither list was configured, preserving the
12
+ * "no filter configured" sentinel rather than materializing an all-tools set
13
+ * that would mean the same thing while muddying the runtime's contract.
14
+ */
15
+ export declare function resolveAllowedToolNames(allowTools: string[], blockTools: string[]): ReadonlySet<ToolName> | undefined;
16
+ /**
17
+ * Determine the subset of ToolHandlers to register: those left enabled by the
18
+ * runtime's operator allow/block-list (`runtime.isToolAllowed`) whose predicate
19
+ * is also satisfied (typically by at least one configured connection).
20
+ **/
21
+ export declare function getToolHandlersToRegister(runtime: ServerRuntime): Map<ToolName, ToolHandler>;
22
+ /**
23
+ * Resolve the Segment write key handed to `TelemetryService.initialize`.
24
+ *
25
+ * Precedence: an explicit YAML `server.analytics.write_key` wins; otherwise
26
+ * fall back to `buildConfig.TELEMETRY_WRITE_KEY` (the value `npm pack` injects
27
+ * at release time). On unpacked / dev builds the build-time value is empty,
28
+ * so an absent YAML field produces an empty-string fallback that
29
+ * `TelemetryService` treats as "no key supplied" — analytics stays off.
30
+ *
31
+ * Extracted from `main()` so the precedence is unit-testable without booting
32
+ * the full server.
33
+ */
34
+ export declare function resolveTelemetryWriteKey(mcpConfig: MCPServerConfiguration): string | undefined;
35
+ export declare function outputApiKey(): void;
36
+ /**
37
+ * Bootstrap a starter `config.yaml` in the current working directory by
38
+ * copying one of the bundled example templates, then ensure the new file
39
+ * is listed in `<cwd>/.gitignore` so credentials filled in later don't
40
+ * slip into git.
41
+ *
42
+ * Resolved relative to `import.meta.url` (the compiled `dist/index.js`)
43
+ * so this keeps working when invoked via `npx`, where `process.cwd()`
44
+ * is the user's project but the example file lives next to the install.
45
+ *
46
+ * Refuses to overwrite an existing destination so an accidental rerun
47
+ * cannot wipe credentials the user already filled in. The write uses
48
+ * `wx` (exclusive create) so the existence check and the create happen
49
+ * as a single syscall — there is no TOCTOU window where another process
50
+ * could create the file between a precheck and the write.
51
+ *
52
+ * @param oauth When true, copy `config.oauth.example.yaml` (the minimal
53
+ * OAuth template); when false, copy `config.example.yaml` (the
54
+ * fully-annotated direct/api-key template). The CLI flag in the EEXIST
55
+ * error message is selected to match.
56
+ */
57
+ export declare function outputInitConfig(oauth?: boolean): void;
58
+ export declare function outputToolList(filteredToolNames: ToolName[]): void;
59
+ /**
60
+ * Result of {@link handleEarlyExits}. Returning a value instead of calling
61
+ * `process.exit` directly keeps the function pure enough that tests can
62
+ * assert dispatch behavior by inspecting the result + per-output spies,
63
+ * without having to stub `process.exit`.
64
+ */
65
+ export type EarlyExitResult = {
66
+ handled: false;
67
+ } | {
68
+ handled: true;
69
+ exitCode: 0;
70
+ } | {
71
+ handled: true;
72
+ exitCode: 1;
73
+ stderr: string;
74
+ };
75
+ /**
76
+ * Dispatch the CLI's mutually-exclusive early-exit modes — generate-key,
77
+ * init-config, init-oauth-config, and list-tools — before the server
78
+ * bootstrap begins. Returns `{ handled: false }` when none apply, in
79
+ * which case the caller continues with normal startup.
80
+ *
81
+ * On init-config failure, the friendly error message is returned in
82
+ * `stderr` rather than written here, so the caller controls writing to
83
+ * stderr and exiting.
84
+ */
85
+ export declare function handleEarlyExits(cliOptions: CLIOptions): EarlyExitResult;
86
+ /**
87
+ * Tear the server down on a shutdown signal, then exit. Every step runs inside
88
+ * a try/finally so a rejection from any one — most plausibly a client manager
89
+ * failing to disconnect — is logged but never strands the process: the exit
90
+ * always fires. `exit` is injected (defaulting to `process.exit`) so this
91
+ * guarantee is unit-testable without stubbing the global.
92
+ */
93
+ export declare function performCleanup(deps: {
94
+ telemetry: Pick<TelemetryService, "shutdown">;
95
+ transportManager: Pick<TransportManager, "stop">;
96
+ runtime: Pick<ServerRuntime, "oauthHolder" | "disconnectAll">;
97
+ }, exit?: (code: number) => void): Promise<void>;
98
+ //# sourceMappingURL=server-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-main.d.ts","sourceRoot":"","sources":["../src/server-main.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,UAAU,EAMX,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAkB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAgB,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAK7D,OAAO,EAAkB,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAAE,GACnB,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAS,CAKnC;AAED;;;;IAII;AACJ,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,GACrB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAuD5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,sBAAsB,GAChC,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,YAAY,IAAI,IAAI,CAQnC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,OAAe,GAAG,IAAI,CAgC7D;AAkCD,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,CA+ClE;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,GAClB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,GAC9B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAqBxE;AAaD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE;IACJ,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC;CAC/D,EACD,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAmC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,383 @@
1
+ #!/usr/bin/env node
2
+ import { DisplayedCommandLineUsageError, getFilteredToolNames, getPackageVersion, loadDotEnvFile, parseCliArgs, } from "./cli.js";
3
+ import { buildConfigFromEnvAndCli, loadConfigFromYaml, MCPServerConfiguration, } from "./config/index.js";
4
+ import { buildConfigTelemetry } from "./confluent/config-telemetry.js";
5
+ import { buildConfig, fs, path } from "./confluent/node-deps.js";
6
+ import { TelemetryEvent, TelemetryService } from "./confluent/telemetry.js";
7
+ import { groupDisabledToolsByReason } from "./confluent/tools/tool-availability.js";
8
+ import { ToolName } from "./confluent/tools/tool-name.js";
9
+ import { ToolHandlerRegistry } from "./confluent/tools/tool-registry.js";
10
+ import { initEnv } from "./env.js";
11
+ import { logger, setLogLevel } from "./logger.js";
12
+ import { generateApiKey, TransportManager } from "./mcp/transports/index.js";
13
+ import { ServerRuntime } from "./server-runtime.js";
14
+ /**
15
+ * Resolve the operator's tool allow/block-list into the set `ServerRuntime`
16
+ * gates on — or `undefined` when neither list was configured, preserving the
17
+ * "no filter configured" sentinel rather than materializing an all-tools set
18
+ * that would mean the same thing while muddying the runtime's contract.
19
+ */
20
+ export function resolveAllowedToolNames(allowTools, blockTools) {
21
+ if (allowTools.length === 0 && blockTools.length === 0) {
22
+ return undefined;
23
+ }
24
+ return new Set(getFilteredToolNames(allowTools, blockTools));
25
+ }
26
+ /**
27
+ * Determine the subset of ToolHandlers to register: those left enabled by the
28
+ * runtime's operator allow/block-list (`runtime.isToolAllowed`) whose predicate
29
+ * is also satisfied (typically by at least one configured connection).
30
+ **/
31
+ export function getToolHandlersToRegister(runtime) {
32
+ const toolHandlersToRegister = new Map();
33
+ const knownIds = new Set(Object.keys(runtime.config.connections));
34
+ // Pass 1: drop tools excluded by the allow/block list (logged per-tool —
35
+ // the reason is config-driven, not predicate-driven, so it doesn't fold
36
+ // into the grouped warning emitted later). The filter lives on the runtime
37
+ // so registration and the list-configured-connections tool read one source of truth.
38
+ const candidates = [];
39
+ for (const toolName of Object.values(ToolName)) {
40
+ if (!runtime.isToolAllowed(toolName)) {
41
+ logger.warn(`Tool ${toolName} disabled due to allow/block list rules`);
42
+ continue;
43
+ }
44
+ candidates.push([toolName, ToolHandlerRegistry.getToolHandler(toolName)]);
45
+ }
46
+ // Pass 2: register tools that are enabled on at least one connection, plus
47
+ // connection-independent tools (docs, diagnostics), which carry no per-connection
48
+ // verdict and so stay available even on a zero-connection config.
49
+ for (const [toolName, handler] of candidates) {
50
+ const enabledIds = handler.enabledConnectionIds(runtime);
51
+ // Unreachable: enabledConnectionIds() is derived by iterating
52
+ // runtime.config.connections, so every id it yields is already a known key.
53
+ // A non-empty unknownIds means that derivation has broken.
54
+ const unknownIds = enabledIds.filter((id) => !knownIds.has(id));
55
+ if (unknownIds.length > 0) {
56
+ throw new Error(`Wacky -- Tool ${toolName}: enabledConnectionIds() returned unknown connection ID(s): ${unknownIds.join(", ")}`);
57
+ }
58
+ if (enabledIds.length > 0 || handler.isConnectionIndependent) {
59
+ toolHandlersToRegister.set(toolName, handler);
60
+ logger.info(`Tool ${toolName} enabled`);
61
+ }
62
+ }
63
+ // Pass 3: emit one grouped warning per (connectionId, reason) for tools
64
+ // that are fully disabled — readers see the missing config piece and the
65
+ // list of all tools blocked by it in a single line, rather than one
66
+ // line per tool.
67
+ for (const group of groupDisabledToolsByReason(candidates, runtime)) {
68
+ logger.warn(`Tools disabled on connection '${group.connectionId}' — ${group.reason}: ${group.toolNames.join(", ")}`);
69
+ }
70
+ // Raise an error if no tools are enabled, as the server would be non-functional without any tools.
71
+ if (toolHandlersToRegister.size === 0) {
72
+ throw new Error("No tools enabled. Please check your configuration and environment variables.");
73
+ }
74
+ return toolHandlersToRegister;
75
+ }
76
+ /**
77
+ * Resolve the Segment write key handed to `TelemetryService.initialize`.
78
+ *
79
+ * Precedence: an explicit YAML `server.analytics.write_key` wins; otherwise
80
+ * fall back to `buildConfig.TELEMETRY_WRITE_KEY` (the value `npm pack` injects
81
+ * at release time). On unpacked / dev builds the build-time value is empty,
82
+ * so an absent YAML field produces an empty-string fallback that
83
+ * `TelemetryService` treats as "no key supplied" — analytics stays off.
84
+ *
85
+ * Extracted from `main()` so the precedence is unit-testable without booting
86
+ * the full server.
87
+ */
88
+ export function resolveTelemetryWriteKey(mcpConfig) {
89
+ return (mcpConfig.server.analytics?.write_key ?? buildConfig.TELEMETRY_WRITE_KEY);
90
+ }
91
+ export function outputApiKey() {
92
+ const apiKey = generateApiKey();
93
+ console.log("\nGenerated MCP API Key:");
94
+ console.log("=".repeat(64));
95
+ console.log(apiKey);
96
+ console.log("=".repeat(64));
97
+ console.log("\nAdd this to your .env file:");
98
+ console.log(`MCP_API_KEY=${apiKey}\n`);
99
+ }
100
+ /**
101
+ * Bootstrap a starter `config.yaml` in the current working directory by
102
+ * copying one of the bundled example templates, then ensure the new file
103
+ * is listed in `<cwd>/.gitignore` so credentials filled in later don't
104
+ * slip into git.
105
+ *
106
+ * Resolved relative to `import.meta.url` (the compiled `dist/index.js`)
107
+ * so this keeps working when invoked via `npx`, where `process.cwd()`
108
+ * is the user's project but the example file lives next to the install.
109
+ *
110
+ * Refuses to overwrite an existing destination so an accidental rerun
111
+ * cannot wipe credentials the user already filled in. The write uses
112
+ * `wx` (exclusive create) so the existence check and the create happen
113
+ * as a single syscall — there is no TOCTOU window where another process
114
+ * could create the file between a precheck and the write.
115
+ *
116
+ * @param oauth When true, copy `config.oauth.example.yaml` (the minimal
117
+ * OAuth template); when false, copy `config.example.yaml` (the
118
+ * fully-annotated direct/api-key template). The CLI flag in the EEXIST
119
+ * error message is selected to match.
120
+ */
121
+ export function outputInitConfig(oauth = false) {
122
+ const sourceFileName = oauth
123
+ ? "config.oauth.example.yaml"
124
+ : "config.example.yaml";
125
+ const flagName = oauth ? "init-oauth-config" : "init-config";
126
+ const sourceUrl = new URL(`../${sourceFileName}`, import.meta.url);
127
+ const destPath = path.resolve("config.yaml");
128
+ const contents = fs.readFileSync(sourceUrl, "utf-8");
129
+ try {
130
+ fs.writeFileSync(destPath, contents, { flag: "wx" });
131
+ }
132
+ catch (err) {
133
+ if (err.code === "EEXIST") {
134
+ throw new Error(`config.yaml already exists at ${destPath}. ` +
135
+ `Remove or rename it before running --${flagName}.`);
136
+ }
137
+ throw err;
138
+ }
139
+ const gitignoreNote = ensureGitignoreEntry(destPath);
140
+ console.log(`wrote ./config.yaml (${gitignoreNote})`);
141
+ // OAuth has no credentials to edit; the bundled template is already
142
+ // runnable as-is. The api-key template, by contrast, ships placeholder
143
+ // values the user must fill in before the server can connect.
144
+ console.log(oauth
145
+ ? `Next: run with --config ./config.yaml`
146
+ : `Next: edit credentials in config.yaml and run with --config ./config.yaml`);
147
+ }
148
+ /**
149
+ * Ensure the basename of `filePath` is listed in `<dirname(filePath)>/.gitignore`.
150
+ * Creates the gitignore if missing; appends idempotently if present (matching
151
+ * trimmed lines verbatim — `*.yaml` globs or `/config.yaml` anchors are not
152
+ * recognized, so a user who already wrote either form will see a duplicate
153
+ * `config.yaml` entry, which is harmless).
154
+ *
155
+ * @returns A short note describing what happened, suitable for the success message.
156
+ */
157
+ function ensureGitignoreEntry(filePath) {
158
+ const dir = path.dirname(filePath);
159
+ const fileName = path.basename(filePath);
160
+ const gitignorePath = path.join(dir, ".gitignore");
161
+ if (!fs.existsSync(gitignorePath)) {
162
+ fs.writeFileSync(gitignorePath, `${fileName}\n`);
163
+ return "added to .gitignore";
164
+ }
165
+ const existing = fs.readFileSync(gitignorePath, "utf-8");
166
+ const alreadyListed = existing
167
+ .split("\n")
168
+ .some((line) => line.trim() === fileName);
169
+ if (alreadyListed) {
170
+ return ".gitignore already excludes it";
171
+ }
172
+ const prefix = existing.length > 0 && !existing.endsWith("\n") ? "\n" : "";
173
+ fs.appendFileSync(gitignorePath, `${prefix}${fileName}\n`);
174
+ return "added to .gitignore";
175
+ }
176
+ export function outputToolList(filteredToolNames) {
177
+ const MAX_DESC_LENGTH = 120;
178
+ // Bucket by ToolCategory. Today's callers pass `filteredToolNames` in
179
+ // registry-declaration order, which already roughly groups same-category
180
+ // tools, but we re-bucket explicitly here so the rendered layout doesn't
181
+ // depend on that incidental ordering.
182
+ const byCategory = new Map();
183
+ // --list-tools runs before any config is loaded, so there is no real runtime.
184
+ // A zero-connection runtime makes getRegisteredToolConfig() return each tool's
185
+ // authored config verbatim (no connectionId augmentation), which is exactly
186
+ // the connection-independent catalog view this listing wants.
187
+ const runtime = new ServerRuntime(new MCPServerConfiguration({ connections: {} }), {});
188
+ for (const toolName of filteredToolNames) {
189
+ const handler = ToolHandlerRegistry.getToolHandler(toolName);
190
+ const config = handler.getRegisteredToolConfig(runtime);
191
+ let desc = config.description.replaceAll(/\s+/g, " ").trim();
192
+ if (desc.length > MAX_DESC_LENGTH) {
193
+ desc = desc.slice(0, MAX_DESC_LENGTH - 3) + "...";
194
+ }
195
+ let bucket = byCategory.get(handler.category);
196
+ bucket ??= [];
197
+ byCategory.set(handler.category, bucket);
198
+ bucket.push({ name: toolName, desc });
199
+ }
200
+ // Categories rendered lex-sorted (kebab-case enum values sort cleanly);
201
+ // within each category, tools preserve the order they appeared in
202
+ // `filteredToolNames` (today: registry-declaration order, as supplied
203
+ // by the caller).
204
+ const sortedCategories = Array.from(byCategory.keys()).sort((a, b) => a.localeCompare(b));
205
+ sortedCategories.forEach((category, idx) => {
206
+ console.log(`\x1b[1;36m${category}:\x1b[0m`);
207
+ for (const { name, desc } of byCategory.get(category)) {
208
+ console.log(` \x1b[32m${name}\x1b[0m: ${desc}`);
209
+ }
210
+ // Blank line between sections, but not after the last category.
211
+ if (idx < sortedCategories.length - 1)
212
+ console.log("");
213
+ });
214
+ }
215
+ /**
216
+ * Dispatch the CLI's mutually-exclusive early-exit modes — generate-key,
217
+ * init-config, init-oauth-config, and list-tools — before the server
218
+ * bootstrap begins. Returns `{ handled: false }` when none apply, in
219
+ * which case the caller continues with normal startup.
220
+ *
221
+ * On init-config failure, the friendly error message is returned in
222
+ * `stderr` rather than written here, so the caller controls writing to
223
+ * stderr and exiting.
224
+ */
225
+ export function handleEarlyExits(cliOptions) {
226
+ if (cliOptions.generateKey) {
227
+ outputApiKey();
228
+ return { handled: true, exitCode: 0 };
229
+ }
230
+ if (cliOptions.initConfig) {
231
+ return runOutputInitConfig(false);
232
+ }
233
+ if (cliOptions.initOauthConfig) {
234
+ return runOutputInitConfig(true);
235
+ }
236
+ if (cliOptions.listTools) {
237
+ outputToolList(getFilteredToolNames(cliOptions.allowTools ?? [], cliOptions.blockTools ?? []));
238
+ return { handled: true, exitCode: 0 };
239
+ }
240
+ return { handled: false };
241
+ }
242
+ function runOutputInitConfig(oauth) {
243
+ try {
244
+ outputInitConfig(oauth);
245
+ return { handled: true, exitCode: 0 };
246
+ }
247
+ catch (error) {
248
+ const msg = error instanceof Error ? error.message : String(error);
249
+ const flag = oauth ? "--init-oauth-config" : "--init-config";
250
+ return { handled: true, exitCode: 1, stderr: `${flag} failed: ${msg}` };
251
+ }
252
+ }
253
+ /**
254
+ * Tear the server down on a shutdown signal, then exit. Every step runs inside
255
+ * a try/finally so a rejection from any one — most plausibly a client manager
256
+ * failing to disconnect — is logged but never strands the process: the exit
257
+ * always fires. `exit` is injected (defaulting to `process.exit`) so this
258
+ * guarantee is unit-testable without stubbing the global.
259
+ */
260
+ export async function performCleanup(deps, exit = (code) => process.exit(code)) {
261
+ logger.info("Shutting down...");
262
+ try {
263
+ await deps.telemetry.shutdown();
264
+ await deps.transportManager.stop();
265
+ // shutdown() is race-safe with an in-flight bootstrap.
266
+ deps.runtime.oauthHolder?.shutdown();
267
+ await deps.runtime.disconnectAll();
268
+ }
269
+ catch (error) {
270
+ logger.error({ err: error }, "Error during shutdown");
271
+ }
272
+ finally {
273
+ exit(0);
274
+ }
275
+ }
276
+ async function main() {
277
+ try {
278
+ // Parse command line arguments.(NO LONGER LOADS ENV VARS FROM -e file!)
279
+ const cliOptions = parseCliArgs(process.argv);
280
+ const earlyExit = handleEarlyExits(cliOptions);
281
+ if (earlyExit.handled) {
282
+ if (earlyExit.exitCode === 1) {
283
+ console.error(earlyExit.stderr);
284
+ }
285
+ process.exit(earlyExit.exitCode);
286
+ }
287
+ const allowedToolNames = resolveAllowedToolNames(cliOptions.allowTools ?? [], cliOptions.blockTools ?? []);
288
+ if (cliOptions.envFile) {
289
+ loadDotEnvFile(cliOptions.envFile);
290
+ }
291
+ // Convert our known env vars into a typed Environment obj.
292
+ const env = initEnv();
293
+ let mcpConfig;
294
+ // Load and validate configuration — from YAML file if --config provided, else from env vars + CLI overrides.
295
+ if (cliOptions.config) {
296
+ mcpConfig = loadConfigFromYaml(cliOptions.config, process.env);
297
+ }
298
+ else {
299
+ mcpConfig = buildConfigFromEnvAndCli(env, {
300
+ disableAuth: cliOptions.disableAuth,
301
+ allowedHosts: cliOptions.allowedHosts,
302
+ kafkaConfig: cliOptions.kafkaConfig,
303
+ oauth: cliOptions.oauth,
304
+ ccloudEnv: cliOptions.ccloudEnv,
305
+ });
306
+ }
307
+ setLogLevel(mcpConfig.server.log_level);
308
+ // Transport selection: YAML config is authoritative when --config is used;
309
+ // CLI flag (or its default) is used on the env-var path.
310
+ const transports = cliOptions.config
311
+ ? mcpConfig.server.transports
312
+ : cliOptions.transports;
313
+ // DO_NOT_TRACK is a cross-tool user preference (consoledonottrack.com);
314
+ // the env var acts as a floor so it is honored even when --config is used.
315
+ TelemetryService.initialize({
316
+ doNotTrack: mcpConfig.server.do_not_track || env.DO_NOT_TRACK,
317
+ writeKey: resolveTelemetryWriteKey(mcpConfig),
318
+ });
319
+ const telemetry = TelemetryService.getInstance();
320
+ logger.info(`${mcpConfig.getConnectionIds().length} connections loaded successfully`);
321
+ const runtime = ServerRuntime.fromConfig(mcpConfig, allowedToolNames);
322
+ const serverVersion = getPackageVersion();
323
+ telemetry.setCommonProperties({ serverVersion });
324
+ const toolHandlers = getToolHandlersToRegister(runtime);
325
+ logger.info({ enabledTools: [...toolHandlers.keys()] }, `${toolHandlers.size} tool(s) enabled`);
326
+ // Warn if auth is disabled
327
+ if (mcpConfig.server.auth.disabled) {
328
+ logger.warn("Authentication is DISABLED for HTTP/SSE transports. " +
329
+ "This should only be used in development environments.");
330
+ }
331
+ const transportManager = new TransportManager({
332
+ disableAuth: mcpConfig.server.auth.disabled,
333
+ allowedHosts: mcpConfig.server.auth.allowed_hosts,
334
+ apiKey: mcpConfig.server.auth.api_key,
335
+ });
336
+ const serverOptions = {
337
+ serverVersion,
338
+ toolHandlers,
339
+ runtime,
340
+ track: (props) => telemetry.track(TelemetryEvent.TOOL_CALL, {
341
+ ...props,
342
+ }),
343
+ };
344
+ // Start all transports with a single call
345
+ logger.info(`Starting transports: ${transports.join(", ")}`);
346
+ await transportManager.start({
347
+ serverOptions,
348
+ types: transports,
349
+ http: {
350
+ port: mcpConfig.server.http.port,
351
+ host: mcpConfig.server.http.host,
352
+ mcpEndpointPath: mcpConfig.server.http.mcp_endpoint,
353
+ sseEndpointPath: mcpConfig.server.http.sse_endpoint,
354
+ sseMessageEndpointPath: mcpConfig.server.http.sse_message_endpoint,
355
+ },
356
+ });
357
+ // Boot-time invariants (config source, active transports, connection
358
+ // types) ride this one-shot event rather than every TOOL_CALL — they
359
+ // don't change after startup, so duplicating them per tool call buys
360
+ // nothing. Warehouse queries join SERVER_START to TOOL_CALL on
361
+ // `serverSessionId` (a common property) when slicing is needed.
362
+ telemetry.track(TelemetryEvent.SERVER_START, {
363
+ ...buildConfigTelemetry(cliOptions, mcpConfig, transports),
364
+ });
365
+ // Set up cleanup handlers
366
+ const cleanup = () => performCleanup({ telemetry, transportManager, runtime });
367
+ process.on("SIGINT", cleanup);
368
+ process.on("SIGTERM", cleanup);
369
+ process.on("SIGQUIT", cleanup);
370
+ process.on("SIGUSR2", cleanup);
371
+ }
372
+ catch (error) {
373
+ if (error instanceof DisplayedCommandLineUsageError) {
374
+ process.exit(0);
375
+ }
376
+ logger.error({ err: error }, "Error starting server");
377
+ process.exit(1);
378
+ }
379
+ }
380
+ if (process.env.NODE_ENV !== "test") {
381
+ await main();
382
+ }
383
+ //# sourceMappingURL=server-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-main.js","sourceRoot":"","sources":["../src/server-main.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { MCPServerConfiguration } from "./config/index.js";
2
2
  import { BaseClientManager } from "./confluent/base-client-manager.js";
3
3
  import { OAuthHolder } from "./confluent/oauth/oauth-holder.js";
4
+ import { ToolName } from "./confluent/tools/tool-name.js";
4
5
  /**
5
6
  * Aggregate of all runtime state threaded through the server.
6
7
  *
@@ -17,12 +18,26 @@ export declare class ServerRuntime {
17
18
  * before any handler that needs Confluent access.
18
19
  */
19
20
  readonly oauthHolder: OAuthHolder | undefined;
20
- constructor(config: MCPServerConfiguration, clientManagers: Record<string, BaseClientManager>, oauthHolder?: OAuthHolder | undefined);
21
21
  /**
22
- * Convenience accessor for the single-connection period.
23
- * Remove (or make multi-connection-aware) when issue #151 lands.
22
+ * Tool names the operator's allow/block-list left enabled, or `undefined`
23
+ * when no list was configured (all tools allowed — cli.ts's default-on
24
+ * behavior). The `undefined`-means-unfiltered sentinel is this class's own
25
+ * business: callers ask {@link isToolAllowed} rather than branching on it.
24
26
  */
25
- get clientManager(): BaseClientManager;
26
- static fromConfig(config: MCPServerConfiguration): ServerRuntime;
27
+ private readonly allowedToolNames;
28
+ constructor(config: MCPServerConfiguration, clientManagers: Record<string, BaseClientManager>, oauthHolder?: OAuthHolder | undefined, allowedToolNames?: ReadonlySet<ToolName> | undefined);
29
+ /**
30
+ * Whether the operator's allow/block-list leaves `name` invokable. Always
31
+ * `true` when no list was configured. The single source of truth for the
32
+ * operator filter, shared by tool registration and the `list-configured-connections`
33
+ * tool so the advertised set and the reported set can never diverge.
34
+ */
35
+ isToolAllowed(name: ToolName): boolean;
36
+ /**
37
+ * Disconnect every per-connection client manager — the teardown counterpart
38
+ * to the per-connection construction in {@link fromConfig}.
39
+ */
40
+ disconnectAll(): Promise<void>;
41
+ static fromConfig(config: MCPServerConfiguration, allowedToolNames?: ReadonlySet<ToolName> | undefined): ServerRuntime;
27
42
  }
28
43
  //# sourceMappingURL=server-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../src/server-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;gBAG5C,MAAM,EAAE,sBAAsB,EAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,WAAW,GAAE,WAAW,GAAG,SAAqB;IAOlD;;;OAGG;IACH,IAAI,aAAa,IAAI,iBAAiB,CAarC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,aAAa;CA4CjE"}
1
+ {"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../src/server-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAE9C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;gBAGnE,MAAM,EAAE,sBAAsB,EAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,WAAW,GAAE,WAAW,GAAG,SAAqB,EAChD,gBAAgB,GAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAqB;IAQjE;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAMtC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpC,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,GAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,SAAqB,GAC9D,aAAa;CAiDjB"}