@confluentinc/mcp-confluent 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +277 -25
- package/dist/cli.d.ts +42 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +203 -30
- package/dist/cli.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +31 -11
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/client-manager.js +76 -32
- package/dist/confluent/client-manager.js.map +1 -1
- package/dist/confluent/helpers.d.ts +2 -2
- package/dist/confluent/helpers.d.ts.map +1 -1
- package/dist/confluent/helpers.js +1 -1
- package/dist/confluent/helpers.js.map +1 -1
- package/dist/confluent/middleware.d.ts +12 -11
- package/dist/confluent/middleware.d.ts.map +1 -1
- package/dist/confluent/middleware.js +6 -37
- package/dist/confluent/middleware.js.map +1 -1
- package/dist/confluent/schema-registry-helper.d.ts +134 -0
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -0
- package/dist/confluent/schema-registry-helper.js +202 -0
- package/dist/confluent/schema-registry-helper.js.map +1 -0
- package/dist/confluent/schema.d.ts.map +1 -1
- package/dist/confluent/schema.js +1 -3
- package/dist/confluent/schema.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +43 -2
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +17 -0
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +7 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +7 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +7 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +7 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +7 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +31 -28
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -4
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +12 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +7 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +7 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +7 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +19 -16
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -4
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +11 -4
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +9 -3
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +9 -3
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +3 -0
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +7 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +117 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +177 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +4 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +3 -0
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +16 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +67 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +3 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +30 -0
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +117 -7
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +98 -24
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +7 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +7 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
- package/dist/confluent/tools/tool-factory.d.ts.map +1 -1
- package/dist/confluent/tools/tool-factory.js +8 -4
- package/dist/confluent/tools/tool-factory.js.map +1 -1
- package/dist/confluent/tools/tool-name.d.ts +3 -1
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +2 -0
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/env-schema.d.ts +40 -30
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +36 -12
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +12 -9
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +7 -7
- package/dist/env.js.map +1 -1
- package/dist/index.js +96 -28
- package/dist/index.js.map +1 -1
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +7 -6
- package/dist/lazy.js.map +1 -1
- package/dist/logger.d.ts +14 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +65 -0
- package/dist/logger.js.map +1 -0
- package/dist/mcp/transports/http.d.ts +12 -0
- package/dist/mcp/transports/http.d.ts.map +1 -0
- package/dist/mcp/transports/http.js +127 -0
- package/dist/mcp/transports/http.js.map +1 -0
- package/dist/mcp/transports/index.d.ts +7 -0
- package/dist/mcp/transports/index.d.ts.map +1 -0
- package/dist/mcp/transports/index.js +7 -0
- package/dist/mcp/transports/index.js.map +1 -0
- package/dist/mcp/transports/manager.d.ts +12 -0
- package/dist/mcp/transports/manager.d.ts.map +1 -0
- package/dist/mcp/transports/manager.js +86 -0
- package/dist/mcp/transports/manager.js.map +1 -0
- package/dist/mcp/transports/server.d.ts +12 -0
- package/dist/mcp/transports/server.d.ts.map +1 -0
- package/dist/mcp/transports/server.js +87 -0
- package/dist/mcp/transports/server.js.map +1 -0
- package/dist/mcp/transports/sse.d.ts +12 -0
- package/dist/mcp/transports/sse.d.ts.map +1 -0
- package/dist/mcp/transports/sse.js +110 -0
- package/dist/mcp/transports/sse.js.map +1 -0
- package/dist/mcp/transports/stdio.d.ts +9 -0
- package/dist/mcp/transports/stdio.d.ts.map +1 -0
- package/dist/mcp/transports/stdio.js +17 -0
- package/dist/mcp/transports/stdio.js.map +1 -0
- package/dist/mcp/transports/types.d.ts +14 -0
- package/dist/mcp/transports/types.d.ts.map +1 -0
- package/dist/mcp/transports/types.js +7 -0
- package/dist/mcp/transports/types.js.map +1 -0
- package/dist/print-md-schema.d.ts +5 -0
- package/dist/print-md-schema.d.ts.map +1 -1
- package/dist/print-md-schema.js +6 -0
- package/dist/print-md-schema.js.map +1 -1
- package/package.json +31 -18
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js +0 -47
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js +0 -47
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js +0 -52
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.js +0 -42
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js +0 -56
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/list-.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/list-.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/list-.js +0 -35
- package/dist/confluent/tools/handlers/catalog/list-.js.map +0 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js +0 -84
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topic-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topic-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topics-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topics-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js +0 -39
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js +0 -39
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js.map +0 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts +0 -14
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js +0 -61
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js.map +0 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js +0 -28
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js +0 -45
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts +0 -8
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js +0 -39
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js.map +0 -1
package/dist/env-schema.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const combinedSchema: z.ZodObject<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
export declare const combinedSchema: z.ZodObject<{
|
|
3
|
+
HTTP_PORT: z.ZodDefault<z.ZodNumber>;
|
|
4
|
+
HTTP_HOST: z.ZodDefault<z.ZodString>;
|
|
5
|
+
LOG_LEVEL: z.ZodDefault<z.ZodEffects<z.ZodEnum<["info" | "fatal" | "error" | "warn" | "debug" | "trace", ...("info" | "fatal" | "error" | "warn" | "debug" | "trace")[]]>, "info" | "fatal" | "error" | "warn" | "debug" | "trace", unknown>>;
|
|
6
|
+
BOOTSTRAP_SERVERS: z.ZodOptional<z.ZodString>;
|
|
7
|
+
KAFKA_API_KEY: z.ZodOptional<z.ZodString>;
|
|
8
|
+
KAFKA_API_SECRET: z.ZodOptional<z.ZodString>;
|
|
9
|
+
FLINK_API_KEY: z.ZodOptional<z.ZodString>;
|
|
10
|
+
FLINK_API_SECRET: z.ZodOptional<z.ZodString>;
|
|
11
|
+
CONFLUENT_CLOUD_API_KEY: z.ZodOptional<z.ZodString>;
|
|
12
|
+
CONFLUENT_CLOUD_API_SECRET: z.ZodOptional<z.ZodString>;
|
|
13
|
+
SCHEMA_REGISTRY_API_KEY: z.ZodOptional<z.ZodString>;
|
|
14
|
+
SCHEMA_REGISTRY_API_SECRET: z.ZodOptional<z.ZodString>;
|
|
15
|
+
} & {
|
|
13
16
|
FLINK_ENV_ID: z.ZodOptional<z.ZodString>;
|
|
14
17
|
FLINK_ORG_ID: z.ZodOptional<z.ZodString>;
|
|
15
18
|
FLINK_REST_ENDPOINT: z.ZodOptional<z.ZodString>;
|
|
@@ -21,16 +24,19 @@ export declare const combinedSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
21
24
|
CONFLUENT_CLOUD_REST_ENDPOINT: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
22
25
|
SCHEMA_REGISTRY_ENDPOINT: z.ZodOptional<z.ZodString>;
|
|
23
26
|
KAFKA_REST_ENDPOINT: z.ZodOptional<z.ZodString>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
LOG_LEVEL: "info" | "fatal" | "error" | "warn" | "debug" | "trace";
|
|
29
|
+
HTTP_PORT: number;
|
|
30
|
+
HTTP_HOST: string;
|
|
31
|
+
BOOTSTRAP_SERVERS?: string | undefined;
|
|
32
|
+
KAFKA_API_KEY?: string | undefined;
|
|
33
|
+
KAFKA_API_SECRET?: string | undefined;
|
|
34
|
+
FLINK_API_KEY?: string | undefined;
|
|
35
|
+
FLINK_API_SECRET?: string | undefined;
|
|
36
|
+
CONFLUENT_CLOUD_API_KEY?: string | undefined;
|
|
37
|
+
CONFLUENT_CLOUD_API_SECRET?: string | undefined;
|
|
38
|
+
SCHEMA_REGISTRY_API_KEY?: string | undefined;
|
|
39
|
+
SCHEMA_REGISTRY_API_SECRET?: string | undefined;
|
|
34
40
|
FLINK_ENV_ID?: string | undefined;
|
|
35
41
|
FLINK_ORG_ID?: string | undefined;
|
|
36
42
|
FLINK_REST_ENDPOINT?: string | undefined;
|
|
@@ -43,15 +49,18 @@ export declare const combinedSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
43
49
|
SCHEMA_REGISTRY_ENDPOINT?: string | undefined;
|
|
44
50
|
KAFKA_REST_ENDPOINT?: string | undefined;
|
|
45
51
|
}, {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
LOG_LEVEL?: unknown;
|
|
53
|
+
HTTP_PORT?: number | undefined;
|
|
54
|
+
HTTP_HOST?: string | undefined;
|
|
55
|
+
BOOTSTRAP_SERVERS?: string | undefined;
|
|
56
|
+
KAFKA_API_KEY?: string | undefined;
|
|
57
|
+
KAFKA_API_SECRET?: string | undefined;
|
|
58
|
+
FLINK_API_KEY?: string | undefined;
|
|
59
|
+
FLINK_API_SECRET?: string | undefined;
|
|
60
|
+
CONFLUENT_CLOUD_API_KEY?: string | undefined;
|
|
61
|
+
CONFLUENT_CLOUD_API_SECRET?: string | undefined;
|
|
62
|
+
SCHEMA_REGISTRY_API_KEY?: string | undefined;
|
|
63
|
+
SCHEMA_REGISTRY_API_SECRET?: string | undefined;
|
|
55
64
|
FLINK_ENV_ID?: string | undefined;
|
|
56
65
|
FLINK_ORG_ID?: string | undefined;
|
|
57
66
|
FLINK_REST_ENDPOINT?: string | undefined;
|
|
@@ -64,4 +73,5 @@ export declare const combinedSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
|
64
73
|
SCHEMA_REGISTRY_ENDPOINT?: string | undefined;
|
|
65
74
|
KAFKA_REST_ENDPOINT?: string | undefined;
|
|
66
75
|
}>;
|
|
76
|
+
export type EnvVar = keyof z.infer<typeof combinedSchema>;
|
|
67
77
|
//# sourceMappingURL=env-schema.d.ts.map
|
package/dist/env-schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-schema.d.ts","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env-schema.d.ts","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuLxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgC,CAAC;AAG5D,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
package/dist/env-schema.js
CHANGED
|
@@ -1,52 +1,76 @@
|
|
|
1
|
+
import { logLevels } from "./logger.js";
|
|
1
2
|
import { z } from "zod";
|
|
2
|
-
//
|
|
3
|
+
// Environment variables that are required for tools to be enabled/disabled
|
|
3
4
|
const envSchema = z.object({
|
|
5
|
+
HTTP_PORT: z.coerce
|
|
6
|
+
.number()
|
|
7
|
+
.int()
|
|
8
|
+
.positive()
|
|
9
|
+
.describe("Port to use for HTTP transport")
|
|
10
|
+
.default(3000),
|
|
11
|
+
HTTP_HOST: z
|
|
12
|
+
.string()
|
|
13
|
+
.describe("Host to bind for HTTP transport")
|
|
14
|
+
.default("localhost"),
|
|
15
|
+
LOG_LEVEL: z
|
|
16
|
+
.preprocess((val) => (typeof val === "string" ? val.toLowerCase() : val), z.enum(Object.keys(logLevels)))
|
|
17
|
+
.describe("Log level for application logging (trace, debug, info, warn, error, fatal)")
|
|
18
|
+
.default("info"),
|
|
4
19
|
BOOTSTRAP_SERVERS: z
|
|
5
20
|
.string()
|
|
6
21
|
.describe("List of Kafka broker addresses in the format host1:port1,host2:port2 used to establish initial connection to the Kafka cluster")
|
|
7
|
-
.trim()
|
|
22
|
+
.trim()
|
|
23
|
+
.optional(),
|
|
8
24
|
KAFKA_API_KEY: z
|
|
9
25
|
.string()
|
|
10
26
|
.describe("Authentication credential (username) required to establish secure connection with the Kafka cluster")
|
|
11
27
|
.trim()
|
|
12
|
-
.min(1)
|
|
28
|
+
.min(1)
|
|
29
|
+
.optional(),
|
|
13
30
|
KAFKA_API_SECRET: z
|
|
14
31
|
.string()
|
|
15
32
|
.describe("Authentication credential (password) paired with KAFKA_API_KEY for secure Kafka cluster access")
|
|
16
33
|
.trim()
|
|
17
|
-
.min(1)
|
|
34
|
+
.min(1)
|
|
35
|
+
.optional(),
|
|
18
36
|
FLINK_API_KEY: z
|
|
19
37
|
.string()
|
|
20
38
|
.describe("Authentication key for accessing Confluent Cloud's Flink services, including compute pools and SQL statement management")
|
|
21
39
|
.trim()
|
|
22
|
-
.min(1)
|
|
40
|
+
.min(1)
|
|
41
|
+
.optional(),
|
|
23
42
|
FLINK_API_SECRET: z
|
|
24
43
|
.string()
|
|
25
44
|
.describe("Secret token paired with FLINK_API_KEY for authenticated access to Confluent Cloud's Flink services")
|
|
26
45
|
.trim()
|
|
27
|
-
.min(1)
|
|
46
|
+
.min(1)
|
|
47
|
+
.optional(),
|
|
28
48
|
CONFLUENT_CLOUD_API_KEY: z
|
|
29
49
|
.string()
|
|
30
50
|
.describe("Master API key for Confluent Cloud platform administration, enabling management of resources across your organization")
|
|
31
51
|
.trim()
|
|
32
|
-
.min(1)
|
|
52
|
+
.min(1)
|
|
53
|
+
.optional(),
|
|
33
54
|
CONFLUENT_CLOUD_API_SECRET: z
|
|
34
55
|
.string()
|
|
35
56
|
.describe("Master API secret paired with CONFLUENT_CLOUD_API_KEY for comprehensive Confluent Cloud platform administration")
|
|
36
57
|
.trim()
|
|
37
|
-
.min(1)
|
|
58
|
+
.min(1)
|
|
59
|
+
.optional(),
|
|
38
60
|
SCHEMA_REGISTRY_API_KEY: z
|
|
39
61
|
.string()
|
|
40
62
|
.describe("Authentication key for accessing Schema Registry services to manage and validate data schemas")
|
|
41
63
|
.trim()
|
|
42
|
-
.min(1)
|
|
64
|
+
.min(1)
|
|
65
|
+
.optional(),
|
|
43
66
|
SCHEMA_REGISTRY_API_SECRET: z
|
|
44
67
|
.string()
|
|
45
68
|
.describe("Authentication secret paired with SCHEMA_REGISTRY_API_KEY for secure Schema Registry access")
|
|
46
69
|
.trim()
|
|
47
|
-
.min(1)
|
|
70
|
+
.min(1)
|
|
71
|
+
.optional(),
|
|
48
72
|
});
|
|
49
|
-
//
|
|
73
|
+
// Environment variables that are optional for tools / could be provided at runtime
|
|
50
74
|
const configSchema = z
|
|
51
75
|
.object({
|
|
52
76
|
FLINK_ENV_ID: z
|
|
@@ -106,6 +130,6 @@ const configSchema = z
|
|
|
106
130
|
.trim()
|
|
107
131
|
.url(),
|
|
108
132
|
})
|
|
109
|
-
.partial();
|
|
133
|
+
.partial();
|
|
110
134
|
export const combinedSchema = envSchema.merge(configSchema);
|
|
111
135
|
//# sourceMappingURL=env-schema.js.map
|
package/dist/env-schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-schema.js","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,
|
|
1
|
+
{"version":3,"file":"env-schema.js","sourceRoot":"","sources":["../src/env-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -11,15 +11,18 @@ export declare function loadEnv(): Promise<Environment>;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function initEnv(): Promise<Environment>;
|
|
13
13
|
declare const env: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
LOG_LEVEL: "info" | "fatal" | "error" | "warn" | "debug" | "trace";
|
|
15
|
+
HTTP_PORT: number;
|
|
16
|
+
HTTP_HOST: string;
|
|
17
|
+
BOOTSTRAP_SERVERS?: string | undefined;
|
|
18
|
+
KAFKA_API_KEY?: string | undefined;
|
|
19
|
+
KAFKA_API_SECRET?: string | undefined;
|
|
20
|
+
FLINK_API_KEY?: string | undefined;
|
|
21
|
+
FLINK_API_SECRET?: string | undefined;
|
|
22
|
+
CONFLUENT_CLOUD_API_KEY?: string | undefined;
|
|
23
|
+
CONFLUENT_CLOUD_API_SECRET?: string | undefined;
|
|
24
|
+
SCHEMA_REGISTRY_API_KEY?: string | undefined;
|
|
25
|
+
SCHEMA_REGISTRY_API_SECRET?: string | undefined;
|
|
23
26
|
FLINK_ENV_ID?: string | undefined;
|
|
24
27
|
FLINK_ORG_ID?: string | undefined;
|
|
25
28
|
FLINK_REST_ENDPOINT?: string | undefined;
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAMzD;;;GAGG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAQpD;AAED;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAMpD;AAGD,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CASP,CAAC;AAEH,eAAe,GAAG,CAAC"}
|
package/dist/env.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { combinedSchema } from "./env-schema.js";
|
|
2
|
+
import { logger } from "./logger.js";
|
|
2
3
|
// Track if environment is initialized
|
|
3
4
|
let isInitialized = false;
|
|
4
5
|
let envValues = {};
|
|
@@ -8,12 +9,11 @@ let envValues = {};
|
|
|
8
9
|
*/
|
|
9
10
|
export async function loadEnv() {
|
|
10
11
|
try {
|
|
11
|
-
// Load and validate environment variables
|
|
12
|
-
|
|
13
|
-
return envVars;
|
|
12
|
+
// Load and validate environment variables with automatic type conversion
|
|
13
|
+
return combinedSchema.parse(process.env);
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
|
-
|
|
16
|
+
logger.error({ error }, "Environment validation error");
|
|
17
17
|
process.exit(1);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -30,10 +30,10 @@ export async function initEnv() {
|
|
|
30
30
|
// Create a module to provide access to environment variables
|
|
31
31
|
const env = new Proxy({}, {
|
|
32
32
|
get: (_, property) => {
|
|
33
|
-
if (isInitialized) {
|
|
34
|
-
|
|
33
|
+
if (!isInitialized) {
|
|
34
|
+
throw new Error(`Environment not initialized. Attempted to access ${property} before initialization.`);
|
|
35
35
|
}
|
|
36
|
-
return
|
|
36
|
+
return envValues[property];
|
|
37
37
|
},
|
|
38
38
|
});
|
|
39
39
|
export default env;
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKxC,sCAAsC;AACtC,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,SAAS,GAAgB,EAAiB,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,yEAAyE;QACzE,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6DAA6D;AAC7D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IACvC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAgB,EAAE,EAAE;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,oDAAoD,QAAQ,yBAAyB,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,QAA6B,CAAC,CAAC;IAClD,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,GAAG,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,51 +1,122 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
3
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
-
import {
|
|
5
|
-
import { parseCliArgs } from "./cli.js";
|
|
3
|
+
import { getFilteredToolNames, getPackageVersion, parseCliArgs, } from "./cli.js";
|
|
6
4
|
import { DefaultClientManager } from "./confluent/client-manager.js";
|
|
7
5
|
import { ToolFactory } from "./confluent/tools/tool-factory.js";
|
|
8
6
|
import { ToolName } from "./confluent/tools/tool-name.js";
|
|
9
7
|
import { initEnv } from "./env.js";
|
|
8
|
+
import { logger, setLogLevel } from "./logger.js";
|
|
9
|
+
import { TransportManager } from "./mcp/transports/index.js";
|
|
10
10
|
// Parse command line arguments and load environment variables if --env-file is specified
|
|
11
|
-
parseCliArgs();
|
|
11
|
+
const cliOptions = parseCliArgs();
|
|
12
12
|
async function main() {
|
|
13
13
|
try {
|
|
14
14
|
// Initialize environment after CLI args are processed
|
|
15
15
|
const env = await initEnv();
|
|
16
|
+
setLogLevel(env.LOG_LEVEL);
|
|
17
|
+
// Merge environment variables with kafka config from CLI
|
|
18
|
+
// some additional configurations could be set in the client manager
|
|
19
|
+
// like separating groupIds by sessionId
|
|
16
20
|
const kafkaClientConfig = {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
// Base configuration from environment variables
|
|
22
|
+
"bootstrap.servers": env.BOOTSTRAP_SERVERS,
|
|
23
|
+
"client.id": "mcp-confluent",
|
|
24
|
+
...(env.KAFKA_API_KEY && env.KAFKA_API_SECRET
|
|
25
|
+
? {
|
|
26
|
+
"security.protocol": "sasl_ssl",
|
|
27
|
+
"sasl.mechanisms": "PLAIN",
|
|
28
|
+
"sasl.username": env.KAFKA_API_KEY,
|
|
29
|
+
"sasl.password": env.KAFKA_API_SECRET,
|
|
30
|
+
}
|
|
31
|
+
: {}),
|
|
32
|
+
// Merge any additional properties from the kafka config file
|
|
33
|
+
...cliOptions.kafkaConfig,
|
|
34
|
+
};
|
|
35
|
+
const clientManager = new DefaultClientManager({
|
|
36
|
+
kafka: kafkaClientConfig,
|
|
37
|
+
endpoints: {
|
|
38
|
+
cloud: env.CONFLUENT_CLOUD_REST_ENDPOINT,
|
|
39
|
+
flink: env.FLINK_REST_ENDPOINT,
|
|
40
|
+
schemaRegistry: env.SCHEMA_REGISTRY_ENDPOINT,
|
|
41
|
+
kafka: env.KAFKA_REST_ENDPOINT,
|
|
42
|
+
},
|
|
43
|
+
auth: {
|
|
44
|
+
cloud: {
|
|
45
|
+
apiKey: env.CONFLUENT_CLOUD_API_KEY,
|
|
46
|
+
apiSecret: env.CONFLUENT_CLOUD_API_SECRET,
|
|
47
|
+
},
|
|
48
|
+
flink: {
|
|
49
|
+
apiKey: env.FLINK_API_KEY,
|
|
50
|
+
apiSecret: env.FLINK_API_SECRET,
|
|
51
|
+
},
|
|
52
|
+
schemaRegistry: {
|
|
53
|
+
apiKey: env.SCHEMA_REGISTRY_API_KEY,
|
|
54
|
+
apiSecret: env.SCHEMA_REGISTRY_API_SECRET,
|
|
55
|
+
},
|
|
56
|
+
kafka: {
|
|
57
|
+
apiKey: env.KAFKA_API_KEY,
|
|
58
|
+
apiSecret: env.KAFKA_API_SECRET,
|
|
25
59
|
},
|
|
26
|
-
logLevel: KafkaJS.logLevel.ERROR,
|
|
27
60
|
},
|
|
28
|
-
};
|
|
29
|
-
const
|
|
61
|
+
});
|
|
62
|
+
const filteredToolNames = getFilteredToolNames(cliOptions);
|
|
63
|
+
// If --list-tools is set, print tool names with descriptions and exit
|
|
64
|
+
if (cliOptions.listTools) {
|
|
65
|
+
const MAX_DESC_LENGTH = 120;
|
|
66
|
+
filteredToolNames.forEach((toolName) => {
|
|
67
|
+
const config = ToolFactory.getToolConfig(toolName);
|
|
68
|
+
let desc = config.description.replace(/\s+/g, " ").trim();
|
|
69
|
+
if (desc.length > MAX_DESC_LENGTH) {
|
|
70
|
+
desc = desc.slice(0, MAX_DESC_LENGTH - 3) + "...";
|
|
71
|
+
}
|
|
72
|
+
console.log(`\x1b[32m${config.name}\x1b[0m: ${desc}`);
|
|
73
|
+
});
|
|
74
|
+
process.exit(0);
|
|
75
|
+
}
|
|
30
76
|
const toolHandlers = new Map();
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
77
|
+
// Initialize tools and check their requirements
|
|
78
|
+
Object.values(ToolName).forEach((toolName) => {
|
|
79
|
+
if (!filteredToolNames.includes(toolName)) {
|
|
80
|
+
logger.warn(`Tool ${toolName} disabled due to allow/block list rules`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const handler = ToolFactory.createToolHandler(toolName);
|
|
84
|
+
// Skip cloud-only tools if disabled by CLI/env
|
|
85
|
+
if (cliOptions.disableConfluentCloudTools &&
|
|
86
|
+
handler.isConfluentCloudOnly()) {
|
|
87
|
+
logger.warn(`Tool ${toolName} disabled due to --disable-confluent-cloud-tools flag or DISABLE_CONFLUENT_CLOUD_TOOLS env var`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const missingVars = handler
|
|
91
|
+
.getRequiredEnvVars()
|
|
92
|
+
.filter((varName) => !env[varName]);
|
|
93
|
+
if (missingVars.length === 0) {
|
|
94
|
+
toolHandlers.set(toolName, handler);
|
|
95
|
+
logger.info(`Tool ${toolName} enabled`);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
logger.warn(`Tool ${toolName} disabled due to missing environment variables: ${missingVars.join(", ")}`);
|
|
99
|
+
}
|
|
35
100
|
});
|
|
36
101
|
const server = new McpServer({
|
|
37
102
|
name: "confluent",
|
|
38
|
-
version:
|
|
103
|
+
version: getPackageVersion(),
|
|
39
104
|
});
|
|
40
105
|
toolHandlers.forEach((handler, name) => {
|
|
41
106
|
const config = handler.getToolConfig();
|
|
42
|
-
server.tool(name, config.description, config.inputSchema, async (args) => {
|
|
43
|
-
|
|
107
|
+
server.tool(name, config.description, config.inputSchema, async (args, context) => {
|
|
108
|
+
const sessionId = context?.sessionId;
|
|
109
|
+
return await handler.handle(clientManager, args, sessionId);
|
|
44
110
|
});
|
|
45
111
|
});
|
|
112
|
+
const transportManager = new TransportManager(server);
|
|
113
|
+
// Start all transports with a single call
|
|
114
|
+
logger.info(`Starting transports: ${cliOptions.transports.join(", ")}`);
|
|
115
|
+
await transportManager.start(cliOptions.transports, env.HTTP_PORT, env.HTTP_HOST);
|
|
46
116
|
// Set up cleanup handlers
|
|
47
117
|
const performCleanup = async () => {
|
|
48
|
-
|
|
118
|
+
logger.info("Shutting down...");
|
|
119
|
+
await transportManager.stop();
|
|
49
120
|
await clientManager.disconnect();
|
|
50
121
|
await server.close();
|
|
51
122
|
process.exit(0);
|
|
@@ -54,17 +125,14 @@ async function main() {
|
|
|
54
125
|
process.on("SIGTERM", performCleanup);
|
|
55
126
|
process.on("SIGQUIT", performCleanup);
|
|
56
127
|
process.on("SIGUSR2", performCleanup);
|
|
57
|
-
const transport = new StdioServerTransport();
|
|
58
|
-
await server.connect(transport);
|
|
59
|
-
console.error("Confluent MCP Server running on stdio");
|
|
60
128
|
}
|
|
61
129
|
catch (error) {
|
|
62
|
-
|
|
130
|
+
logger.error({ error }, "Error starting server");
|
|
63
131
|
process.exit(1);
|
|
64
132
|
}
|
|
65
133
|
}
|
|
66
134
|
main().catch((error) => {
|
|
67
|
-
|
|
135
|
+
logger.error({ error }, "Error starting server");
|
|
68
136
|
process.exit(1);
|
|
69
137
|
});
|
|
70
138
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lazy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,IAAI,CAAC,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAwB;IAEtD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;IAKnE;;;;OAIG;IACH,GAAG,IAAI,CAAC;IAYR;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAYd;AAED;;;;GAIG;AACH,qBAAa,SAAS,CAAC,CAAC;IACtB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiC;IAE/D,iGAAiG;IACjG,OAAO,CAAC,qBAAqB,CAA2B;IAExD;;;;OAIG;gBAED,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IAavB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAW7B"}
|
package/dist/lazy.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* It defers the initialization of a value until it's first requested.
|
|
4
4
|
* @template T The type of value to be lazily loaded
|
|
5
5
|
*/
|
|
6
|
+
import { logger } from "./logger.js";
|
|
6
7
|
export class Lazy {
|
|
7
8
|
/** The cached instance of the lazily loaded value */
|
|
8
9
|
instance;
|
|
@@ -27,7 +28,7 @@ export class Lazy {
|
|
|
27
28
|
get() {
|
|
28
29
|
try {
|
|
29
30
|
this.instance = this.supplier();
|
|
30
|
-
|
|
31
|
+
logger.debug(`Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
|
|
31
32
|
}
|
|
32
33
|
catch (error) {
|
|
33
34
|
throw new Error(`Failed to initialize lazy instance: ${error}`);
|
|
@@ -42,9 +43,9 @@ export class Lazy {
|
|
|
42
43
|
close() {
|
|
43
44
|
if (this.instance) {
|
|
44
45
|
if (this.closeHandler) {
|
|
45
|
-
|
|
46
|
+
logger.debug(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
|
|
46
47
|
this.closeHandler(this.instance);
|
|
47
|
-
|
|
48
|
+
logger.debug(`Lazy instance closed with type ${typeof this.instance}`);
|
|
48
49
|
}
|
|
49
50
|
this.instance = undefined;
|
|
50
51
|
}
|
|
@@ -85,7 +86,7 @@ export class AsyncLazy {
|
|
|
85
86
|
}
|
|
86
87
|
this.instance = await this.initializationPromise;
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
+
logger.debug(`Async Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
|
|
89
90
|
return this.instance;
|
|
90
91
|
}
|
|
91
92
|
/**
|
|
@@ -96,9 +97,9 @@ export class AsyncLazy {
|
|
|
96
97
|
async close() {
|
|
97
98
|
if (this.instance) {
|
|
98
99
|
if (this.closeHandler) {
|
|
99
|
-
|
|
100
|
+
logger.debug(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
|
|
100
101
|
await this.closeHandler(this.instance);
|
|
101
|
-
|
|
102
|
+
logger.debug(`Lazy instance closed with type ${typeof this.instance}`);
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
105
|
}
|
package/dist/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,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,MAAM,CAAC,KAAK,CACV,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,MAAM,CAAC,KAAK,CACV,sDAAsD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,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,MAAM,CAAC,KAAK,CACV,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,MAAM,CAAC,KAAK,CACV,sDAAsD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAC7E,CAAC;gBACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
2
|
+
export declare const logger: import("pino").Logger<never, boolean>;
|
|
3
|
+
export declare const kafkaLogger: KafkaJS.Logger;
|
|
4
|
+
export declare const logLevels: {
|
|
5
|
+
readonly fatal: 60;
|
|
6
|
+
readonly error: 50;
|
|
7
|
+
readonly warn: 40;
|
|
8
|
+
readonly info: 30;
|
|
9
|
+
readonly debug: 20;
|
|
10
|
+
readonly trace: 10;
|
|
11
|
+
};
|
|
12
|
+
export type LogLevel = keyof typeof logLevels;
|
|
13
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
14
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAMzD,eAAO,MAAM,MAAM,uCAclB,CAAC;AA4CF,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAA2C,CAAC;AAG9E,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC;AAG9C,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
2
|
+
import { pino } from "pino";
|
|
3
|
+
const logLevel = process.env.LOG_LEVEL || "info";
|
|
4
|
+
// Create logger with stderr destination
|
|
5
|
+
export const logger = pino({
|
|
6
|
+
level: logLevel,
|
|
7
|
+
timestamp: pino.stdTimeFunctions.isoTime,
|
|
8
|
+
name: "mcp-confluent",
|
|
9
|
+
formatters: {
|
|
10
|
+
level: (label) => {
|
|
11
|
+
return {
|
|
12
|
+
level: label,
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
}, pino.destination(2));
|
|
17
|
+
// Map Kafka log levels to Pino levels
|
|
18
|
+
const levelMap = {
|
|
19
|
+
[KafkaJS.logLevel.NOTHING]: "trace",
|
|
20
|
+
[KafkaJS.logLevel.ERROR]: "error",
|
|
21
|
+
[KafkaJS.logLevel.WARN]: "warn",
|
|
22
|
+
[KafkaJS.logLevel.INFO]: "info",
|
|
23
|
+
[KafkaJS.logLevel.DEBUG]: "debug",
|
|
24
|
+
};
|
|
25
|
+
// Create a logger with the given namespace and level
|
|
26
|
+
const createKafkaLogger = (baseLogger, namespace, logLevel) => {
|
|
27
|
+
const childLogger = baseLogger.child({ namespace });
|
|
28
|
+
if (logLevel) {
|
|
29
|
+
childLogger.level = levelMap[logLevel] || "info";
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
namespace: (subNamespace, subLogLevel) => createKafkaLogger(childLogger, subNamespace, subLogLevel),
|
|
33
|
+
error: (message, ...args) => {
|
|
34
|
+
childLogger.error({ args }, message);
|
|
35
|
+
},
|
|
36
|
+
warn: (message, ...args) => {
|
|
37
|
+
childLogger.warn({ args }, message);
|
|
38
|
+
},
|
|
39
|
+
info: (message, ...args) => {
|
|
40
|
+
childLogger.info({ args }, message);
|
|
41
|
+
},
|
|
42
|
+
debug: (message, ...args) => {
|
|
43
|
+
childLogger.debug({ args }, message);
|
|
44
|
+
},
|
|
45
|
+
setLogLevel: (level) => {
|
|
46
|
+
childLogger.level = levelMap[level] || "info";
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
// Create the root Kafka logger
|
|
51
|
+
export const kafkaLogger = createKafkaLogger(logger, "kafka");
|
|
52
|
+
// Export log levels for type safety
|
|
53
|
+
export const logLevels = {
|
|
54
|
+
fatal: 60,
|
|
55
|
+
error: 50,
|
|
56
|
+
warn: 40,
|
|
57
|
+
info: 30,
|
|
58
|
+
debug: 20,
|
|
59
|
+
trace: 10,
|
|
60
|
+
};
|
|
61
|
+
// Add a function to update the logger's level after env is initialized
|
|
62
|
+
export function setLogLevel(level) {
|
|
63
|
+
logger.level = level;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=logger.js.map
|