@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
package/README.md CHANGED
@@ -6,9 +6,15 @@
6
6
  An open-source [MCP server](https://modelcontextprotocol.io/) that enables AI assistants to interact with Confluent Cloud, Confluent Platform, and standalone Apache Kafka deployments through natural language.
7
7
  It provides 50+ tools across Kafka, Flink SQL, Schema Registry, Connectors, Tableflow, and more -- usable from any MCP-compatible client including Claude Desktop, Claude Code, Cursor, VS Code, Goose, and Gemini CLI.
8
8
 
9
+ > [!TIP]
10
+ > **Already a Confluent Cloud customer?**
11
+ > Confluent offers a [fully managed MCP server](https://docs.confluent.io/cloud/current/ai/ai-tools/managed-mcp-server.html) with no local server to run and no dependencies to install.
12
+ > It provides access to your Confluent Cloud resources with AI-powered connector diagnostics, governed by your existing RBAC permissions.
13
+ > Use this open-source server if you need Confluent Platform / self-managed Kafka support, or want to customize and extend the toolset.
14
+
9
15
  ## Quick Start
10
16
 
11
- > **Prerequisites:** [Node.js 22+](https://nodejs.org/).
17
+ > **Prerequisites:** [Node.js 22.19.0+](https://nodejs.org/).
12
18
  > If you want to interact with [Confluent Cloud](https://confluent.cloud/), you need to create an account first.
13
19
 
14
20
  1. Generate a quick `config.yaml` file in your project root:
@@ -32,6 +38,7 @@ See [Getting Started](#getting-started) for full setup instructions and [Configu
32
38
  - [Always Available](#always-available-tools)
33
39
  - [Confluent Cloud](#available-tools-for-confluent-cloud)
34
40
  - [Local deployments](#available-tools-for-local-deployments)
41
+ - [Using with Confluent Platform](#using-with-confluent-platform)
35
42
  - [Getting Started](#getting-started)
36
43
  - [Configuration](#configuration)
37
44
  - [OAuth Authentication for Confluent Cloud](#oauth-authentication-for-confluent-cloud)
@@ -55,10 +62,10 @@ npx -y @confluentinc/mcp-confluent --list-tools
55
62
 
56
63
  These tools need no service blocks or authentication — they're enabled even on a bare config, regardless of which deployment the rest of your config targets.
57
64
 
58
- | Category | Tools | Description |
59
- | ----------------- | --------------------------------------------- | --------------------------------------------------------- |
60
- | **Documentation** | `search-product-docs`, `get-product-doc-page` | Search Confluent product docs and fetch full page content |
61
- | **Diagnostics** | `explain-disabled-tools` | Explain why specific tools are absent from `tools/list` |
65
+ | Category | Tools | Description |
66
+ | ----------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
67
+ | **Documentation** | `search-product-docs`, `get-product-doc-page` | Search Confluent product docs and fetch full page content |
68
+ | **Diagnostics** | `explain-disabled-tools`, `list-configured-connections`, `config-help`, `describe-configured-connection` | Explain why tools are absent, list configured connections and the tools enabled on each, suggest the YAML to enable a specific tool, and describe one connection's config and tool availability |
62
69
 
63
70
  ### Available Tools for Confluent Cloud
64
71
 
@@ -66,24 +73,26 @@ These tools require endpoints and authentication against specific Confluent Clou
66
73
  Refer to [`config.example.yaml`](config.example.yaml) for the full set of configuration variables.
67
74
  Categories marked with ¹ also work with [OAuth authentication](#oauth-authentication-for-confluent-cloud) — sign in via your browser instead of provisioning API keys.
68
75
 
69
- | Category | Tools | Description |
70
- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
71
- | **Kafka** ¹ | `list-topics`, `create-topics`, `delete-topics`, `produce-message`, `consume-messages`, `alter-topic-config`, `get-topic-config` | Manage topics, produce/consume messages, configure topic settings |
72
- | **Flink SQL** | `create-flink-statement`, `list-flink-statements`, `read-flink-statement`, `delete-flink-statements`, `get-flink-statement-exceptions` | Create and manage Flink SQL statements |
73
- | **Flink Catalog** | `list-flink-catalogs`, `list-flink-databases`, `list-flink-tables`, `describe-flink-table`, `get-flink-table-info` | Explore Flink catalogs, databases, and table schemas |
74
- | **Flink Diagnostics** | `check-flink-statement-health`, `detect-flink-statement-issues`, `get-flink-statement-profile` | Health checks, issue detection, and query profiling |
75
- | **Connectors** | `list-connectors`, `read-connector`, `create-connector`, `delete-connector` | Manage Kafka Connect connectors |
76
- | **Schema Registry** ¹ | `list-schemas`, `delete-schema` | List, inspect, and delete data schemas |
77
- | **Catalog & Tags** | `search-topics-by-tag`, `search-topics-by-name`, `create-topic-tags`, `delete-tag`, `remove-tag-from-entity`, `add-tags-to-topic`, `list-tags` | Organize and search topics using tags |
78
- | **Organizations, Environments & Clusters** ¹ | `list-organizations`, `list-environments`, `read-environment`, `list-clusters` | Discover Confluent Cloud resources |
79
- | **Tableflow** | `create-tableflow-topic`, `list-tableflow-topics`, `read-tableflow-topic`, `update-tableflow-topic`, `delete-tableflow-topic`, `list-tableflow-regions` | Manage Tableflow-enabled topics |
80
- | **Tableflow Catalog** | `create-tableflow-catalog-integration`, `list-tableflow-catalog-integrations`, `read-tableflow-catalog-integration`, `update-tableflow-catalog-integration`, `delete-tableflow-catalog-integration` | Manage Tableflow catalog integrations (e.g., AWS Glue) |
81
- | **Metrics** | `list-available-metrics`, `query-metrics` | Discover and query Confluent Cloud operational metrics |
82
- | **Billing** ¹ | `list-billing-costs` | Query billing and cost data |
76
+ | Category | Tools | Description |
77
+ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
78
+ | **Kafka** ¹ | `list-topics`, `create-topics`, `delete-topics`, `produce-message`, `consume-messages`, `list-consumer-groups`, `describe-consumer-group`, `get-consumer-group-lag`, `alter-topic-config`, `get-topic-config` | Manage topics, produce/consume messages, inspect consumer groups, configure topic settings |
79
+ | **Flink SQL** ¹ | `create-flink-statement`, `list-flink-statements`, `get-flink-statement-results`, `delete-flink-statements`, `get-flink-statement-exceptions`, `list-compute-pools` | Create and manage Flink SQL statements; discover Flink compute pools |
80
+ | **Flink Catalog** ¹ | `list-flink-catalogs`, `list-flink-databases`, `list-flink-tables`, `describe-flink-table`, `get-flink-table-info` | Explore Flink catalogs, databases, and table schemas |
81
+ | **Flink Diagnostics** ¹ | `check-flink-statement-health`, `detect-flink-statement-issues`, `get-flink-statement-profile` | Health checks, issue detection, and query profiling |
82
+ | **Connectors** ¹ | `list-connectors`, `get-connector-config`, `get-connector-offsets`, `get-connector-status`, `get-connector-tasks`, `get-connector-error-summary`, `get-connector-error-recommendations`, `get-connector-logs`, `create-connector` ², `delete-connector`, `pause-connector`, `resume-connector`, `restart-connector`, `update-connector-config` | Inspect and manage Kafka Connect connectors |
83
+ | **Schema Registry** ¹ | `list-schemas`, `create-schema`, `delete-schema` | List, inspect, create, and delete data schemas |
84
+ | **Catalog & Tags** ¹ | `search-topics-by-tag`, `search-topics-by-name`, `create-topic-tags`, `delete-tag`, `remove-tag-from-entity`, `add-tags-to-topic`, `list-tags` | Organize and search topics using tags |
85
+ | **Organizations, Environments & Clusters** ¹ | `list-organizations`, `list-environments`, `read-environment`, `list-clusters` | Discover Confluent Cloud resources |
86
+ | **Tableflow** ¹ | `create-tableflow-topic`, `list-tableflow-topics`, `read-tableflow-topic`, `update-tableflow-topic`, `delete-tableflow-topic`, `list-tableflow-regions` | Manage Tableflow-enabled topics |
87
+ | **Tableflow Catalog** ¹ | `create-tableflow-catalog-integration`, `list-tableflow-catalog-integrations`, `read-tableflow-catalog-integration`, `update-tableflow-catalog-integration`, `delete-tableflow-catalog-integration` | Manage Tableflow catalog integrations (e.g., AWS Glue) |
88
+ | **Metrics** ¹ | `list-available-metrics`, `query-metrics` | Discover and query Confluent Cloud operational metrics |
89
+ | **Billing** ¹ | `list-billing-costs` | Query billing and cost data |
83
90
 
84
91
  ¹ Also available under OAuth — see [OAuth Authentication for Confluent Cloud](#oauth-authentication-for-confluent-cloud) for setup and caveats.
85
92
  Categories not marked currently require a `direct` connection with static API keys; OAuth migration is in progress.
86
93
 
94
+ ² Individual tool not available under OAuth; requires a `direct` connection with static API keys.
95
+
87
96
  ### Available Tools for local deployments
88
97
 
89
98
  These tools only require Kafka or Schema Registry endpoints - no Confluent Cloud API key/secret is needed.
@@ -102,20 +111,67 @@ connections:
102
111
 
103
112
  Ready-to-use variants live in [`sample_configs/`](sample_configs/).
104
113
 
105
- | Category | Tools | Description |
106
- | ------------------- | -------------------------------------------------------------------------------------- | --------------------------------------- |
107
- | **Kafka** | `list-topics`, `create-topics`, `delete-topics`, `produce-message`, `consume-messages` | Manage topics, produce/consume messages |
108
- | **Schema Registry** | `list-schemas`, `delete-schema` | List, inspect, and delete data schemas |
114
+ | Category | Tools | Description |
115
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
116
+ | **Kafka** | `list-topics`, `create-topics`, `delete-topics`, `produce-message`, `consume-messages`, `list-consumer-groups`, `describe-consumer-group`, `get-consumer-group-lag` | Manage topics, produce/consume messages, inspect consumer groups |
117
+ | **Schema Registry** | `list-schemas`, `create-schema`, `delete-schema` | List, inspect, create, and delete data schemas |
118
+
119
+ ## Using with Confluent Platform
120
+
121
+ `mcp-confluent` runs against a self-managed Confluent Platform (CP) cluster the same way it runs against any local Kafka + Schema Registry deployment: point a `direct` connection at your brokers and Schema Registry.
122
+ A CP connection exposes the same tools as any other local deployment — see [Available Tools for local deployments](#available-tools-for-local-deployments).
123
+ The Confluent Cloud tools (Flink, Tableflow, Billing, Metrics, and the rest) require a Confluent Cloud account and stay disabled on CP.
124
+ The only differences from a `localhost:9092` setup are authentication and TLS.
125
+
126
+ ### Sample YAML config
127
+
128
+ [`sample_configs/confluent-platform.yaml`](sample_configs/confluent-platform.yaml) is a copy-pasteable starter.
129
+ It assumes PLAIN over SASL_SSL for Kafka and HTTP Basic Auth for Schema Registry.
130
+ Customize the broker and Schema Registry URLs, and inject credentials via the `${KAFKA_API_KEY}` / `${KAFKA_API_SECRET}` / `${SCHEMA_REGISTRY_API_KEY}` / `${SCHEMA_REGISTRY_API_SECRET}` environment variables.
131
+ If your cluster uses SCRAM or another SASL mechanism, override `security.protocol` and `sasl.mechanisms` through the `kafka.extra_properties` map in that file.
132
+
133
+ ### TLS trust (internal CAs)
134
+
135
+ CP clusters frequently sit behind an internal CA.
136
+ If you see TLS handshake failures against the broker or Schema Registry, point Node at your CA bundle when starting the server:
137
+
138
+ ```bash
139
+ NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem pnpm run start -- --config path/to/config.yaml
140
+ ```
141
+
142
+ ### End-to-end smoke test
143
+
144
+ A docker-compose stack ([`docker-compose.cp-test.yml`](docker-compose.cp-test.yml)) brings up a local CP Kafka (KRaft, SASL_PLAINTEXT/PLAIN) plus an unauthenticated Schema Registry.
145
+ The matching integration tests are tagged `@cp` and live next to their handlers as `*.cp.integration.test.ts`:
146
+
147
+ ```bash
148
+ docker compose -f docker-compose.cp-test.yml up -d
149
+ # Wait ~30s for Kafka + SR to become ready, then:
150
+ CP_KAFKA_USERNAME=mcp CP_KAFKA_PASSWORD=mcp-secret \
151
+ pnpm run test:integration --tags-filter=@cp
152
+ docker compose -f docker-compose.cp-test.yml down -v
153
+ ```
154
+
155
+ The tests skip cleanly when those env vars are unset, so `pnpm run test:unit` and a default `pnpm run test:integration` against your real Confluent Cloud account are unaffected if you don't have the docker stack running.
109
156
 
110
157
  ## Getting Started
111
158
 
112
159
  ### Prerequisites
113
160
 
114
- - **Node.js 22 or later** -- we recommend using [NVM](https://github.com/nvm-sh/nvm) to manage versions:
161
+ - **Node.js 22.19.0 or later** -- we recommend using [NVM](https://github.com/nvm-sh/nvm) to manage versions:
115
162
  ```bash
116
163
  nvm install 22
117
164
  nvm use 22
118
165
  ```
166
+ - **[pnpm](https://pnpm.io/installation)** -- only needed to build from source (the `npx` quick start above does not require it).
167
+ On macOS the simplest install is Homebrew; `npm` works cross-platform:
168
+ ```bash
169
+ brew install pnpm # macOS
170
+ # or, cross-platform:
171
+ npm install -g pnpm
172
+ ```
173
+ See pnpm's [installation guide](https://pnpm.io/installation) for other options.
174
+ The exact pnpm version is pinned in the `packageManager` field of `package.json`, and pnpm automatically runs that pinned version (via its built-in package-manager version management), so a recent pnpm install is all you need -- no separate Corepack setup required.
119
175
  - A local environment with Kafka or Schema Registry running, or a **Confluent Cloud** account with appropriate API keys or login credentials if [using OAuth to authenticate](#oauth-authentication-for-confluent-cloud).
120
176
 
121
177
  ### General Setup Steps
@@ -140,9 +196,9 @@ npx @confluentinc/mcp-confluent --init-config
140
196
 
141
197
  3. **Start the Server:** You can run the MCP server in one of two ways:
142
198
  - **From source:** Follow the instructions in the [Contributing Guide](CONTRIBUTING.md) to build and run the server from source.
143
- This typically involves:
144
- - Installing dependencies (`npm install`)
145
- - Building the project (`npm run build` or `npm run dev`)
199
+ This typically involves:
200
+ - Installing dependencies (`pnpm install`)
201
+ - Building the project (`pnpm run build` or `pnpm run dev`)
146
202
  - **With npx:** You can start the server directly using npx, no build required:
147
203
 
148
204
  ```bash
@@ -165,8 +221,8 @@ The full configuration reference — YAML schema, every service block, env-var i
165
221
 
166
222
  > **Compatibility note.** This release ships full parity between YAML (`-c config.yaml`) and the legacy env-var path (`-e config.env`) for a single connection.
167
223
  > The env-var-only path will emit a startup warning in a near-future release and be removed a release or two later.
168
- > Multi-connection support (next release) will be YAML-only.
169
- > See [CONFIGURATION.md → Two paths, one configuration](CONFIGURATION.md#two-paths-one-configuration).
224
+ > Defining multiple connections (or none) is YAML-only — the env-var path can express only a single connection.
225
+ > See [CONFIGURATION.md → Two paths, one configuration](CONFIGURATION.md#two-paths-one-configuration) and [CONFIGURATION.md → Multiple connections (and zero connections)](CONFIGURATION.md#multiple-connections-and-zero-connections).
170
226
 
171
227
  ### Prerequisites & setup for Tableflow commands
172
228
 
@@ -298,54 +354,99 @@ npx -y @confluentinc/mcp-confluent --list-tools
298
354
  <summary>Show output</summary>
299
355
 
300
356
  ```text
301
- add-tags-to-topic: Assign existing tags to Kafka topics in Confluent Cloud.
302
- alter-topic-config: Alter topic configuration in Confluent Cloud.
303
- consume-messages: Consumes messages from one or more Kafka topics. Supports automatic deserialization of Schema Registry encoded messag...
304
- create-connector: Create a new connector. Returns the new connector information if successful.
305
- create-flink-statement: Make a request to create a statement.
306
- create-topic-tags: Create new tag definitions in Confluent Cloud.
307
- create-topics: Create one or more Kafka topics.
308
- delete-connector: Delete an existing connector. Returns success message if deletion was successful.
309
- delete-flink-statements: Make a request to delete a statement.
310
- delete-tag: Delete a tag definition from Confluent Cloud.
311
- delete-topics: Delete the topic with the given names.
312
- check-flink-statement-health: Perform an aggregate health check for a Flink SQL statement.
313
- describe-flink-table: Get full schema details for a Flink table via INFORMATION_SCHEMA.COLUMNS.
314
- detect-flink-statement-issues: Detect issues for a Flink SQL statement by analyzing status, exceptions, and metrics.
315
- get-flink-statement-profile: Get Query Profiler data with task graph, metrics, and automated issue detection.
316
- get-flink-table-info: Get table metadata via INFORMATION_SCHEMA.TABLES.
317
- list-flink-catalogs: List all catalogs in the Flink environment.
318
- list-flink-databases: List all databases (schemas) in a Flink catalog via INFORMATION_SCHEMA.SCHEMATA.
319
- list-flink-tables: List all tables in a Flink database.
320
- get-flink-statement-exceptions: Retrieve the 10 most recent exceptions for a Flink SQL statement.
321
- get-topic-config: Retrieve configuration details for a specific Kafka topic.
322
- list-clusters: Get all clusters in the Confluent Cloud environment
323
- list-connectors: Retrieve a list of "names" of the active connectors. You can then make a read request for a specific connector by name.
324
- list-environments: Get all environments in Confluent Cloud with pagination support
325
- list-flink-statements: Retrieve a sorted, filtered, paginated list of all statements.
326
- list-schemas: List all schemas in the Schema Registry.
327
- list-tags: Retrieve all tags with definitions from Confluent Cloud Schema Registry.
328
- list-topics: List all topics in the Kafka cluster.
329
- produce-message: Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both ke...
330
- read-connector: Get information about the connector.
331
- read-environment: Get details of a specific environment by ID
332
- read-flink-statement: Make a request to read a statement and its results
333
- remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
334
- search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
335
- search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.
336
- create-tableflow-topic: Make a request to create a tableflow topic.
337
- list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
338
- list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
339
- read-tableflow-topic: Make a request to read a tableflow topic.
340
- update-tableflow-topic: Make a request to update a tableflow topic.
341
- delete-tableflow-topic: Make a request to delete a tableflow topic.
342
- create-tableflow-catalog-integration: Make a request to create a catalog integration.
343
- list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
344
- read-tableflow-catalog-integration: Make a request to read a catalog integration.
345
- update-tableflow-catalog-integration: Make a request to update a catalog integration.
346
- delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
347
- list-organizations: List Confluent Cloud organizations the current credentials can see. Paginated; if the response includes a nextPageToken, pass it back as pageToken to fetch additional pages.
348
- explain-disabled-tools: Call when the user asks why a tool is missing or unavailable (e.g., "why can't I list Kafka topics?", "where are the Flink tools?"). Returns disabled tools grouped by the config gap each one is waiting on, so you can tell the user the exact YAML block or field to add. Prefer this over guessing about credentials, network, or auth.
357
+ billing:
358
+ list-billing-costs: Retrieve billing cost data for a Confluent Cloud organization within a specified date range with pagination support
359
+
360
+ catalog:
361
+ add-tags-to-topic: Assign existing tags to Kafka topics in Confluent Cloud.
362
+ create-topic-tags: Create new tag definitions in Confluent Cloud.
363
+ delete-tag: Delete a tag definition from Confluent Cloud.
364
+ list-tags: Retrieve all tags with definitions from Confluent Cloud Schema Registry.
365
+ remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
366
+ search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
367
+ search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.
368
+
369
+ confluent-cloud:
370
+ list-clusters: Get all clusters in the Confluent Cloud environment
371
+ list-environments: Get all environments in Confluent Cloud with pagination support
372
+ list-organizations: List Confluent Cloud organizations the current credentials can see. Paginated; if the response includes a nextPageTok...
373
+ read-environment: Get details of a specific environment by ID
374
+
375
+ connect:
376
+ create-connector: Create a new connector. Returns the new connector information if successful.
377
+ delete-connector: Delete an existing connector. Returns success message if deletion was successful.
378
+ get-connector-config: Retrieve the full configuration map for a connector. Returns the flat config object the connector was created/updated...
379
+ get-connector-error-recommendations: Get suggested remediation steps for a connector that has failed or is in an error state. Returns a one-liner when no recommendations are available.
380
+ get-connector-error-summary: Summarize a connector's current errors. Projects Confluent Cloud's /status diagnostics into a compact, agent-friendly form. Returns a one-liner when the connector is healthy.
381
+ get-connector-logs: Retrieve recent log entries for a Confluent Cloud connector from the Cloud logging API. Defaults to the last hour of ERROR-level entries. Paginated via nextPageToken.
382
+ get-connector-offsets: Retrieve current offsets for a connector's tasks. Useful for detecting lag, stalled tasks, or assisting recovery.
383
+ get-connector-status: Get the current state of a connector and its tasks (RUNNING, FAILED, PAUSED, UNASSIGNED) including failure traces if ...
384
+ get-connector-tasks: List the tasks of a connector along with their configurations.
385
+ list-connectors: Retrieve a list of "names" of the active connectors. You can then make a read request for a specific connector by name.
386
+ pause-connector: Pause a running connector and its tasks. Idempotent.
387
+ restart-connector: Restart a connector and its tasks. Asynchronous; the connector will not transition state synchronously.
388
+ resume-connector: Resume a paused connector and its tasks. Idempotent.
389
+ update-connector-config: Update the configuration of an existing connector. Full-replace: omitted keys are removed and the connector is reconf...
390
+
391
+ docs:
392
+ get-product-doc-page: Fetch the full markdown content of a Confluent product documentation page. Accepts URLs under https://docs.confluent....
393
+ search-product-docs: Search Confluent product documentation (docs.confluent.io, developer.confluent.io, support.confluent.io) by keyword.
394
+
395
+ flink:
396
+ check-flink-statement-health: Perform an aggregate health check for a Flink SQL statement. Returns status (healthy/warning/critical), current phase...
397
+ create-flink-statement: Make a request to create a statement.
398
+ delete-flink-statements: Make a request to delete a statement.
399
+ describe-flink-table: Get full schema details for a Flink table via INFORMATION_SCHEMA.COLUMNS. Returns column names, data types (including...
400
+ detect-flink-statement-issues: Detect issues for a Flink SQL statement by analyzing status, exceptions, and performance metrics. Identifies problems...
401
+ get-flink-statement-exceptions: Retrieve the 10 most recent exceptions for a Flink SQL statement. Useful for diagnosing failed or failing statements.
402
+ get-flink-statement-profile: Get Query Profiler data for a Flink SQL statement. Returns the task graph with human-readable task/operator names, pe...
403
+ get-flink-statement-results: Fetch the result rows produced by a Flink SQL statement.
404
+ get-flink-table-info: Get table metadata via INFORMATION_SCHEMA.TABLES. Returns watermark configuration, distribution info, and table type.
405
+ list-compute-pools: Get the Flink compute pools in the Confluent Cloud environment. Paginated; if the response includes a nextPageToken, pas...
406
+ list-flink-catalogs: List all catalogs available in the Flink environment via INFORMATION_SCHEMA.CATALOGS.
407
+ list-flink-databases: List all databases (schemas) in a Flink catalog via INFORMATION_SCHEMA.SCHEMATA. Returns catalog and database names.
408
+ list-flink-statements: Retrieve a sorted, filtered, paginated list of all statements.
409
+ list-flink-tables: List all tables in a Flink database via INFORMATION_SCHEMA.TABLES. Returns table names and types.
410
+
411
+ kafka:
412
+ alter-topic-config: Alter topic configuration in Confluent Cloud.
413
+ consume-messages: Consume messages from Kafka topics. Optionally restrict to a partition, start from an offset, timestamp, earliest, la...
414
+ create-topics: Create one or more Kafka topics with an optional partition count and replication factor.
415
+ delete-topics: Delete the topic with the given names.
416
+ describe-consumer-group: Describe a single consumer group on a Kafka cluster. Returns the group's state, type, protocol, partition assignor, c...
417
+ get-consumer-group-lag: Compute live offset lag for a single Kafka consumer group. Returns per-(topic, partition) {committedOffset, highWater...
418
+ get-partition-offsets: Return per-partition low/high watermarks and message counts for a Kafka topic. Use this to size a backfill, measure l...
419
+ get-topic-config: Retrieve configuration details for a specific Kafka topic.
420
+ list-consumer-groups: List consumer groups on a Kafka cluster — wraps the broker's listGroups admin call. Optional filters narrow the resul...
421
+ list-topics: List all topics in the Kafka cluster.
422
+ produce-message: Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both ke...
423
+
424
+ mcp-server-diagnostics:
425
+ config-help: Call when the user wants to enable or unlock a specific tool (e.g. "how do I enable the tableflow tools?", "what config does cr...
426
+ explain-disabled-tools: Call when the user asks why a tool is missing or unavailable (e.g., "why can't I list Kafka topics?", "where are the ...
427
+ list-configured-connections: List every configured connection and the connection-routable tools you can invoke against each. The connection id (th...
428
+
429
+ metrics:
430
+ list-available-metrics: List available Confluent Cloud metrics and their filter fields from the Telemetry API. Use this tool BEFORE query-met...
431
+ query-metrics: Query Confluent Cloud metrics from the Telemetry API. IMPORTANT: Use the list-available-metrics tool first to discove...
432
+
433
+ schema-registry:
434
+ create-schema: Register a new schema (or a new version of an existing schema) under a subject in the Schema Registry.
435
+ delete-schema: Delete a schema subject or a specific version from the Schema Registry. If version is omitted, all versions of the su...
436
+ list-schemas: List all schemas in the Schema Registry.
437
+
438
+ tableflow:
439
+ create-tableflow-catalog-integration: Make a request to create a catalog integration.
440
+ create-tableflow-topic: Make a request to create a tableflow topic.
441
+ delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
442
+ delete-tableflow-topic: Make a request to delete a tableflow topic.
443
+ list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
444
+ list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
445
+ list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
446
+ read-tableflow-catalog-integration: Make a request to read a catalog integration.
447
+ read-tableflow-topic: Make a request to read a tableflow topic.
448
+ update-tableflow-catalog-integration: Make a request to update a catalog integration.
449
+ update-tableflow-topic: Make a request to update a tableflow topic.
349
450
  ```
350
451
 
351
452
  </details>
@@ -362,6 +463,7 @@ Please refer to the following guides for step-by-step instructions on setting up
362
463
  - [Cursor](docs/configuring-cursor.md)
363
464
  - [Gemini CLI](docs/configuring-gemini-cli.md)
364
465
  - [Goose CLI](docs/configuring-goose-cli.md)
466
+ - [IBM Bob](docs/configuring-ibm-bob.md)
365
467
  - [VS Code](docs/configuring-vs-code.md)
366
468
  - [Windsurf](docs/configuring-windsurf.md)
367
469
 
@@ -373,7 +475,7 @@ See [telemetry.md](telemetry.md) for full details on what is collected.
373
475
 
374
476
  ## Troubleshooting
375
477
 
376
- **"Node.js version not supported"** -- This project requires Node.js 22 or later.
478
+ **"Node.js version not supported"** -- This project requires Node.js 22.19.0 or later.
377
479
  Check your version with `node -v` and upgrade if needed.
378
480
 
379
481
  **Tools not appearing** -- Each tool requires specific service blocks in your `config.yaml`.
@@ -15,5 +15,85 @@
15
15
  <p>You have successfully authenticated with Confluent Cloud.</p>
16
16
  <p>You may close this page and return to your terminal.</p>
17
17
  </div>
18
+
19
+ <div class="install-hint">
20
+ <h2>Next: install the Confluent agent skills</h2>
21
+ <div class="install-hint__cmd-row">
22
+ <code id="install-cmd" class="install-hint__cmd"
23
+ >npx skills add confluentinc/agent-skills</code
24
+ >
25
+ <button
26
+ type="button"
27
+ id="install-cmd-copy"
28
+ class="install-hint__copy"
29
+ aria-label="Copy install command"
30
+ >
31
+ Copy
32
+ </button>
33
+ </div>
34
+ <p class="install-hint__docs">
35
+ Learn more in the
36
+ <a
37
+ href="https://docs.confluent.io/cloud/current/ai/ai-tools/agent-skills.html"
38
+ target="_blank"
39
+ rel="noopener noreferrer"
40
+ >Confluent agent skills documentation</a
41
+ >.
42
+ </p>
43
+ </div>
44
+
45
+ <script>
46
+ (function () {
47
+ // Open an EventSource so the local CLI's callback server knows the
48
+ // user is still on this page. The server keeps its listener bound
49
+ // while at least one stream is connected, and closes it as soon as
50
+ // this stream disconnects (tab close / refresh / navigation away) —
51
+ // so beacons from the Copy button below are guaranteed to land on
52
+ // a live listener.
53
+ try {
54
+ var stream = new EventSource("{{streamPath}}");
55
+ // The CLI only writes a comment frame and never sends events; if it
56
+ // does close the stream we don't want EventSource's auto-reconnect
57
+ // to keep hammering the now-dead port.
58
+ stream.onerror = function () {
59
+ stream.close();
60
+ };
61
+ } catch (e) {}
62
+
63
+ var btn = document.getElementById("install-cmd-copy");
64
+ var cmdEl = document.getElementById("install-cmd");
65
+ if (!btn || !cmdEl) return;
66
+ btn.addEventListener("click", function () {
67
+ var cmd = cmdEl.textContent || "";
68
+ var done = function (label) {
69
+ btn.textContent = label;
70
+ setTimeout(function () {
71
+ btn.textContent = "Copy";
72
+ }, 2000);
73
+ };
74
+ var afterCopy = function (ok) {
75
+ done(ok ? "Copied!" : "Copy failed");
76
+ try {
77
+ fetch("{{copiedPath}}", {
78
+ method: "POST",
79
+ keepalive: true,
80
+ }).catch(function () {});
81
+ } catch (e) {}
82
+ };
83
+ if (navigator.clipboard && navigator.clipboard.writeText) {
84
+ navigator.clipboard.writeText(cmd).then(
85
+ function () {
86
+ afterCopy(true);
87
+ },
88
+ function () {
89
+ afterCopy(false);
90
+ },
91
+ );
92
+ } else {
93
+ afterCopy(false);
94
+ }
95
+ });
96
+ })();
97
+ </script>
18
98
  </body>
19
99
  </html>
@@ -1,49 +1,110 @@
1
1
  <style>
2
- /* Axon theme design tokens partial */
2
+ /* Axon theme design tokens partial */
3
+ :root {
4
+ --background: #f5f4f4;
5
+ --text-primary: #131316;
6
+ --link-primary: #4933d7;
7
+ --link-primary-hover: #30228b;
8
+ --support-failure: #c43b42;
9
+ --logo: #040531;
10
+ }
11
+ @media (prefers-color-scheme: dark) {
3
12
  :root {
4
- --background: #F5F4F4;
5
- --text-primary: #131316;
6
- --link-primary: #4933D7;
7
- --link-primary-hover: #30228B;
8
- --support-failure: #C43B42;
9
- --logo: #040531;
10
- }
11
- @media (prefers-color-scheme: dark) {
12
- :root {
13
- --background: #131316;
14
- --text-primary: #F5F4F4;
15
- --link-primary: #BDB3FF;
16
- --link-primary-hover: #B4A8FF;
17
- --support-failure: #F07A80;
18
- --logo: #FFFFFF;
19
- }
13
+ --background: #131316;
14
+ --text-primary: #f5f4f4;
15
+ --link-primary: #bdb3ff;
16
+ --link-primary-hover: #b4a8ff;
17
+ --support-failure: #f07a80;
18
+ --logo: #ffffff;
20
19
  }
20
+ }
21
21
 
22
- /* Page styling */
23
- a, a:active { color: var(--link-primary); }
24
- a:hover { color: var(--link-primary-hover); }
22
+ /* Page styling */
23
+ a,
24
+ a:active {
25
+ color: var(--link-primary);
26
+ }
27
+ a:hover {
28
+ color: var(--link-primary-hover);
29
+ }
25
30
 
26
- body {
27
- margin: 0;
28
- overflow: hidden;
29
- background-color: var(--background);
30
- color: var(--text-primary);
31
- }
31
+ body {
32
+ margin: 0;
33
+ overflow: hidden;
34
+ background-color: var(--background);
35
+ color: var(--text-primary);
36
+ }
32
37
 
33
- /* Logo styling */
34
- div.logo {
35
- width: 320px;
36
- }
37
- .logo .st0{ fill: none; }
38
- .logo .st1{ fill: var(--logo); }
38
+ /* Logo styling */
39
+ div.logo {
40
+ width: 320px;
41
+ }
42
+ .logo .st0 {
43
+ fill: none;
44
+ }
45
+ .logo .st1 {
46
+ fill: var(--logo);
47
+ }
39
48
 
40
- /* Content styling */
41
- div.banner {
42
- margin: 80px 32px;
43
- font-family: 'MarkPro-NarrowBook', 'Arial', sans-serif;
44
- text-align: center;
45
- }
49
+ /* Content styling */
50
+ div.banner {
51
+ margin: 80px 32px;
52
+ font-family: "MarkPro-NarrowBook", "Arial", sans-serif;
53
+ text-align: center;
54
+ }
55
+
56
+ /* Install hint styling */
57
+ div.install-hint {
58
+ max-width: 560px;
59
+ margin: 0 auto 80px;
60
+ padding: 0 32px;
61
+ font-family: "MarkPro-NarrowBook", "Arial", sans-serif;
62
+ text-align: center;
63
+ }
64
+ div.install-hint h2 {
65
+ font-size: 1.1rem;
66
+ margin-bottom: 8px;
67
+ }
68
+ .install-hint__cmd-row {
69
+ display: flex;
70
+ align-items: stretch;
71
+ gap: 8px;
72
+ margin-top: 16px;
73
+ border: 1px solid color-mix(in srgb, var(--text-primary) 20%, transparent);
74
+ border-radius: 6px;
75
+ padding: 4px;
76
+ background: color-mix(in srgb, var(--text-primary) 4%, transparent);
77
+ }
78
+ code.install-hint__cmd {
79
+ flex: 1;
80
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
81
+ font-size: 0.95rem;
82
+ text-align: left;
83
+ padding: 8px 12px;
84
+ white-space: nowrap;
85
+ overflow-x: auto;
86
+ user-select: all;
87
+ }
88
+ button.install-hint__copy {
89
+ font-family: inherit;
90
+ font-size: 0.9rem;
91
+ padding: 0 16px;
92
+ border: none;
93
+ border-radius: 4px;
94
+ background: var(--link-primary);
95
+ color: #ffffff;
96
+ cursor: pointer;
97
+ }
98
+ button.install-hint__copy:hover {
99
+ background: var(--link-primary-hover);
100
+ }
101
+ p.install-hint__docs {
102
+ margin-top: 12px;
103
+ font-size: 0.9rem;
104
+ }
46
105
 
47
- /* Util styling */
48
- .failure { color: var(--support-failure); }
106
+ /* Util styling */
107
+ .failure {
108
+ color: var(--support-failure);
109
+ }
49
110
  </style>