Skip to content

Commit fd2730e

Browse files
committed
adding tableflow topic and catalog integrations tools + fix for error logging
1 parent b5aa4ea commit fd2730e

17 files changed

+1382
-3
lines changed

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,17 @@ npx @confluentinc/mcp-confluent -e .env --allow-tools produce-message,consume-me
339339
{"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"}
340340
{"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"}
341341
{"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"}
342+
{"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"}
343+
{"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"}
344+
{"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"}
345+
{"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"}
346+
{"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"}
347+
{"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"}
348+
{"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"}
349+
{"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"}
350+
{"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"}
351+
{"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"}
352+
{"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"}
342353
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio on localhost:3000"}
343354
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
344355
{"level":"info","time":"2025-05-14T16:52:34.924Z","pid":46818,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
@@ -382,6 +393,17 @@ npx @confluentinc/mcp-confluent -e .env --block-tools produce-message,consume-me
382393
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-environment enabled"}
383394
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-schemas enabled"}
384395
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool get-topic-config enabled"}
396+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-topic enabled"}
397+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-regions enabled"}
398+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-topics enabled"}
399+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-topic enabled"}
400+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-topic enabled"}
401+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-topic enabled"}
402+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-catalog-integration enabled"}
403+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-catalog-integrations enabled"}
404+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-catalog-integration enabled"}
405+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-catalog-integration enabled"}
406+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-catalog-integration enabled"}
385407
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio"}
386408
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
387409
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
@@ -425,6 +447,17 @@ npx -y @confluentinc/mcp-confluent -e .env --allow-tools-file allow.txt --block-
425447
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-environment enabled"}
426448
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-schemas enabled"}
427449
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool get-topic-config enabled"}
450+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-topic enabled"}
451+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-regions enabled"}
452+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-topics enabled"}
453+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-topic enabled"}
454+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-topic enabled"}
455+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-topic enabled"}
456+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool create-tableflow-catalog-integration enabled"}
457+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool list-tableflow-catalog-integrations enabled"}
458+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool read-tableflow-catalog-integration enabled"}
459+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool update-tableflow-catalog-integration enabled"}
460+
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Tool delete-tableflow-catalog-integration enabled"}
428461
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"Starting transports: stdio"}
429462
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"STDIO transport connected"}
430463
{"level":"info","time":"2025-05-14T16:55:45.911Z","pid":47344,"hostname":"G9PW1FJH64","name":"mcp-confluent","msg":"All transports started successfully"}
@@ -468,6 +501,18 @@ read-flink-statement: Make a request to read a statement and its results
468501
remove-tag-from-entity: Remove tag from an entity in Confluent Cloud.
469502
search-topics-by-name: List all topics in the Kafka cluster matching the specified name.
470503
search-topics-by-tag: List all topics in the Kafka cluster with the specified tag.
504+
create-tableflow-topic: Make a request to create a tableflow topic.
505+
create-tableflow-topic: Make a request to create a tableflow topic.
506+
list-tableflow-regions: Retrieve a sorted, filtered, paginated list of all tableflow regions.
507+
list-tableflow-topics: Retrieve a sorted, filtered, paginated list of all tableflow topics.
508+
read-tableflow-topic: Make a request to read a tableflow topic.
509+
update-tableflow-topic: Make a request to update a tableflow topic.
510+
delete-tableflow-topic: Make a request to delete a tableflow topic.
511+
create-tableflow-catalog-integration: Make a request to create a catalog integration.
512+
list-tableflow-catalog-integrations: Retrieve a sorted, filtered, paginated list of all catalog integrations.
513+
read-tableflow-catalog-integration: Make a request to read a catalog integration.
514+
update-tableflow-catalog-integration: Make a request to update a catalog integration.
515+
delete-tableflow-catalog-integration: Make a request to delete a tableflow catalog integration.
471516
```
472517
473518
</details>

openapi.json

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59137,6 +59137,8 @@
5913759137
"is_simple",
5913859138
"partition_assignor",
5913959139
"state",
59140+
"type",
59141+
"is_mixed_consumer_group",
5914059142
"coordinator",
5914159143
"consumers",
5914259144
"lag_summary"
@@ -59157,10 +59159,16 @@
5915759159
"state": {
5915859160
"$ref": "#/components/schemas/ConsumerGroupState"
5915959161
},
59162+
"type": {
59163+
"$ref": "#/components/schemas/ConsumerGroupType"
59164+
},
59165+
"is_mixed_consumer_group": {
59166+
"type": "boolean"
59167+
},
5916059168
"coordinator": {
5916159169
"$ref": "#/components/schemas/Relationship"
5916259170
},
59163-
"consumer": {
59171+
"consumers": {
5916459172
"$ref": "#/components/schemas/Relationship"
5916559173
},
5916659174
"lag_summary": {
@@ -59195,11 +59203,17 @@
5919559203
"UNKNOWN",
5919659204
"PREPARING_REBALANCE",
5919759205
"COMPLETING_REBALANCE",
59206+
"ASSIGNING",
59207+
"RECONCILING",
5919859208
"STABLE",
5919959209
"DEAD",
5920059210
"EMPTY"
5920159211
]
5920259212
},
59213+
"ConsumerGroupType": {
59214+
"type": "string",
59215+
"x-extensible-enum": ["UNKNOWN", "CLASSIC", "CONSUMER", "SHARE"]
59216+
},
5920359217
"ConsumerLagData": {
5920459218
"allOf": [
5920559219
{
@@ -60409,6 +60423,30 @@
6040960423
}
6041060424
}
6041160425
},
60426+
"LinkCategory": {
60427+
"type": "object",
60428+
"required": ["state_category", "count"],
60429+
"properties": {
60430+
"state_category": {
60431+
"$ref": "#/components/schemas/StateCategory"
60432+
},
60433+
"count": {
60434+
"type": "integer",
60435+
"format": "int32",
60436+
"example": 123
60437+
}
60438+
}
60439+
},
60440+
"StateCategory": {
60441+
"type": "string",
60442+
"x-extensible-enum": [
60443+
"PAUSED",
60444+
"IN_ERROR",
60445+
"PENDING",
60446+
"ACTIVE",
60447+
"NOT_APPLICABLE"
60448+
]
60449+
},
6041260450
"LinkTaskError": {
6041360451
"type": "object",
6041460452
"required": ["error_code", "error_message"],
@@ -60514,6 +60552,13 @@
6051460552
"items": {
6051560553
"$ref": "#/components/schemas/LinkTask"
6051660554
}
60555+
},
60556+
"category_counts": {
60557+
"nullable": true,
60558+
"type": "array",
60559+
"items": {
60560+
"$ref": "#/components/schemas/LinkCategory"
60561+
}
6051760562
}
6051860563
}
6051960564
}
@@ -77078,6 +77123,8 @@
7707877123
"is_simple": false,
7707977124
"partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
7708077125
"state": "STABLE",
77126+
"type": "CLASSIC",
77127+
"is_mixed_consumer_group": false,
7708177128
"coordinator": {
7708277129
"related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1"
7708377130
},
@@ -77749,6 +77796,8 @@
7774977796
"is_simple": false,
7775077797
"partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
7775177798
"state": "STABLE",
77799+
"type": "CLASSIC",
77800+
"is_mixed_consumer_group": false,
7775277801
"coordinator": {
7775377802
"related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1"
7775477803
},
@@ -77770,6 +77819,8 @@
7777077819
"is_simple": false,
7777177820
"partition_assignor": "org.apache.kafka.clients.consumer.StickyAssignor",
7777277821
"state": "PREPARING_REBALANCE",
77822+
"type": "CLASSIC",
77823+
"is_mixed_consumer_group": false,
7777377824
"coordinator": {
7777477825
"related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2"
7777577826
},
@@ -77791,6 +77842,8 @@
7779177842
"is_simple": false,
7779277843
"partition_assignor": "org.apache.kafka.clients.consumer.RangeAssignor",
7779377844
"state": "DEAD",
77845+
"type": "CLASSIC",
77846+
"is_mixed_consumer_group": false,
7779477847
"coordinator": {
7779577848
"related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3"
7779677849
},

src/confluent/openapi-schema.d.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9330,14 +9330,17 @@ export interface components {
93309330
is_simple: boolean;
93319331
partition_assignor: string;
93329332
state: components["schemas"]["ConsumerGroupState"];
9333+
type: components["schemas"]["ConsumerGroupType"];
9334+
is_mixed_consumer_group: boolean;
93339335
coordinator: components["schemas"]["Relationship"];
9334-
consumer?: components["schemas"]["Relationship"];
9336+
consumers: components["schemas"]["Relationship"];
93359337
lag_summary: components["schemas"]["Relationship"];
93369338
};
93379339
ConsumerGroupDataList: components["schemas"]["ResourceCollection"] & {
93389340
data: components["schemas"]["ConsumerGroupData"][];
93399341
};
93409342
ConsumerGroupState: string;
9343+
ConsumerGroupType: string;
93419344
ConsumerLagData: components["schemas"]["Resource"] & {
93429345
cluster_id: string;
93439346
consumer_group_id: string;
@@ -9647,6 +9650,15 @@ export interface components {
96479650
state: components["schemas"]["LinkTaskState"];
96489651
errors: components["schemas"]["LinkTaskError"][];
96499652
};
9653+
LinkCategory: {
9654+
state_category: components["schemas"]["StateCategory"];
9655+
/**
9656+
* Format: int32
9657+
* @example 123
9658+
*/
9659+
count: number;
9660+
};
9661+
StateCategory: string;
96509662
LinkTaskError: {
96519663
error_code: string;
96529664
error_message: string;
@@ -9666,6 +9678,7 @@ export interface components {
96669678
link_error_message?: string | null;
96679679
link_state?: components["schemas"]["LinkState"];
96689680
tasks?: components["schemas"]["LinkTask"][] | null;
9681+
category_counts?: components["schemas"]["LinkCategory"][] | null;
96699682
};
96709683
ListLinksResponseDataList: components["schemas"]["ResourceCollection"] & {
96719684
data: components["schemas"]["ListLinksResponseData"][];
@@ -20351,6 +20364,8 @@ export interface components {
2035120364
* "is_simple": false,
2035220365
* "partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
2035320366
* "state": "STABLE",
20367+
* "type": "CLASSIC",
20368+
* "is_mixed_consumer_group": false,
2035420369
* "coordinator": {
2035520370
* "related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1"
2035620371
* },
@@ -21027,6 +21042,8 @@ export interface components {
2102721042
* "is_simple": false,
2102821043
* "partition_assignor": "org.apache.kafka.clients.consumer.RoundRobinAssignor",
2102921044
* "state": "STABLE",
21045+
* "type": "CLASSIC",
21046+
* "is_mixed_consumer_group": false,
2103021047
* "coordinator": {
2103121048
* "related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1"
2103221049
* },
@@ -21048,6 +21065,8 @@ export interface components {
2104821065
* "is_simple": false,
2104921066
* "partition_assignor": "org.apache.kafka.clients.consumer.StickyAssignor",
2105021067
* "state": "PREPARING_REBALANCE",
21068+
* "type": "CLASSIC",
21069+
* "is_mixed_consumer_group": false,
2105121070
* "coordinator": {
2105221071
* "related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2"
2105321072
* },
@@ -21069,6 +21088,8 @@ export interface components {
2106921088
* "is_simple": false,
2107021089
* "partition_assignor": "org.apache.kafka.clients.consumer.RangeAssignor",
2107121090
* "state": "DEAD",
21091+
* "type": "CLASSIC",
21092+
* "is_mixed_consumer_group": false,
2107221093
* "coordinator": {
2107321094
* "related": "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3"
2107421095
* },

0 commit comments

Comments
 (0)