@confluentinc/mcp-confluent 1.0.3 → 1.0.4
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 +150 -0
- package/dist/confluent/client-manager.d.ts +9 -0
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/client-manager.js +22 -0
- package/dist/confluent/client-manager.js.map +1 -1
- package/dist/confluent/middleware.d.ts +1 -0
- package/dist/confluent/middleware.d.ts.map +1 -1
- package/dist/confluent/middleware.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.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/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +81 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +64 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +74 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +64 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +81 -0
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +65 -0
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +96 -0
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +66 -0
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +74 -0
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +66 -0
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +11 -0
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +104 -0
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -0
- package/dist/confluent/tools/tool-factory.d.ts.map +1 -1
- package/dist/confluent/tools/tool-factory.js +38 -1
- package/dist/confluent/tools/tool-factory.js.map +1 -1
- package/dist/confluent/tools/tool-name.d.ts +12 -1
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +11 -0
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/env-schema.d.ts +6 -0
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +12 -0
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/transports/http.d.ts +2 -2
- package/dist/mcp/transports/http.d.ts.map +1 -1
- package/dist/mcp/transports/http.js.map +1 -1
- package/dist/mcp/transports/manager.d.ts +1 -1
- package/dist/mcp/transports/manager.d.ts.map +1 -1
- package/dist/mcp/transports/manager.js +5 -5
- package/dist/mcp/transports/manager.js.map +1 -1
- package/dist/mcp/transports/sse.d.ts +2 -2
- package/dist/mcp/transports/sse.d.ts.map +1 -1
- package/dist/print-md-schema.js +1 -1
- package/dist/print-md-schema.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@ An MCP server implementation that enables AI assistants to interact with Conflue
|
|
|
6
6
|
<img width="380" height="200" src="https://glama.ai/mcp/servers/@confluentinc/mcp-confluent/badge" alt="mcp-confluent MCP server" />
|
|
7
7
|
</a>
|
|
8
8
|
|
|
9
|
+
[](https://deepwiki.com/confluentinc/mcp-confluent)
|
|
10
|
+
|
|
9
11
|
## Demo
|
|
10
12
|
|
|
11
13
|
### Goose CLI
|
|
@@ -26,6 +28,7 @@ An MCP server implementation that enables AI assistants to interact with Conflue
|
|
|
26
28
|
- [User Guide](#user-guide)
|
|
27
29
|
- [Getting Started](#getting-started)
|
|
28
30
|
- [Configuration](#configuration)
|
|
31
|
+
- [Prerequisites \& Setup for Tableflow Commands](#prerequisites--setup-for-tableflow-commands)
|
|
29
32
|
- [Environment Variables Reference](#environment-variables-reference)
|
|
30
33
|
- [Usage](#usage)
|
|
31
34
|
- [Configuring Claude Desktop](#configuring-claude-desktop)
|
|
@@ -40,6 +43,11 @@ An MCP server implementation that enables AI assistants to interact with Conflue
|
|
|
40
43
|
- [Developer Guide](#developer-guide)
|
|
41
44
|
- [Project Structure](#project-structure)
|
|
42
45
|
- [Building and Running](#building-and-running)
|
|
46
|
+
- [Docker](#docker)
|
|
47
|
+
- [Prerequisites](#prerequisites)
|
|
48
|
+
- [Environment Variables](#environment-variables)
|
|
49
|
+
- [Building and Running with Docker](#building-and-running-with-docker)
|
|
50
|
+
- [Building and Running with Docker Compose](#building-and-running-with-docker-compose)
|
|
43
51
|
- [Testing](#testing)
|
|
44
52
|
- [MCP Inspector](#mcp-inspector)
|
|
45
53
|
- [Adding a New Tool](#adding-a-new-tool)
|
|
@@ -84,6 +92,8 @@ FLINK_DATABASE_NAME=""
|
|
|
84
92
|
FLINK_API_KEY=""
|
|
85
93
|
FLINK_API_SECRET=""
|
|
86
94
|
FLINK_COMPUTE_POOL_ID="lfcp-..."
|
|
95
|
+
TABLEFLOW_API_KEY=""
|
|
96
|
+
TABLEFLOW_API_SECRET=""
|
|
87
97
|
CONFLUENT_CLOUD_API_KEY=""
|
|
88
98
|
CONFLUENT_CLOUD_API_SECRET=""
|
|
89
99
|
CONFLUENT_CLOUD_REST_ENDPOINT="https://api.confluent.cloud"
|
|
@@ -94,6 +104,19 @@ SCHEMA_REGISTRY_ENDPOINT="https://psrc-zv01y.northamerica-northeast2.gcp.conflue
|
|
|
94
104
|
|
|
95
105
|
</details>
|
|
96
106
|
|
|
107
|
+
#### Prerequisites & Setup for Tableflow Commands
|
|
108
|
+
|
|
109
|
+
In order to leverage **Tableflow commands** to interact with your data ecosystem and successfully execute these Tableflow commands and manage resources (e.g., interacting with data storage like AWS S3 and metadata catalogs like AWS Glue), certain **IAM (Identity and Access Management) permissions** and configurations are essential.
|
|
110
|
+
|
|
111
|
+
It is crucial to set up the necessary roles and policies in your cloud environment (e.g., AWS) and link them correctly within Confluent Cloud. This ensures your Flink SQL cluster, which powers Tableflow, has the required authorization to perform operations on your behalf.
|
|
112
|
+
|
|
113
|
+
Please refer to the following Confluent Cloud documentation for detailed instructions on setting up these permissions and integrating with custom storage and Glue:
|
|
114
|
+
|
|
115
|
+
* **Confluent Cloud Tableflow Quick Start with Custom Storage & Glue:**
|
|
116
|
+
[https://docs.confluent.io/cloud/current/topics/tableflow/get-started/quick-start-custom-storage-glue.html](https://docs.confluent.io/cloud/current/topics/tableflow/get-started/quick-start-custom-storage-glue.html)
|
|
117
|
+
|
|
118
|
+
Ensuring these prerequisites are met will prevent authorization errors when the `mcp-server` attempts to provision or manage Tableflow-enabled tables.
|
|
119
|
+
|
|
97
120
|
### Environment Variables Reference
|
|
98
121
|
|
|
99
122
|
| Variable | Description | Default Value | Required |
|
|
@@ -112,6 +135,10 @@ SCHEMA_REGISTRY_ENDPOINT="https://psrc-zv01y.northamerica-northeast2.gcp.conflue
|
|
|
112
135
|
| FLINK_ENV_NAME | Human-readable name for the Flink environment used for identification and display purposes (string (min: 1)) | | No |
|
|
113
136
|
| FLINK_ORG_ID | Organization identifier within Confluent Cloud for Flink resource management (string (min: 1)) | | No |
|
|
114
137
|
| FLINK_REST_ENDPOINT | Base URL for Confluent Cloud's Flink REST API endpoints used for SQL statement and compute pool management (string) | | No |
|
|
138
|
+
| TABLEFLOW_API_KEY | Authentication key for accessing Confluent Cloud's Tableflow services (string (min: 1)) |
|
|
139
|
+
| | No |
|
|
140
|
+
| TABLEFLOW_API_SECRET | Secret token paired with TABLEFLOW_API_KEY for authenticated access to Confluent Cloud's Tableflow services (string (min: |
|
|
141
|
+
| 1)) | | No |
|
|
115
142
|
| KAFKA_API_KEY | Authentication credential (username) required to establish secure connection with the Kafka cluster (string (min: 1)) | | No |
|
|
116
143
|
| KAFKA_API_SECRET | Authentication credential (password) paired with KAFKA_API_KEY for secure Kafka cluster access (string (min: 1)) | | No |
|
|
117
144
|
| KAFKA_CLUSTER_ID | Unique identifier for the Kafka cluster within Confluent Cloud ecosystem (string (min: 1)) | | No |
|
|
@@ -340,6 +367,17 @@ npx @confluentinc/mcp-confluent -e .env --allow-tools produce-message,consume-me
|
|
|
340
367
|
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-environment disabled due to allow/block list rules"}
|
|
341
368
|
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-schemas disabled due to allow/block list rules"}
|
|
342
369
|
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool get-topic-config disabled due to allow/block list rules"}
|
|
370
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool create-tableflow-topic disabled due to allow/block list rules"}
|
|
371
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool list-tableflow-regions disabled due to allow/block list rules"}
|
|
372
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool list-tableflow-topics disabled due to allow/block list rules"}
|
|
373
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool read-tableflow-topic disabled due to allow/block list rules"}
|
|
374
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool update-tableflow-topic disabled due to allow/block list rules"}
|
|
375
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool delete-tableflow-topic disabled due to allow/block list rules"}
|
|
376
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool create-tableflow-catalog-integration disabled due to allow/block list rules"}
|
|
377
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool list-tableflow-catalog-integrations disabled due to allow/block list rules"}
|
|
378
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool read-tableflow-catalog-integration disabled due to allow/block list rules"}
|
|
379
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool update-tableflow-catalog-integration disabled due to allow/block list rules"}
|
|
380
|
+
{"level":"warn","time":"2025-05-14T16:52:34.923Z","pid":53394,"hostname":"YXR2D4NCM9","name":"mcp-confluent","msg":"Tool delete-tableflow-catalog-integration disabled due to allow/block list rules"}
|
|
343
381
|
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio on localhost:3000"}
|
|
344
382
|
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
|
|
345
383
|
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
|
|
@@ -383,6 +421,17 @@ npx @confluentinc/mcp-confluent -e .env --block-tools produce-message,consume-me
|
|
|
383
421
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-environment enabled"}
|
|
384
422
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-schemas enabled"}
|
|
385
423
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool get-topic-config enabled"}
|
|
424
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-topic enabled"}
|
|
425
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-regions enabled"}
|
|
426
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-topics enabled"}
|
|
427
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-topic enabled"}
|
|
428
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-topic enabled"}
|
|
429
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-topic enabled"}
|
|
430
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-catalog-integration enabled"}
|
|
431
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-catalog-integrations enabled"}
|
|
432
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-catalog-integration enabled"}
|
|
433
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-catalog-integration enabled"}
|
|
434
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-catalog-integration enabled"}
|
|
386
435
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio"}
|
|
387
436
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
|
|
388
437
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
|
|
@@ -426,6 +475,17 @@ npx -y @confluentinc/mcp-confluent -e .env --allow-tools-file allow.txt --block-
|
|
|
426
475
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-environment enabled"}
|
|
427
476
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-schemas enabled"}
|
|
428
477
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool get-topic-config enabled"}
|
|
478
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-topic enabled"}
|
|
479
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-regions enabled"}
|
|
480
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-topics enabled"}
|
|
481
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-topic enabled"}
|
|
482
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-topic enabled"}
|
|
483
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-topic enabled"}
|
|
484
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-catalog-integration enabled"}
|
|
485
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-catalog-integrations enabled"}
|
|
486
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-catalog-integration enabled"}
|
|
487
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-catalog-integration enabled"}
|
|
488
|
+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-catalog-integration enabled"}
|
|
429
489
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio"}
|
|
430
490
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
|
|
431
491
|
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
|
|
@@ -469,6 +529,18 @@ read-flink-statement: Make a request to read a statement and its results
|
|
|
469
529
|
remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
|
|
470
530
|
search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
|
|
471
531
|
search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.
|
|
532
|
+
create-tableflow-topic: Make a request to create a tableflow topic.
|
|
533
|
+
create-tableflow-topic: Make a request to create a tableflow topic.
|
|
534
|
+
list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
|
|
535
|
+
list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
|
|
536
|
+
read-tableflow-topic: Make a request to read a tableflow topic.
|
|
537
|
+
update-tableflow-topic: Make a request to update a tableflow topic.
|
|
538
|
+
delete-tableflow-topic: Make a request to delete a tableflow topic.
|
|
539
|
+
create-tableflow-catalog-integration: Make a request to create a catalog integration.
|
|
540
|
+
list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
|
|
541
|
+
read-tableflow-catalog-integration: Make a request to read a catalog integration.
|
|
542
|
+
update-tableflow-catalog-integration: Make a request to update a catalog integration.
|
|
543
|
+
delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
|
|
472
544
|
```
|
|
473
545
|
|
|
474
546
|
</details>
|
|
@@ -522,6 +594,84 @@ search-topics-by-tag: List all topics in the Kafka cluster with the specified ta
|
|
|
522
594
|
npm run start
|
|
523
595
|
```
|
|
524
596
|
|
|
597
|
+
|
|
598
|
+
### Docker
|
|
599
|
+
|
|
600
|
+
#### Prerequisites
|
|
601
|
+
Before you begin, ensure you have the following installed on your system:
|
|
602
|
+
|
|
603
|
+
Docker Desktop (or Docker Engine and Docker Compose): https://www.docker.com/products/docker-desktop
|
|
604
|
+
|
|
605
|
+
##### Environment Variables
|
|
606
|
+
|
|
607
|
+
The MCP server requires several environment variables to connect to Confluent Cloud and other relevant services. These should be provided in the `.env` file in the root directory of this project. Or you can add them directly in the `docker-compose.yml`
|
|
608
|
+
|
|
609
|
+
#### Building and Running with Docker
|
|
610
|
+
|
|
611
|
+
Here's how to build your Docker image and run it in different modes.
|
|
612
|
+
|
|
613
|
+
1. **Navigate to your project directory.** Open your terminal or command prompt and change to the directory containing the `Dockerfile`.
|
|
614
|
+
|
|
615
|
+
```bash
|
|
616
|
+
cd /path/to/repo/mcp-confluent
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
2. **Build the Docker image.**
|
|
620
|
+
|
|
621
|
+
This command creates the `mcp-server` image based on the `Dockerfile` in the current directory.
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
docker build -t mcp-server .
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
3. **Run the container**
|
|
628
|
+
|
|
629
|
+
* `--rm`: **Automatically removes the container** when it exits. This helps keep your system clean.
|
|
630
|
+
* `-i`: Keeps **STDIN open** (runs the server using stdio transport by default).
|
|
631
|
+
* `-d`: Runs the container in **detached mode** (in the background).
|
|
632
|
+
* `-p 3000:3000`: **Maps port 3000** on your host machine to port 3000 inside the container. Adjust this if your app listens on a different port.
|
|
633
|
+
|
|
634
|
+
```bash
|
|
635
|
+
docker run --rm -i -d -p 3000:3000 mcp-server
|
|
636
|
+
```
|
|
637
|
+
(Optional)
|
|
638
|
+
* `-t` **Transport Mode** to enable http transport
|
|
639
|
+
```bash
|
|
640
|
+
docker run --rm -d -p 3000:3000 mcp-server -t http
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
#### Building and Running with Docker Compose
|
|
644
|
+
|
|
645
|
+
1. **Navigate to the project root:**
|
|
646
|
+
Open your terminal or command prompt and change to the directory containing Dockerfile and docker-compose.yml.
|
|
647
|
+
|
|
648
|
+
```bash
|
|
649
|
+
cd /path/to/repo/mcp-confluent
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
2. **Build and run the service:**
|
|
653
|
+
Docker Compose will build the Docker image (if not already built) and start the mcp-server service.
|
|
654
|
+
|
|
655
|
+
```bash
|
|
656
|
+
docker compose up --build
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
The --build flag ensures that Docker Compose rebuilds the image before starting the container. You can omit this flag on subsequent runs if you haven't changed the Dockerfile or source code.
|
|
660
|
+
|
|
661
|
+
The server will be accessible on http://localhost:3000 (or the port specified in HTTP_PORT in your .env file).
|
|
662
|
+
|
|
663
|
+
3. **Stopping the Server**
|
|
664
|
+
To stop the running MCP server and remove the containers, press Ctrl+C in the terminal where docker compose up is running.
|
|
665
|
+
|
|
666
|
+
Alternatively, in a new terminal from the project root, you can run:
|
|
667
|
+
|
|
668
|
+
```bash
|
|
669
|
+
docker compose down
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
This command stops and removes the containers, networks, and volumes created by docker compose up.
|
|
673
|
+
|
|
674
|
+
|
|
525
675
|
### Testing
|
|
526
676
|
|
|
527
677
|
#### MCP Inspector
|
|
@@ -29,6 +29,8 @@ export interface ConfluentCloudRestClientManager {
|
|
|
29
29
|
getConfluentCloudFlinkRestClient(): Client<paths, `${string}/${string}`>;
|
|
30
30
|
/** Gets a configured REST client for general Confluent Cloud operations */
|
|
31
31
|
getConfluentCloudRestClient(): Client<paths, `${string}/${string}`>;
|
|
32
|
+
/** Gets a configured REST client for Tableflow operations */
|
|
33
|
+
getConfluentCloudTableflowRestClient(): Client<paths, `${string}/${string}`>;
|
|
32
34
|
/** Gets a configured REST client for Confluent Cloud Schema Registry operations */
|
|
33
35
|
getConfluentCloudSchemaRegistryRestClient(): Client<paths, `${string}/${string}`>;
|
|
34
36
|
/** Gets a configured REST client for Confluent Cloud Kafka operations */
|
|
@@ -37,6 +39,7 @@ export interface ConfluentCloudRestClientManager {
|
|
|
37
39
|
setConfluentCloudFlinkEndpoint(endpoint: string): void;
|
|
38
40
|
setConfluentCloudSchemaRegistryEndpoint(endpoint: string): void;
|
|
39
41
|
setConfluentCloudKafkaRestEndpoint(endpoint: string): void;
|
|
42
|
+
setConfluentCloudTableflowRestEndpoint(endpoint: string): void;
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
42
45
|
* Interface for managing Schema Registry client connections.
|
|
@@ -53,6 +56,7 @@ export interface ClientManagerConfig {
|
|
|
53
56
|
auth: {
|
|
54
57
|
cloud: ConfluentAuth;
|
|
55
58
|
flink: ConfluentAuth;
|
|
59
|
+
tableflow: ConfluentAuth;
|
|
56
60
|
schemaRegistry: ConfluentAuth;
|
|
57
61
|
kafka: ConfluentAuth;
|
|
58
62
|
};
|
|
@@ -63,6 +67,7 @@ export interface ClientManagerConfig {
|
|
|
63
67
|
*/
|
|
64
68
|
export declare class DefaultClientManager implements ClientManager, SchemaRegistryClientHandler {
|
|
65
69
|
private confluentCloudBaseUrl;
|
|
70
|
+
private confluentCloudTableflowBaseUrl;
|
|
66
71
|
private confluentCloudFlinkBaseUrl;
|
|
67
72
|
private confluentCloudSchemaRegistryBaseUrl;
|
|
68
73
|
private confluentCloudKafkaRestBaseUrl;
|
|
@@ -72,6 +77,7 @@ export declare class DefaultClientManager implements ClientManager, SchemaRegist
|
|
|
72
77
|
private readonly producer;
|
|
73
78
|
private readonly confluentCloudFlinkRestClient;
|
|
74
79
|
private readonly confluentCloudRestClient;
|
|
80
|
+
private readonly confluentCloudTableflowRestClient;
|
|
75
81
|
private readonly confluentCloudSchemaRegistryRestClient;
|
|
76
82
|
private readonly confluentCloudKafkaRestClient;
|
|
77
83
|
private readonly schemaRegistryClient;
|
|
@@ -88,6 +94,7 @@ export declare class DefaultClientManager implements ClientManager, SchemaRegist
|
|
|
88
94
|
* @param endpoint the endpoint to set
|
|
89
95
|
*/
|
|
90
96
|
setConfluentCloudRestEndpoint(endpoint: string): void;
|
|
97
|
+
setConfluentCloudTableflowRestEndpoint(endpoint: string): void;
|
|
91
98
|
setConfluentCloudFlinkEndpoint(endpoint: string): void;
|
|
92
99
|
setConfluentCloudSchemaRegistryEndpoint(endpoint: string): void;
|
|
93
100
|
setConfluentCloudKafkaRestEndpoint(endpoint: string): void;
|
|
@@ -98,6 +105,8 @@ export declare class DefaultClientManager implements ClientManager, SchemaRegist
|
|
|
98
105
|
/** @inheritdoc */
|
|
99
106
|
getConfluentCloudRestClient(): Client<paths, `${string}/${string}`>;
|
|
100
107
|
/** @inheritdoc */
|
|
108
|
+
getConfluentCloudTableflowRestClient(): Client<paths, `${string}/${string}`>;
|
|
109
|
+
/** @inheritdoc */
|
|
101
110
|
getConfluentCloudSchemaRegistryRestClient(): Client<paths, `${string}/${string}`>;
|
|
102
111
|
/** @inheritdoc */
|
|
103
112
|
getConfluentCloudKafkaRestClient(): Client<paths, `${string}/${string}`>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,aAAa,EACb,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAqB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAChC,wEAAwE;IACxE,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,+DAA+D;IAC/D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,iEAAiE;IACjE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,uDAAuD;IACvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,yEAAyE;IACzE,gCAAgC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;IACzE,2EAA2E;IAC3E,2BAA2B,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;IACpE,mFAAmF;IACnF,yCAAyC,IAAI,MAAM,CACjD,KAAK,EACL,GAAG,MAAM,IAAI,MAAM,EAAE,CACtB,CAAC;IACF,yEAAyE;IACzE,gCAAgC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;IAEzE,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,uCAAuC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import createClient from "openapi-fetch";
|
|
|
13
13
|
*/
|
|
14
14
|
export class DefaultClientManager {
|
|
15
15
|
confluentCloudBaseUrl;
|
|
16
|
+
confluentCloudTableflowBaseUrl;
|
|
16
17
|
confluentCloudFlinkBaseUrl;
|
|
17
18
|
confluentCloudSchemaRegistryBaseUrl;
|
|
18
19
|
confluentCloudKafkaRestBaseUrl;
|
|
@@ -22,6 +23,7 @@ export class DefaultClientManager {
|
|
|
22
23
|
producer;
|
|
23
24
|
confluentCloudFlinkRestClient;
|
|
24
25
|
confluentCloudRestClient;
|
|
26
|
+
confluentCloudTableflowRestClient;
|
|
25
27
|
confluentCloudSchemaRegistryRestClient;
|
|
26
28
|
confluentCloudKafkaRestClient;
|
|
27
29
|
schemaRegistryClient;
|
|
@@ -31,6 +33,7 @@ export class DefaultClientManager {
|
|
|
31
33
|
*/
|
|
32
34
|
constructor(config) {
|
|
33
35
|
this.confluentCloudBaseUrl = config.endpoints.cloud;
|
|
36
|
+
this.confluentCloudTableflowBaseUrl = config.endpoints.cloud; // at the time of writing, apis are exposed on the same base url as confluent cloud
|
|
34
37
|
this.confluentCloudFlinkBaseUrl = config.endpoints.flink;
|
|
35
38
|
this.confluentCloudSchemaRegistryBaseUrl = config.endpoints.schemaRegistry;
|
|
36
39
|
this.confluentCloudKafkaRestBaseUrl = config.endpoints.kafka;
|
|
@@ -66,6 +69,17 @@ export class DefaultClientManager {
|
|
|
66
69
|
client.use(createAuthMiddleware(config.auth.cloud));
|
|
67
70
|
return client;
|
|
68
71
|
});
|
|
72
|
+
this.confluentCloudTableflowRestClient = new Lazy(() => {
|
|
73
|
+
if (!this.confluentCloudTableflowBaseUrl) {
|
|
74
|
+
throw new Error("Confluent Cloud Tableflow REST endpoint not configured");
|
|
75
|
+
}
|
|
76
|
+
logger.info(`Initializing Confluent Cloud Tableflow REST client for base URL ${this.confluentCloudTableflowBaseUrl}`);
|
|
77
|
+
const client = createClient({
|
|
78
|
+
baseUrl: this.confluentCloudTableflowBaseUrl,
|
|
79
|
+
});
|
|
80
|
+
client.use(createAuthMiddleware(config.auth.tableflow));
|
|
81
|
+
return client;
|
|
82
|
+
});
|
|
69
83
|
this.confluentCloudFlinkRestClient = new Lazy(() => {
|
|
70
84
|
if (!this.confluentCloudFlinkBaseUrl) {
|
|
71
85
|
throw new Error("Confluent Cloud Flink REST endpoint not configured");
|
|
@@ -138,6 +152,10 @@ export class DefaultClientManager {
|
|
|
138
152
|
this.confluentCloudRestClient.close();
|
|
139
153
|
this.confluentCloudBaseUrl = endpoint;
|
|
140
154
|
}
|
|
155
|
+
setConfluentCloudTableflowRestEndpoint(endpoint) {
|
|
156
|
+
this.confluentCloudTableflowRestClient.close();
|
|
157
|
+
this.confluentCloudTableflowBaseUrl = endpoint;
|
|
158
|
+
}
|
|
141
159
|
setConfluentCloudFlinkEndpoint(endpoint) {
|
|
142
160
|
this.confluentCloudFlinkRestClient.close();
|
|
143
161
|
this.confluentCloudFlinkBaseUrl = endpoint;
|
|
@@ -163,6 +181,10 @@ export class DefaultClientManager {
|
|
|
163
181
|
return this.confluentCloudRestClient.get();
|
|
164
182
|
}
|
|
165
183
|
/** @inheritdoc */
|
|
184
|
+
getConfluentCloudTableflowRestClient() {
|
|
185
|
+
return this.confluentCloudTableflowRestClient.get();
|
|
186
|
+
}
|
|
187
|
+
/** @inheritdoc */
|
|
166
188
|
getConfluentCloudSchemaRegistryRestClient() {
|
|
167
189
|
return this.confluentCloudSchemaRegistryRestClient.get();
|
|
168
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-manager.js","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAGL,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,YAAwB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client-manager.js","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,aAAa,KAAG,UASzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,aAAa,KAAG,UASzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAgBxC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAc,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,eAAe,EACf,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC9E,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-environment-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/environments/read-environment-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"read-environment-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/environments/read-environment-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAM5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmB5C,qBAAa,sBAAuB,SAAQ,eAAe;IACnD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAyF1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
+
import { environmentSchema, } from "../../../../confluent/tools/handlers/environments/list-environments-handler.js";
|
|
2
3
|
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
3
4
|
import env from "../../../../env.js";
|
|
4
5
|
import { logger } from "../../../../logger.js";
|
|
5
6
|
import { wrapAsPathBasedClient } from "openapi-fetch";
|
|
6
7
|
import { z } from "zod";
|
|
7
|
-
import { environmentSchema } from "./list-environments-handler.js";
|
|
8
8
|
const readEnvironmentArguments = z.object({
|
|
9
9
|
baseUrl: z
|
|
10
10
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-environment-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/environments/read-environment-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"read-environment-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/environments/read-environment-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClientManager } from "../../../../../confluent/client-manager.js";
|
|
2
|
+
import { CallToolResult } from "../../../../../confluent/schema.js";
|
|
3
|
+
import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import { EnvVar } from "../../../../../env-schema.js";
|
|
5
|
+
export declare class CreateTableFlowCatalogIntegrationHandler extends BaseToolHandler {
|
|
6
|
+
handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
|
|
7
|
+
getToolConfig(): ToolConfig;
|
|
8
|
+
getRequiredEnvVars(): EnvVar[];
|
|
9
|
+
isConfluentCloudOnly(): boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=create-tableflow-catalog-integration-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-tableflow-catalog-integration-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAsC5C,qBAAa,wCAAyC,SAAQ,eAAe;IACrE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAkD1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { getEnsuredParam } from "../../../../../confluent/helpers.js";
|
|
2
|
+
import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { ToolName } from "../../../../../confluent/tools/tool-name.js";
|
|
4
|
+
import env from "../../../../../env.js";
|
|
5
|
+
import { wrapAsPathBasedClient } from "openapi-fetch";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
const createTableflowCatalogIntegrationArguments = z.object({
|
|
8
|
+
baseUrl: z
|
|
9
|
+
.string()
|
|
10
|
+
.trim()
|
|
11
|
+
.describe("The base url of the Tableflow REST API.")
|
|
12
|
+
.url()
|
|
13
|
+
.default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
|
|
14
|
+
.optional(),
|
|
15
|
+
tableflowCatalogIntegrationConfig: z.object({
|
|
16
|
+
// Required fields
|
|
17
|
+
display_name: z
|
|
18
|
+
.string()
|
|
19
|
+
.describe("The name of the Kafka topic for which Tableflow is enabled."),
|
|
20
|
+
config: z.object({
|
|
21
|
+
kind: z
|
|
22
|
+
.string()
|
|
23
|
+
.default("AwsGlue")
|
|
24
|
+
.describe("The type of the catalog integration."),
|
|
25
|
+
provider_integration_id: z
|
|
26
|
+
.string()
|
|
27
|
+
.describe("The provider integration id."),
|
|
28
|
+
}),
|
|
29
|
+
// Optional fields
|
|
30
|
+
suspended: z
|
|
31
|
+
.boolean()
|
|
32
|
+
.optional()
|
|
33
|
+
.default(false)
|
|
34
|
+
.describe("Indicates whether Tableflow Catalog Integration should be suspended. The API allows setting it only to false i.e resume the Catalog Integration."),
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
export class CreateTableFlowCatalogIntegrationHandler extends BaseToolHandler {
|
|
38
|
+
async handle(clientManager, toolArguments) {
|
|
39
|
+
const { baseUrl, tableflowCatalogIntegrationConfig } = createTableflowCatalogIntegrationArguments.parse(toolArguments);
|
|
40
|
+
const environment_id = getEnsuredParam("KAFKA_ENV_ID", "Environment ID is required");
|
|
41
|
+
const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required");
|
|
42
|
+
if (baseUrl !== undefined && baseUrl !== "") {
|
|
43
|
+
clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
|
|
44
|
+
}
|
|
45
|
+
const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
|
|
46
|
+
const { data: response, error } = await pathBasedClient["/tableflow/v1/catalog-integrations"].POST({
|
|
47
|
+
body: {
|
|
48
|
+
spec: {
|
|
49
|
+
environment: {
|
|
50
|
+
id: environment_id, // Only include id, as the general environment object also requires readonly and resource_name
|
|
51
|
+
},
|
|
52
|
+
kafka_cluster: {
|
|
53
|
+
id: kafka_cluster_id,
|
|
54
|
+
environment: environment_id,
|
|
55
|
+
},
|
|
56
|
+
...tableflowCatalogIntegrationConfig,
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
58
|
+
}, // Due to how OpenAPI specification is structured and how generators interpret it, we have to treat it as any, as
|
|
59
|
+
// The most likely culprit for mismatch is the reuse of a single base schema for both input (requestBody) and output (responses) evironment.
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
if (error) {
|
|
63
|
+
return this.createResponse(`Failed to create Tableflow Catalog Integration for ${tableflowCatalogIntegrationConfig.display_name}: ${JSON.stringify(error)}`, true);
|
|
64
|
+
}
|
|
65
|
+
return this.createResponse(`Tableflow Catalog Integration ${tableflowCatalogIntegrationConfig.display_name} created: ${JSON.stringify(response)}`);
|
|
66
|
+
}
|
|
67
|
+
getToolConfig() {
|
|
68
|
+
return {
|
|
69
|
+
name: ToolName.CREATE_TABLEFLOW_CATALOG_INTEGRATION,
|
|
70
|
+
description: `Make a request to create a catalog integration.`,
|
|
71
|
+
inputSchema: createTableflowCatalogIntegrationArguments.shape,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
getRequiredEnvVars() {
|
|
75
|
+
return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
|
|
76
|
+
}
|
|
77
|
+
isConfluentCloudOnly() {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=create-tableflow-catalog-integration-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-tableflow-catalog-integration-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClientManager } from "../../../../../confluent/client-manager.js";
|
|
2
|
+
import { CallToolResult } from "../../../../../confluent/schema.js";
|
|
3
|
+
import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import { EnvVar } from "../../../../../env-schema.js";
|
|
5
|
+
export declare class DeleteTableFlowCatalogIntegrationHandler extends BaseToolHandler {
|
|
6
|
+
handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
|
|
7
|
+
getToolConfig(): ToolConfig;
|
|
8
|
+
getRequiredEnvVars(): EnvVar[];
|
|
9
|
+
isConfluentCloudOnly(): boolean;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=delete-tableflow-catalog-integration-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-tableflow-catalog-integration-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA0B5C,qBAAa,wCAAyC,SAAQ,eAAe;IACrE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA8C1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
|