MCP Tools Reference: managedkafka

Tool: create_topic

Create a new Google Cloud Managed Service for Apache Kafka topic.

The following sample demonstrate how to use curl to invoke the create_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": "create_topic",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Request message for CreateTopic.

CreateTopicRequest

JSON representation
{
  "parent": string,
  "topicId": string,
  "partitionCount": integer,
  "replicationFactor": integer,
  "configs": {
    string: string,
    ...
  }
}
Fields
parent

string

Required. The parent cluster in which to create the topic. Format: projects/{project}/locations/{location}/clusters/{cluster_id}

topicId

string

Required. The ID to use for the topic, which will become the final component of the topic's name.

partitionCount

integer

Required. The number of partitions this topic has.

replicationFactor

integer

Required. The number of replicas of each partition.

configs

map (key: string, value: string)

Optional. Configurations for the topic that are overridden from the cluster defaults.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ConfigsEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

Output Schema

A Kafka topic in a given cluster.

Topic

JSON representation
{
  "name": string,
  "partitionCount": integer,
  "replicationFactor": integer,
  "configs": {
    string: string,
    ...
  }
}
Fields
name

string

Identifier. The name of the topic. The topic segment is used when connecting directly to the cluster. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/topics/{topic}

partitionCount

integer

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

integer

Required. Immutable. The number of replicas of each partition. A replication factor of 3 is recommended for high availability.

configs

map (key: string, value: string)

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: cleanup.policy, compression.type.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ConfigsEntry

JSON representation
{
  "key": string,
  "value": string
}
Fields
key

string

value

string

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌