@confluentinc/mcp-confluent 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +302 -0
  3. package/dist/cli.d.ts +14 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +53 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/confluent/client-manager.d.ts +93 -0
  8. package/dist/confluent/client-manager.d.ts.map +1 -0
  9. package/dist/confluent/client-manager.js +148 -0
  10. package/dist/confluent/client-manager.js.map +1 -0
  11. package/dist/confluent/helpers.d.ts +11 -0
  12. package/dist/confluent/helpers.d.ts.map +1 -0
  13. package/dist/confluent/helpers.js +17 -0
  14. package/dist/confluent/helpers.js.map +1 -0
  15. package/dist/confluent/middleware.d.ts +15 -0
  16. package/dist/confluent/middleware.d.ts.map +1 -0
  17. package/dist/confluent/middleware.js +43 -0
  18. package/dist/confluent/middleware.js.map +1 -0
  19. package/dist/confluent/schema.d.ts +4 -0
  20. package/dist/confluent/schema.d.ts.map +1 -0
  21. package/dist/confluent/schema.js +4 -0
  22. package/dist/confluent/schema.js.map +1 -0
  23. package/dist/confluent/tools/base-tools.d.ts +19 -0
  24. package/dist/confluent/tools/base-tools.d.ts.map +1 -0
  25. package/dist/confluent/tools/base-tools.js +16 -0
  26. package/dist/confluent/tools/base-tools.js.map +1 -0
  27. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts +8 -0
  28. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts.map +1 -0
  29. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js +47 -0
  30. package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js.map +1 -0
  31. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts +8 -0
  32. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts.map +1 -0
  33. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js +47 -0
  34. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js.map +1 -0
  35. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +8 -0
  36. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -0
  37. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +47 -0
  38. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -0
  39. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts +8 -0
  40. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts.map +1 -0
  41. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js +52 -0
  42. package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js.map +1 -0
  43. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +8 -0
  44. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -0
  45. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +52 -0
  46. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -0
  47. package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts +8 -0
  48. package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts.map +1 -0
  49. package/dist/confluent/tools/handlers/catalog/delete-tag copy.js +42 -0
  50. package/dist/confluent/tools/handlers/catalog/delete-tag copy.js.map +1 -0
  51. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts +8 -0
  52. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts.map +1 -0
  53. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js +56 -0
  54. package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js.map +1 -0
  55. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +8 -0
  56. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -0
  57. package/dist/confluent/tools/handlers/catalog/delete-tag.js +42 -0
  58. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -0
  59. package/dist/confluent/tools/handlers/catalog/list-.d.ts +8 -0
  60. package/dist/confluent/tools/handlers/catalog/list-.d.ts.map +1 -0
  61. package/dist/confluent/tools/handlers/catalog/list-.js +35 -0
  62. package/dist/confluent/tools/handlers/catalog/list-.js.map +1 -0
  63. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +8 -0
  64. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -0
  65. package/dist/confluent/tools/handlers/catalog/list-tags.js +35 -0
  66. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -0
  67. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +8 -0
  68. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -0
  69. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +56 -0
  70. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -0
  71. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +182 -0
  72. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -0
  73. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +147 -0
  74. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -0
  75. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts +8 -0
  76. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts.map +1 -0
  77. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js +84 -0
  78. package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js.map +1 -0
  79. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +8 -0
  80. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -0
  81. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +95 -0
  82. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -0
  83. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +8 -0
  84. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -0
  85. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +59 -0
  86. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -0
  87. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +8 -0
  88. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -0
  89. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +56 -0
  90. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -0
  91. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +8 -0
  92. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +1 -0
  93. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +62 -0
  94. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +1 -0
  95. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts +8 -0
  96. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts.map +1 -0
  97. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js +52 -0
  98. package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js.map +1 -0
  99. package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts +8 -0
  100. package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts.map +1 -0
  101. package/dist/confluent/tools/handlers/entity/create-topic-tags.js +52 -0
  102. package/dist/confluent/tools/handlers/entity/create-topic-tags.js.map +1 -0
  103. package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts +8 -0
  104. package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts.map +1 -0
  105. package/dist/confluent/tools/handlers/entity/create-topicc-tags.js +52 -0
  106. package/dist/confluent/tools/handlers/entity/create-topicc-tags.js.map +1 -0
  107. package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts +8 -0
  108. package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts.map +1 -0
  109. package/dist/confluent/tools/handlers/entity/create-topics-tags.js +52 -0
  110. package/dist/confluent/tools/handlers/entity/create-topics-tags.js.map +1 -0
  111. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts +8 -0
  112. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts.map +1 -0
  113. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js +39 -0
  114. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js.map +1 -0
  115. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts +8 -0
  116. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts.map +1 -0
  117. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js +39 -0
  118. package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js.map +1 -0
  119. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +213 -0
  120. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -0
  121. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +130 -0
  122. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -0
  123. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +8 -0
  124. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -0
  125. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +84 -0
  126. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -0
  127. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +8 -0
  128. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -0
  129. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +100 -0
  130. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -0
  131. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +8 -0
  132. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -0
  133. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +63 -0
  134. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -0
  135. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +8 -0
  136. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -0
  137. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +80 -0
  138. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -0
  139. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +8 -0
  140. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -0
  141. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +83 -0
  142. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -0
  143. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts +14 -0
  144. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts.map +1 -0
  145. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js +61 -0
  146. package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js.map +1 -0
  147. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +14 -0
  148. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -0
  149. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +61 -0
  150. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -0
  151. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts +8 -0
  152. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts.map +1 -0
  153. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js +28 -0
  154. package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js.map +1 -0
  155. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +8 -0
  156. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -0
  157. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +28 -0
  158. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -0
  159. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +8 -0
  160. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -0
  161. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +23 -0
  162. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -0
  163. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +8 -0
  164. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -0
  165. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +22 -0
  166. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -0
  167. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +8 -0
  168. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -0
  169. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +37 -0
  170. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -0
  171. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +8 -0
  172. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -0
  173. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +52 -0
  174. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -0
  175. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts +8 -0
  176. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts.map +1 -0
  177. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js +45 -0
  178. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js.map +1 -0
  179. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +8 -0
  180. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -0
  181. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +53 -0
  182. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -0
  183. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +8 -0
  184. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -0
  185. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +45 -0
  186. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -0
  187. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts +8 -0
  188. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts.map +1 -0
  189. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js +39 -0
  190. package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js.map +1 -0
  191. package/dist/confluent/tools/tool-factory.d.ts +9 -0
  192. package/dist/confluent/tools/tool-factory.d.ts.map +1 -0
  193. package/dist/confluent/tools/tool-factory.js +70 -0
  194. package/dist/confluent/tools/tool-factory.js.map +1 -0
  195. package/dist/confluent/tools/tool-name.d.ts +27 -0
  196. package/dist/confluent/tools/tool-name.d.ts.map +1 -0
  197. package/dist/confluent/tools/tool-name.js +28 -0
  198. package/dist/confluent/tools/tool-name.js.map +1 -0
  199. package/dist/env-schema.d.ts +67 -0
  200. package/dist/env-schema.d.ts.map +1 -0
  201. package/dist/env-schema.js +111 -0
  202. package/dist/env-schema.js.map +1 -0
  203. package/dist/env.d.ts +36 -0
  204. package/dist/env.d.ts.map +1 -0
  205. package/dist/env.js +40 -0
  206. package/dist/env.js.map +1 -0
  207. package/dist/index.d.ts +3 -0
  208. package/dist/index.d.ts.map +1 -0
  209. package/dist/index.js +70 -0
  210. package/dist/index.js.map +1 -0
  211. package/dist/lazy.d.ts +65 -0
  212. package/dist/lazy.d.ts.map +1 -0
  213. package/dist/lazy.js +106 -0
  214. package/dist/lazy.js.map +1 -0
  215. package/dist/print-md-schema.d.ts +2 -0
  216. package/dist/print-md-schema.d.ts.map +1 -0
  217. package/dist/print-md-schema.js +96 -0
  218. package/dist/print-md-schema.js.map +1 -0
  219. package/package.json +68 -0
package/dist/lazy.js ADDED
@@ -0,0 +1,106 @@
1
+ /**
2
+ * A class that implements lazy loading for synchronous values.
3
+ * It defers the initialization of a value until it's first requested.
4
+ * @template T The type of value to be lazily loaded
5
+ */
6
+ export class Lazy {
7
+ /** The cached instance of the lazily loaded value */
8
+ instance;
9
+ /** A function that produces the value to be lazily loaded */
10
+ supplier;
11
+ /** Optional handler to clean up the instance when closed */
12
+ closeHandler;
13
+ /**
14
+ * Creates a new Lazy instance
15
+ * @param supplier A function that creates the lazy-loaded value
16
+ * @param closeHandler Optional function to clean up the instance when closed
17
+ */
18
+ constructor(supplier, closeHandler) {
19
+ this.supplier = supplier;
20
+ this.closeHandler = closeHandler;
21
+ }
22
+ /**
23
+ * Retrieves the lazy-loaded value, initializing it if necessary
24
+ * @returns The lazy-loaded value
25
+ * @throws If the supplier function fails to initialize the value
26
+ */
27
+ get() {
28
+ try {
29
+ this.instance = this.supplier();
30
+ console.error(`Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Failed to initialize lazy instance: ${error}`);
34
+ }
35
+ return this.instance;
36
+ }
37
+ /**
38
+ * Closes and cleans up the lazy-loaded instance if it exists.
39
+ * If a closeHandler was provided, it will be called with the instance.
40
+ * The instance is set to undefined after cleanup.
41
+ */
42
+ close() {
43
+ if (this.instance) {
44
+ if (this.closeHandler) {
45
+ console.error(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
46
+ this.closeHandler(this.instance);
47
+ console.error(`Lazy instance closed with type ${typeof this.instance}`);
48
+ }
49
+ this.instance = undefined;
50
+ }
51
+ }
52
+ }
53
+ /**
54
+ * A class that implements lazy loading for asynchronous values.
55
+ * It defers the initialization of a value until it's first requested.
56
+ * @template T The type of value to be lazily loaded
57
+ */
58
+ export class AsyncLazy {
59
+ /** The cached instance of the lazily loaded value */
60
+ instance;
61
+ /** A function that produces the value to be lazily loaded */
62
+ supplier;
63
+ /** Optional handler to clean up the instance when closed */
64
+ closeHandler;
65
+ /** Tracks the ongoing initialization promise to prevent multiple simultaneous initializations */
66
+ initializationPromise = null;
67
+ /**
68
+ * Creates a new AsyncLazy instance
69
+ * @param supplier An async function that creates the lazy-loaded value
70
+ * @param closeHandler Optional async function to clean up the instance when closed
71
+ */
72
+ constructor(supplier, closeHandler) {
73
+ this.supplier = supplier;
74
+ this.closeHandler = closeHandler;
75
+ }
76
+ /**
77
+ * Retrieves the lazy-loaded value, initializing it if necessary
78
+ * @returns A promise that resolves to the lazy-loaded value
79
+ * @throws If the supplier function fails to initialize the value
80
+ */
81
+ async get() {
82
+ if (!this.instance) {
83
+ if (!this.initializationPromise) {
84
+ this.initializationPromise = this.supplier();
85
+ }
86
+ this.instance = await this.initializationPromise;
87
+ }
88
+ console.error(`Async Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
89
+ return this.instance;
90
+ }
91
+ /**
92
+ * Closes and cleans up the lazy-loaded instance if it exists
93
+ * If a closeHandler was provided, it will be called with the instance
94
+ * @returns A promise that resolves when the cleanup is complete
95
+ */
96
+ async close() {
97
+ if (this.instance) {
98
+ if (this.closeHandler) {
99
+ console.error(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
100
+ await this.closeHandler(this.instance);
101
+ console.error(`Lazy instance closed with type ${typeof this.instance}`);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,IAAI;IACf,qDAAqD;IAC7C,QAAQ,CAAgB;IAEhC,6DAA6D;IAC5C,QAAQ,CAAU;IAEnC,4DAA4D;IAC3C,YAAY,CAAyB;IAEtD;;;;OAIG;IACH,YAAY,QAAiB,EAAE,YAAoC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CACX,mCAAmC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC7F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,QAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,sDAAsD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACpB,qDAAqD;IAC7C,QAAQ,CAAgB;IAEhC,6DAA6D;IAC5C,QAAQ,CAAmB;IAE5C,4DAA4D;IAC3C,YAAY,CAAkC;IAE/D,iGAAiG;IACzF,qBAAqB,GAAsB,IAAI,CAAC;IAExD;;;;OAIG;IACH,YACE,QAA0B,EAC1B,YAA6C;QAE7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,KAAK,CACX,yCAAyC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CACnG,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,sDAAsD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;gBACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=print-md-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-md-schema.d.ts","sourceRoot":"","sources":["../src/print-md-schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { z } from "zod";
2
+ import { combinedSchema } from "./env-schema.js";
3
+ function zodSchemaToMarkdown(schema, parentKey = "") {
4
+ // Initialize table header
5
+ if (!parentKey) {
6
+ return ("| Variable | Description | Default Value | Required |\n" +
7
+ "|----------|-------------|---------------|----------|\n" +
8
+ extractRows(schema));
9
+ }
10
+ return extractRows(schema);
11
+ }
12
+ function extractRows(schema, parentKey = "") {
13
+ // Handle objects (nested properties)
14
+ if (schema instanceof z.ZodObject) {
15
+ return Object.entries(schema.shape)
16
+ .map(([key, subSchema]) => {
17
+ const fullKey = parentKey ? `${parentKey}.${key}` : key;
18
+ const isRequired = !(subSchema instanceof z.ZodOptional);
19
+ return {
20
+ key: fullKey,
21
+ schema: subSchema instanceof z.ZodObject
22
+ ? subSchema
23
+ : subSchema,
24
+ isRequired,
25
+ };
26
+ })
27
+ .sort((a, b) => {
28
+ // Sort by required status first (required comes first)
29
+ if (a.isRequired !== b.isRequired) {
30
+ return a.isRequired ? -1 : 1;
31
+ }
32
+ // Then sort alphabetically
33
+ return a.key.localeCompare(b.key);
34
+ })
35
+ .map(({ key, schema }) => {
36
+ if (schema instanceof z.ZodObject) {
37
+ return extractRows(schema, key);
38
+ }
39
+ return formatTableRow(key, schema);
40
+ })
41
+ .join("");
42
+ }
43
+ // Handle non-object schemas
44
+ return formatTableRow(parentKey, schema);
45
+ }
46
+ function formatTableRow(key, schema) {
47
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ let description = schema.description || "";
49
+ let defaultValue = "";
50
+ const isRequired = !(schema instanceof z.ZodOptional);
51
+ // Extract default value if exists
52
+ if (schema instanceof z.ZodDefault) {
53
+ defaultValue = JSON.stringify(schema._def.defaultValue());
54
+ schema = schema.removeDefault();
55
+ }
56
+ // Add type information to description if not empty
57
+ const typeInfo = getTypeInfo(schema);
58
+ description = description ? `${description} (${typeInfo})` : typeInfo;
59
+ // Format the table row
60
+ return `| ${key} | ${description} | ${defaultValue} | ${isRequired ? "Yes" : "No"} |\n`;
61
+ }
62
+ function getTypeInfo(schema) {
63
+ if (schema instanceof z.ZodString) {
64
+ const constraints = [
65
+ schema.minLength !== null && `min: ${schema.minLength}`,
66
+ schema.maxLength !== null && `max: ${schema.maxLength}`,
67
+ ]
68
+ .filter(Boolean)
69
+ .join(", ");
70
+ return `string${constraints ? ` (${constraints})` : ""}`;
71
+ }
72
+ if (schema instanceof z.ZodNumber) {
73
+ const constraints = [
74
+ schema.minValue !== null && `min: ${schema.minValue}`,
75
+ schema.maxValue !== null && `max: ${schema.maxValue}`,
76
+ ]
77
+ .filter(Boolean)
78
+ .join(", ");
79
+ return `number${constraints ? ` (${constraints})` : ""}`;
80
+ }
81
+ if (schema instanceof z.ZodBoolean)
82
+ return "boolean";
83
+ if (schema instanceof z.ZodEnum)
84
+ return `enum: ${schema.options.join(" | ")}`;
85
+ if (schema instanceof z.ZodArray)
86
+ return `array of ${getTypeInfo(schema.element)}`;
87
+ if (schema instanceof z.ZodOptional)
88
+ return `${getTypeInfo(schema.unwrap())}`;
89
+ if (schema instanceof z.ZodNullable)
90
+ return `nullable ${getTypeInfo(schema.unwrap())}`;
91
+ if (schema instanceof z.ZodUnion)
92
+ return `union: ${schema.options.map((opt) => getTypeInfo(opt)).join(" | ")}`;
93
+ return schema.constructor.name.replace("Zod", "").toLowerCase();
94
+ }
95
+ console.log(zodSchemaToMarkdown(combinedSchema));
96
+ //# sourceMappingURL=print-md-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print-md-schema.js","sourceRoot":"","sources":["../src/print-md-schema.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@confluentinc/mcp-confluent",
3
+ "description": "Confluent MCP Server",
4
+ "version": "1.0.1",
5
+ "author": "Confluent Inc.",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/confluentinc/mcp-confluent.git"
10
+ },
11
+ "bin": {
12
+ "mcp-confluent": "dist/index.js"
13
+ },
14
+ "type": "module",
15
+ "keywords": [
16
+ "confluent",
17
+ "mcp",
18
+ "kafka",
19
+ "flink",
20
+ "modelcontextprotocol"
21
+ ],
22
+ "bugs": {
23
+ "url": "https://github.com/confluentinc/mcp-confluent/issues"
24
+ },
25
+ "homepage": "https://www.confluent.io/blog/ai-agents-using-anthropic-mcp/",
26
+ "scripts": {
27
+ "dev": "concurrently \"tsc --watch\" \"tsc-alias --watch\"",
28
+ "test:ts": "tsc --noEmit",
29
+ "start": "node dist/index.js --env-file .env",
30
+ "lint": "eslint .",
31
+ "format": "prettier --write \"**/*.+(js|ts|json)\"",
32
+ "build": "tsc && tsc-alias",
33
+ "print:schema": "node dist/print-md-schema.js",
34
+ "prepare": "husky"
35
+ },
36
+ "devDependencies": {
37
+ "@eslint/js": "^9.23.0",
38
+ "@types/content-type": "^1.1.8",
39
+ "@types/eslint__js": "^8.42.3",
40
+ "@types/node": "^22.14.0",
41
+ "@types/ws": "^8.18.1",
42
+ "@typescript-eslint/eslint-plugin": "^8.29.0",
43
+ "@typescript-eslint/parser": "^8.29.0",
44
+ "concurrently": "^9.1.2",
45
+ "eslint": "^9.23.0",
46
+ "eslint-config-prettier": "^10.1.1",
47
+ "eslint-plugin-prettier": "^5.2.6",
48
+ "globals": "^16.0.0",
49
+ "husky": "^9.1.7",
50
+ "openapi-typescript": "^7.6.1",
51
+ "prettier": "3.5.3",
52
+ "tsc-alias": "^1.8.13",
53
+ "typescript": "^5.8.2",
54
+ "typescript-eslint": "^8.29.0"
55
+ },
56
+ "dependencies": {
57
+ "@commander-js/extra-typings": "^13.1.0",
58
+ "@confluentinc/kafka-javascript": "^1.2.0",
59
+ "@modelcontextprotocol/sdk": "^1.8.0",
60
+ "commander": "^13.1.0",
61
+ "dotenv": "^16.4.7",
62
+ "openapi-fetch": "^0.13.5",
63
+ "zod": "^3.24.2"
64
+ },
65
+ "files": [
66
+ "dist"
67
+ ]
68
+ }