Tool: update_topic
Update an existing Google Cloud Managed service for Apache Kafka topic. Please provide the Project ID, Location, Cluster ID, and Topic ID.
You can update the following fields:
- Partition Count:The number of partitions for the topic (default of 3). This can only be increased.
- Replication Factor:The number of replicas for each partition. A replication factor of 3 is recommended for high availability.
Important Notes:
- The UpdateTopic request requires the following parameters:
-
update_mask: A field mask used to specify the fields to be overwritten. For example, to update thepartition_countandreplication_factor, the mask would be"partition_count,replication_factor". A value of*will overwrite all fields. -
topic: The topic configuration, including the requiredpartition_countandreplication_factor. -
topic.name: The name of the topic to be updated in the formatprojects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}.
-
The following sample demonstrate how to use curl
to invoke the update_topic
MCP tool.
| Curl Request |
|---|
curl --location 'https://managedkafka.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_topic", "arguments": { // provide these details according to the tool' s MCP specification } } , "jsonrpc" : "2.0" , "id" : 1 } ' |
Input Schema
Request for UpdateTopic.
UpdateTopicRequest
| JSON representation |
|---|
{
"updateMask"
:
string
,
"topic"
:
{
object (
|
| Fields | |
|---|---|
updateMask
|
Required. Field mask is used to specify the fields to be overwritten in the Topic resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. The mask is required and a value of * will update all fields. This is a comma-separated list of fully qualified names of fields. Example: |
topic
|
Required. The topic to update. Its |
FieldMask
| JSON representation |
|---|
{ "paths" : [ string ] } |
| Fields | |
|---|---|
paths[]
|
The set of field mask paths. |
Topic
| JSON representation |
|---|
{ "name" : string , "partitionCount" : integer , "replicationFactor" : integer , "configs" : { string : string , ... } } |
| Fields | |
|---|---|
name
|
Identifier. The name of the topic. The |
partitionCount
|
Required. The number of partitions this topic has. The partition count can only be increased, not decreased. Please note that if partitions are increased for a topic that has a key, the partitioning logic or the ordering of the messages will be affected. |
replicationFactor
|
Required. Immutable. The number of replicas of each partition. A replication factor of 3 is recommended for high availability. |
configs
|
Optional. Configurations for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: An object containing a list of |
ConfigsEntry
| JSON representation |
|---|
{ "key" : string , "value" : string } |
| Fields | |
|---|---|
key
|
|
value
|
|
Output Schema
A Kafka topic in a given cluster.
Topic
| JSON representation |
|---|
{ "name" : string , "partitionCount" : integer , "replicationFactor" : integer , "configs" : { string : string , ... } } |
| Fields | |
|---|---|
name
|
Identifier. The name of the topic. The |
partitionCount
|
Required. The number of partitions this topic has. The partition count can only be increased, not decreased. Please note that if partitions are increased for a topic that has a key, the partitioning logic or the ordering of the messages will be affected. |
replicationFactor
|
Required. Immutable. The number of replicas of each partition. A replication factor of 3 is recommended for high availability. |
configs
|
Optional. Configurations for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: An object containing a list of |
ConfigsEntry
| JSON representation |
|---|
{ "key" : string , "value" : string } |
| Fields | |
|---|---|
key
|
|
value
|
|
Tool Annotations
Destructive Hint: ✅ | Idempotent Hint: ✅ | Read Only Hint: ❌ | Open World Hint: ❌

