@confluentinc/mcp-confluent 1.4.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.
- package/README.md +52 -31
- package/config.example.yaml +36 -7
- package/config.oauth.example.yaml +14 -1
- package/dist/config/env-config.d.ts +9 -3
- package/dist/config/env-config.d.ts.map +1 -1
- package/dist/config/env-config.js +15 -34
- package/dist/config/env-config.js.map +1 -1
- package/dist/config/models.d.ts +105 -13
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +49 -37
- package/dist/config/models.js.map +1 -1
- package/dist/confluent/base-client-manager.d.ts +2 -0
- package/dist/confluent/base-client-manager.d.ts.map +1 -1
- package/dist/confluent/base-client-manager.js +4 -0
- package/dist/confluent/base-client-manager.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +14 -0
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/oauth/auth0-config.d.ts +26 -4
- package/dist/confluent/oauth/auth0-config.d.ts.map +1 -1
- package/dist/confluent/oauth/auth0-config.js +59 -19
- package/dist/confluent/oauth/auth0-config.js.map +1 -1
- package/dist/confluent/oauth/types.d.ts +1 -2
- package/dist/confluent/oauth/types.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.d.ts +5 -2
- package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.js +28 -6
- package/dist/confluent/oauth-client-manager.js.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.d.ts +11 -0
- package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.js +24 -0
- package/dist/confluent/oauth-resource-resolvers.js.map +1 -1
- package/dist/confluent/schema-registry-helper.d.ts +114 -7
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
- package/dist/confluent/schema-registry-helper.js +302 -40
- package/dist/confluent/schema-registry-helper.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +165 -21
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +223 -20
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts +21 -0
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.js +45 -0
- package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
- package/dist/confluent/tools/connection-predicates.d.ts +70 -7
- package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
- package/dist/confluent/tools/connection-predicates.js +69 -6
- package/dist/confluent/tools/connection-predicates.js.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +1 -2
- 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 +9 -5
- 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 +1 -2
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +9 -5
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +1 -2
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +9 -5
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +2 -3
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +14 -6
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +1 -2
- 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 +9 -5
- 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.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +8 -8
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +9 -10
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +36 -11
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +42 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js +297 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts +31 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js +116 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts +52 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js +114 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +19 -42
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +95 -81
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts +27 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js +93 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +24 -21
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +24 -21
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +9 -7
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +14 -12
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +14 -12
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
- 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 +27 -22
- 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.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +20 -18
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +24 -22
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +3 -2
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js +133 -57
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +27 -6
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +36 -7
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.d.ts → get-flink-statement-results-handler.d.ts} +2 -2
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.js → get-flink-statement-results-handler.js} +30 -22
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js +118 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js.map +1 -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 +19 -17
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +1 -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 +15 -5
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +54 -10
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +12 -3
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +1 -1
- 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 +8 -1
- 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 +140 -34
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +1 -2
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +3 -3
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +1 -2
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +6 -4
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +2 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js +76 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +1 -1
- 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 +1 -2
- 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 +9 -5
- 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 +1 -2
- 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 +9 -5
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +15 -10
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +17 -14
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/tool-availability.d.ts +59 -28
- package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
- package/dist/confluent/tools/tool-availability.js +101 -69
- package/dist/confluent/tools/tool-availability.js.map +1 -1
- package/dist/confluent/tools/tool-metadata-handler.d.ts +51 -0
- package/dist/confluent/tools/tool-metadata-handler.d.ts.map +1 -0
- package/dist/confluent/tools/tool-metadata-handler.js +61 -0
- package/dist/confluent/tools/tool-metadata-handler.js.map +1 -0
- package/dist/confluent/tools/tool-name.d.ts +7 -2
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +6 -1
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
- package/dist/confluent/tools/tool-registry.js +24 -2
- package/dist/confluent/tools/tool-registry.js.map +1 -1
- package/dist/env-schema.d.ts +0 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +0 -7
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +0 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/index.d.ts +54 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +78 -324
- package/dist/index.js.map +1 -1
- package/dist/lazy.d.ts +4 -2
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +27 -12
- package/dist/lazy.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +8 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/preflight.d.ts +33 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +68 -0
- package/dist/preflight.js.map +1 -0
- package/dist/server-main.d.ts +98 -0
- package/dist/server-main.d.ts.map +1 -0
- package/dist/server-main.js +383 -0
- package/dist/server-main.js.map +1 -0
- package/dist/server-runtime.d.ts +20 -5
- package/dist/server-runtime.d.ts.map +1 -1
- package/dist/server-runtime.js +45 -28
- package/dist/server-runtime.js.map +1 -1
- package/dist/utils/quote-join-ids.d.ts +9 -0
- package/dist/utils/quote-join-ids.d.ts.map +1 -0
- package/dist/utils/quote-join-ids.js +11 -0
- package/dist/utils/quote-join-ids.js.map +1 -0
- package/package.json +32 -34
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +0 -1
- 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:
|
|
@@ -56,10 +62,10 @@ npx -y @confluentinc/mcp-confluent --list-tools
|
|
|
56
62
|
|
|
57
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.
|
|
58
64
|
|
|
59
|
-
| Category | Tools
|
|
60
|
-
| ----------------- |
|
|
61
|
-
| **Documentation** | `search-product-docs`, `get-product-doc-page`
|
|
62
|
-
| **Diagnostics** | `explain-disabled-tools`
|
|
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 |
|
|
63
69
|
|
|
64
70
|
### Available Tools for Confluent Cloud
|
|
65
71
|
|
|
@@ -67,24 +73,26 @@ These tools require endpoints and authentication against specific Confluent Clou
|
|
|
67
73
|
Refer to [`config.example.yaml`](config.example.yaml) for the full set of configuration variables.
|
|
68
74
|
Categories marked with ¹ also work with [OAuth authentication](#oauth-authentication-for-confluent-cloud) — sign in via your browser instead of provisioning API keys.
|
|
69
75
|
|
|
70
|
-
| Category | Tools
|
|
71
|
-
| -------------------------------------------- |
|
|
72
|
-
| **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`
|
|
73
|
-
| **Flink SQL**
|
|
74
|
-
| **Flink Catalog**
|
|
75
|
-
| **Flink Diagnostics**
|
|
76
|
-
| **Connectors**
|
|
77
|
-
| **Schema Registry** ¹ | `list-schemas`, `delete-schema`
|
|
78
|
-
| **Catalog & Tags**
|
|
79
|
-
| **Organizations, Environments & Clusters** ¹ | `list-organizations`, `list-environments`, `read-environment`, `list-clusters`
|
|
80
|
-
| **Tableflow**
|
|
81
|
-
| **Tableflow Catalog**
|
|
82
|
-
| **Metrics**
|
|
83
|
-
| **Billing** ¹ | `list-billing-costs`
|
|
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 |
|
|
84
90
|
|
|
85
91
|
¹ Also available under OAuth — see [OAuth Authentication for Confluent Cloud](#oauth-authentication-for-confluent-cloud) for setup and caveats.
|
|
86
92
|
Categories not marked currently require a `direct` connection with static API keys; OAuth migration is in progress.
|
|
87
93
|
|
|
94
|
+
² Individual tool not available under OAuth; requires a `direct` connection with static API keys.
|
|
95
|
+
|
|
88
96
|
### Available Tools for local deployments
|
|
89
97
|
|
|
90
98
|
These tools only require Kafka or Schema Registry endpoints - no Confluent Cloud API key/secret is needed.
|
|
@@ -106,7 +114,7 @@ Ready-to-use variants live in [`sample_configs/`](sample_configs/).
|
|
|
106
114
|
| Category | Tools | Description |
|
|
107
115
|
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
|
|
108
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 |
|
|
109
|
-
| **Schema Registry** | `list-schemas`, `delete-schema`
|
|
117
|
+
| **Schema Registry** | `list-schemas`, `create-schema`, `delete-schema` | List, inspect, create, and delete data schemas |
|
|
110
118
|
|
|
111
119
|
## Using with Confluent Platform
|
|
112
120
|
|
|
@@ -128,7 +136,7 @@ CP clusters frequently sit behind an internal CA.
|
|
|
128
136
|
If you see TLS handshake failures against the broker or Schema Registry, point Node at your CA bundle when starting the server:
|
|
129
137
|
|
|
130
138
|
```bash
|
|
131
|
-
NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem
|
|
139
|
+
NODE_EXTRA_CA_CERTS=/path/to/internal-ca.pem pnpm run start -- --config path/to/config.yaml
|
|
132
140
|
```
|
|
133
141
|
|
|
134
142
|
### End-to-end smoke test
|
|
@@ -140,21 +148,30 @@ The matching integration tests are tagged `@cp` and live next to their handlers
|
|
|
140
148
|
docker compose -f docker-compose.cp-test.yml up -d
|
|
141
149
|
# Wait ~30s for Kafka + SR to become ready, then:
|
|
142
150
|
CP_KAFKA_USERNAME=mcp CP_KAFKA_PASSWORD=mcp-secret \
|
|
143
|
-
|
|
151
|
+
pnpm run test:integration --tags-filter=@cp
|
|
144
152
|
docker compose -f docker-compose.cp-test.yml down -v
|
|
145
153
|
```
|
|
146
154
|
|
|
147
|
-
The tests skip cleanly when those env vars are unset, so `
|
|
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.
|
|
148
156
|
|
|
149
157
|
## Getting Started
|
|
150
158
|
|
|
151
159
|
### Prerequisites
|
|
152
160
|
|
|
153
|
-
- **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:
|
|
154
162
|
```bash
|
|
155
163
|
nvm install 22
|
|
156
164
|
nvm use 22
|
|
157
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.
|
|
158
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).
|
|
159
176
|
|
|
160
177
|
### General Setup Steps
|
|
@@ -180,8 +197,8 @@ npx @confluentinc/mcp-confluent --init-config
|
|
|
180
197
|
3. **Start the Server:** You can run the MCP server in one of two ways:
|
|
181
198
|
- **From source:** Follow the instructions in the [Contributing Guide](CONTRIBUTING.md) to build and run the server from source.
|
|
182
199
|
This typically involves:
|
|
183
|
-
- Installing dependencies (`
|
|
184
|
-
- Building the project (`
|
|
200
|
+
- Installing dependencies (`pnpm install`)
|
|
201
|
+
- Building the project (`pnpm run build` or `pnpm run dev`)
|
|
185
202
|
- **With npx:** You can start the server directly using npx, no build required:
|
|
186
203
|
|
|
187
204
|
```bash
|
|
@@ -204,8 +221,8 @@ The full configuration reference — YAML schema, every service block, env-var i
|
|
|
204
221
|
|
|
205
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.
|
|
206
223
|
> The env-var-only path will emit a startup warning in a near-future release and be removed a release or two later.
|
|
207
|
-
>
|
|
208
|
-
> 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).
|
|
209
226
|
|
|
210
227
|
### Prerequisites & setup for Tableflow commands
|
|
211
228
|
|
|
@@ -383,17 +400,18 @@ flink:
|
|
|
383
400
|
detect-flink-statement-issues: Detect issues for a Flink SQL statement by analyzing status, exceptions, and performance metrics. Identifies problems...
|
|
384
401
|
get-flink-statement-exceptions: Retrieve the 10 most recent exceptions for a Flink SQL statement. Useful for diagnosing failed or failing statements.
|
|
385
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.
|
|
386
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...
|
|
387
406
|
list-flink-catalogs: List all catalogs available in the Flink environment via INFORMATION_SCHEMA.CATALOGS.
|
|
388
407
|
list-flink-databases: List all databases (schemas) in a Flink catalog via INFORMATION_SCHEMA.SCHEMATA. Returns catalog and database names.
|
|
389
408
|
list-flink-statements: Retrieve a sorted, filtered, paginated list of all statements.
|
|
390
409
|
list-flink-tables: List all tables in a Flink database via INFORMATION_SCHEMA.TABLES. Returns table names and types.
|
|
391
|
-
read-flink-statement: Make a request to read a statement and its results
|
|
392
410
|
|
|
393
411
|
kafka:
|
|
394
412
|
alter-topic-config: Alter topic configuration in Confluent Cloud.
|
|
395
413
|
consume-messages: Consume messages from Kafka topics. Optionally restrict to a partition, start from an offset, timestamp, earliest, la...
|
|
396
|
-
create-topics: Create one or more Kafka topics with an optional partition count.
|
|
414
|
+
create-topics: Create one or more Kafka topics with an optional partition count and replication factor.
|
|
397
415
|
delete-topics: Delete the topic with the given names.
|
|
398
416
|
describe-consumer-group: Describe a single consumer group on a Kafka cluster. Returns the group's state, type, protocol, partition assignor, c...
|
|
399
417
|
get-consumer-group-lag: Compute live offset lag for a single Kafka consumer group. Returns per-(topic, partition) {committedOffset, highWater...
|
|
@@ -404,13 +422,16 @@ kafka:
|
|
|
404
422
|
produce-message: Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both ke...
|
|
405
423
|
|
|
406
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...
|
|
407
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...
|
|
408
428
|
|
|
409
429
|
metrics:
|
|
410
430
|
list-available-metrics: List available Confluent Cloud metrics and their filter fields from the Telemetry API. Use this tool BEFORE query-met...
|
|
411
431
|
query-metrics: Query Confluent Cloud metrics from the Telemetry API. IMPORTANT: Use the list-available-metrics tool first to discove...
|
|
412
432
|
|
|
413
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.
|
|
414
435
|
delete-schema: Delete a schema subject or a specific version from the Schema Registry. If version is omitted, all versions of the su...
|
|
415
436
|
list-schemas: List all schemas in the Schema Registry.
|
|
416
437
|
|
|
@@ -454,7 +475,7 @@ See [telemetry.md](telemetry.md) for full details on what is collected.
|
|
|
454
475
|
|
|
455
476
|
## Troubleshooting
|
|
456
477
|
|
|
457
|
-
**"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.
|
|
458
479
|
Check your version with `node -v` and upgrade if needed.
|
|
459
480
|
|
|
460
481
|
**Tools not appearing** -- Each tool requires specific service blocks in your `config.yaml`.
|
package/config.example.yaml
CHANGED
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
# rather than the YAML itself. Plain literal values are also fine when you do
|
|
9
9
|
# not need interpolation.
|
|
10
10
|
#
|
|
11
|
-
# Each
|
|
12
|
-
#
|
|
13
|
-
#
|
|
11
|
+
# Each service block under a `direct` connection (`kafka`, `schema_registry`,
|
|
12
|
+
# `confluent_cloud`, `flink`, `tableflow`, `telemetry`) is independently
|
|
13
|
+
# optional; remove the ones you do not need, but at least one must remain. An
|
|
14
|
+
# `oauth` connection carries no service blocks — see the commented-out example
|
|
15
|
+
# at the end of this file.
|
|
14
16
|
|
|
15
17
|
# --- Server ---
|
|
16
18
|
# MCP server transport, authentication, and logging settings.
|
|
@@ -64,13 +66,26 @@ server:
|
|
|
64
66
|
# disabled: true
|
|
65
67
|
|
|
66
68
|
connections:
|
|
67
|
-
# Connection
|
|
68
|
-
#
|
|
69
|
-
#
|
|
70
|
-
#
|
|
69
|
+
# Connection id is freeform. A config may define several connections
|
|
70
|
+
# and route each tool call to one by id — and may mix api-key (`direct`)
|
|
71
|
+
# connections with at most one browser-login (`oauth`) connection. See the
|
|
72
|
+
# commented-out OAuth connection at the end of this file.
|
|
71
73
|
default:
|
|
72
74
|
type: direct
|
|
73
75
|
|
|
76
|
+
# Optional human-readable label for this connection, echoed back by the
|
|
77
|
+
# `list-configured-connections` tool so an agent can tell your connections apart.
|
|
78
|
+
# A blank value is treated as no description.
|
|
79
|
+
description: "Primary Confluent Cloud connection"
|
|
80
|
+
|
|
81
|
+
# Read-only policy (default false). With `read_only: true`, every tool that
|
|
82
|
+
# mutates state is auto-disabled for this connection — only read-only tools
|
|
83
|
+
# stay enabled (a tool's posture comes from its `readOnlyHint` annotation).
|
|
84
|
+
# Use it to hand an agent a staging/prod connection while keeping full
|
|
85
|
+
# read/write on a dev one. Left at the default here so this connection
|
|
86
|
+
# stays read/write:
|
|
87
|
+
# read_only: true
|
|
88
|
+
|
|
74
89
|
# --- Kafka ---
|
|
75
90
|
# `bootstrap_servers` is required for any Kafka client (admin, producer,
|
|
76
91
|
# consumer). `rest_endpoint` + `cluster_id` + `env_id` are required for
|
|
@@ -147,3 +162,17 @@ connections:
|
|
|
147
162
|
# type: api_key
|
|
148
163
|
# key: "${TELEMETRY_API_KEY}"
|
|
149
164
|
# secret: "${TELEMETRY_API_SECRET}"
|
|
165
|
+
|
|
166
|
+
# --- OAuth connection (browser login instead of API keys) ---
|
|
167
|
+
# A config may pair any number of `direct` connections like the one above with
|
|
168
|
+
# at most one `oauth` connection. Uncomment to add one: on the first tool call
|
|
169
|
+
# needing Confluent Cloud access, the server opens the CCloud sign-in page
|
|
170
|
+
# (PKCE) and reuses that session for the rest of the process — no API keys to
|
|
171
|
+
# provision. OAuth connections carry no service blocks; resource IDs
|
|
172
|
+
# (cluster_id, environment_id, ...) are passed as tool arguments at call time.
|
|
173
|
+
# Not every tool is OAuth-eligible yet (see CONFIGURATION.md → Authentication
|
|
174
|
+
# modes). For an OAuth-only starter, run `--init-oauth-config` instead.
|
|
175
|
+
# ccloud:
|
|
176
|
+
# type: oauth
|
|
177
|
+
# description: "Confluent Cloud (OAuth login)"
|
|
178
|
+
# # read_only: true
|
|
@@ -32,11 +32,24 @@
|
|
|
32
32
|
# # disabled: true
|
|
33
33
|
|
|
34
34
|
connections:
|
|
35
|
-
# Connection
|
|
35
|
+
# Connection id is freeform. The `type: oauth` declaration is the only
|
|
36
36
|
# required field.
|
|
37
37
|
ccloud-oauth:
|
|
38
38
|
type: oauth
|
|
39
39
|
|
|
40
|
+
# Optional human-readable label for this connection, echoed back by the
|
|
41
|
+
# `list-configured-connections` tool so an agent can tell your connections apart.
|
|
42
|
+
# A blank value is treated as no description.
|
|
43
|
+
description: "Confluent Cloud (OAuth login)"
|
|
44
|
+
|
|
45
|
+
# Read-only policy (default false). With `read_only: true`, every tool that
|
|
46
|
+
# mutates state is auto-disabled for this connection — only read-only tools
|
|
47
|
+
# stay enabled (a tool's posture comes from its `readOnlyHint` annotation,
|
|
48
|
+
# so there is nothing to configure per-tool). This is the recommended
|
|
49
|
+
# posture for pointing an agent at a production Cloud login while keeping
|
|
50
|
+
# full read/write on a dev connection. Uncomment to lock this one down:
|
|
51
|
+
# read_only: true
|
|
52
|
+
|
|
40
53
|
# librdkafka `debug` contexts to emit on stderr for this OAuth connection's
|
|
41
54
|
# native Kafka client. Reach for it when an OAuth/OAUTHBEARER SASL handshake
|
|
42
55
|
# misbehaves and you need to see which side broke — works the same in
|
|
@@ -2,8 +2,14 @@ import { MCPServerConfiguration } from "../config/models.js";
|
|
|
2
2
|
import type { Environment } from "../env.js";
|
|
3
3
|
import { type KeyValuePairObject } from "properties-file";
|
|
4
4
|
/**
|
|
5
|
-
* Connection
|
|
6
|
-
*
|
|
5
|
+
* Connection id synthesized by the env-var path. The leading underscore marks
|
|
6
|
+
* it as machine-synthesized rather than user-chosen; it is the canonical
|
|
7
|
+
* zero-config id the YAML loader must adopt when the env-var path is retired.
|
|
8
|
+
*
|
|
9
|
+
* Distinct from the test factories' {@link DEFAULT_CONNECTION_ID} (`"default"`,
|
|
10
|
+
* exported from `tests/factories/runtime.ts`): same constant name, different
|
|
11
|
+
* value, different world. This one is the production env-var synthesis; that
|
|
12
|
+
* one is an arbitrary fixture id. The values differ on purpose — do not unify.
|
|
7
13
|
*
|
|
8
14
|
* Fallback contract: with no CLI args and no env vars, this module produces
|
|
9
15
|
* `connections: { _default: { type: "direct" } }` alongside the
|
|
@@ -11,7 +17,7 @@ import { type KeyValuePairObject } from "properties-file";
|
|
|
11
17
|
* blocks, so only connection-agnostic tools are enabled. When the env-var
|
|
12
18
|
* path is retired, the YAML loader must preserve this connection shape.
|
|
13
19
|
*/
|
|
14
|
-
export declare const
|
|
20
|
+
export declare const DEFAULT_CONNECTION_ID = "_default";
|
|
15
21
|
/** CLI flags that may override values in the env-var config path. */
|
|
16
22
|
export interface EnvPathCliOverrides {
|
|
17
23
|
disableAuth?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"env-config.d.ts","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAgKhD,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,WAAW,EAChB,SAAS,GAAE,mBAAwB,GAClC,sBAAsB,CAUxB"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { formatZodIssues, KAFKA_PROTECTED_EXTRA_PROPERTY_KEYS, mcpConfigSchema, MCPServerConfiguration, } from "../config/models.js";
|
|
2
|
-
import { logger } from "../logger.js";
|
|
3
2
|
/**
|
|
4
|
-
* Connection
|
|
5
|
-
*
|
|
3
|
+
* Connection id synthesized by the env-var path. The leading underscore marks
|
|
4
|
+
* it as machine-synthesized rather than user-chosen; it is the canonical
|
|
5
|
+
* zero-config id the YAML loader must adopt when the env-var path is retired.
|
|
6
|
+
*
|
|
7
|
+
* Distinct from the test factories' {@link DEFAULT_CONNECTION_ID} (`"default"`,
|
|
8
|
+
* exported from `tests/factories/runtime.ts`): same constant name, different
|
|
9
|
+
* value, different world. This one is the production env-var synthesis; that
|
|
10
|
+
* one is an arbitrary fixture id. The values differ on purpose — do not unify.
|
|
6
11
|
*
|
|
7
12
|
* Fallback contract: with no CLI args and no env vars, this module produces
|
|
8
13
|
* `connections: { _default: { type: "direct" } }` alongside the
|
|
@@ -10,9 +15,9 @@ import { logger } from "../logger.js";
|
|
|
10
15
|
* blocks, so only connection-agnostic tools are enabled. When the env-var
|
|
11
16
|
* path is retired, the YAML loader must preserve this connection shape.
|
|
12
17
|
*/
|
|
13
|
-
export const
|
|
18
|
+
export const DEFAULT_CONNECTION_ID = "_default";
|
|
14
19
|
/** The manufactured document path prefix for the single connection configured from env vars. */
|
|
15
|
-
const CONN = `connections.${
|
|
20
|
+
const CONN = `connections.${DEFAULT_CONNECTION_ID}`;
|
|
16
21
|
/**
|
|
17
22
|
* Maps each environment variable in type Environment (and handled by buildConfigFromEnvAndCli)
|
|
18
23
|
* to its corresponding Zod document path in the manufactured MCPServerConfiguration.
|
|
@@ -44,10 +49,7 @@ const ENV_VAR_TO_ZPATH = {
|
|
|
44
49
|
FLINK_ENV_ID: `${CONN}.flink.environment_id`,
|
|
45
50
|
FLINK_ORG_ID: `${CONN}.flink.organization_id`,
|
|
46
51
|
FLINK_COMPUTE_POOL_ID: `${CONN}.flink.compute_pool_id`,
|
|
47
|
-
// FLINK_CATALOG_NAME comes before FLINK_ENV_NAME so error-message humanization
|
|
48
|
-
// (which iterates this map in insertion order) surfaces the preferred name.
|
|
49
52
|
FLINK_CATALOG_NAME: `${CONN}.flink.catalog_name`,
|
|
50
|
-
FLINK_ENV_NAME: `${CONN}.flink.catalog_name`,
|
|
51
53
|
FLINK_DATABASE_NAME: `${CONN}.flink.database_name`,
|
|
52
54
|
// Telemetry parameters
|
|
53
55
|
TELEMETRY_ENDPOINT: `${CONN}.telemetry.endpoint`,
|
|
@@ -86,7 +88,7 @@ function buildConfigFromEnv(env, authOverrides = {}, kafkaConfig, oauth) {
|
|
|
86
88
|
if (oauth) {
|
|
87
89
|
const rawDocument = {
|
|
88
90
|
connections: {
|
|
89
|
-
[
|
|
91
|
+
[DEFAULT_CONNECTION_ID]: {
|
|
90
92
|
type: "oauth",
|
|
91
93
|
...(oauth.ccloudEnv && {
|
|
92
94
|
ccloud_env: oauth.ccloudEnv,
|
|
@@ -131,7 +133,7 @@ function buildConfigFromEnv(env, authOverrides = {}, kafkaConfig, oauth) {
|
|
|
131
133
|
// authOverrides are folded in here so Zod validates the final combined state,
|
|
132
134
|
// including the disabled+api_key mutual exclusion refine.
|
|
133
135
|
const rawDocument = {
|
|
134
|
-
connections: { [
|
|
136
|
+
connections: { [DEFAULT_CONNECTION_ID]: connection },
|
|
135
137
|
...buildServerBlock(env, authOverrides),
|
|
136
138
|
};
|
|
137
139
|
// Validate the manufactured config object against the schema, as if it were loaded from a YAML file.
|
|
@@ -332,10 +334,8 @@ function buildFlinkBlock(env) {
|
|
|
332
334
|
!env.FLINK_ORG_ID &&
|
|
333
335
|
!env.FLINK_COMPUTE_POOL_ID &&
|
|
334
336
|
!env.FLINK_CATALOG_NAME &&
|
|
335
|
-
!env.FLINK_ENV_NAME &&
|
|
336
337
|
!env.FLINK_DATABASE_NAME)
|
|
337
338
|
return null;
|
|
338
|
-
const catalogName = resolveFlinkCatalogName(env);
|
|
339
339
|
return {
|
|
340
340
|
flink: {
|
|
341
341
|
...(env.FLINK_REST_ENDPOINT && { endpoint: env.FLINK_REST_ENDPOINT }),
|
|
@@ -345,34 +345,15 @@ function buildFlinkBlock(env) {
|
|
|
345
345
|
...(env.FLINK_COMPUTE_POOL_ID && {
|
|
346
346
|
compute_pool_id: env.FLINK_COMPUTE_POOL_ID,
|
|
347
347
|
}),
|
|
348
|
-
...(
|
|
348
|
+
...(env.FLINK_CATALOG_NAME && {
|
|
349
|
+
catalog_name: env.FLINK_CATALOG_NAME,
|
|
350
|
+
}),
|
|
349
351
|
...(env.FLINK_DATABASE_NAME && {
|
|
350
352
|
database_name: env.FLINK_DATABASE_NAME,
|
|
351
353
|
}),
|
|
352
354
|
},
|
|
353
355
|
};
|
|
354
356
|
}
|
|
355
|
-
/**
|
|
356
|
-
* Resolves the Flink catalog name from env vars, accepting either the preferred
|
|
357
|
-
* `FLINK_CATALOG_NAME` or the deprecated `FLINK_ENV_NAME`. Throws when both are
|
|
358
|
-
* set (unambiguous conflict — user must remove the legacy one). Emits a single
|
|
359
|
-
* `logger.warn` when only the legacy var is set so the deprecation lands in
|
|
360
|
-
* server logs at startup.
|
|
361
|
-
*
|
|
362
|
-
* TODO: Remove FLINK_ENV_NAME support in v1.4.0. See issue #209.
|
|
363
|
-
*/
|
|
364
|
-
function resolveFlinkCatalogName(env) {
|
|
365
|
-
if (env.FLINK_CATALOG_NAME && env.FLINK_ENV_NAME) {
|
|
366
|
-
throw new Error("Both FLINK_CATALOG_NAME and the deprecated FLINK_ENV_NAME are set; remove FLINK_ENV_NAME.");
|
|
367
|
-
}
|
|
368
|
-
if (env.FLINK_CATALOG_NAME)
|
|
369
|
-
return env.FLINK_CATALOG_NAME;
|
|
370
|
-
if (env.FLINK_ENV_NAME) {
|
|
371
|
-
logger.warn("FLINK_ENV_NAME is deprecated and will be removed in v1.4.0; rename to FLINK_CATALOG_NAME.");
|
|
372
|
-
return env.FLINK_ENV_NAME;
|
|
373
|
-
}
|
|
374
|
-
return undefined;
|
|
375
|
-
}
|
|
376
357
|
/**
|
|
377
358
|
* Builds the root-level `server` block from env vars. Always returns a block —
|
|
378
359
|
* all fields have defaults in envSchema so they are always present after initEnv().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EACf,mCAAmC,EACnC,eAAe,EACf,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"env-config.js","sourceRoot":"","sources":["../../src/config/env-config.ts"],"names":[],"mappings":"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"}
|