MCP Tools Reference: managedkafka

Tool: get_cluster

Get the details of an existing Google Cloud Managed Service for Apache Kafka cluster. Please provide the Project ID, Location, and Cluster ID.

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

Input Schema

Request for GetCluster.

GetClusterRequest

JSON representation
{
  "name": string,
  "view": enum (ClusterView)
}
Fields
name

string

Required. The name of the cluster whose configuration to return.

view

enum (ClusterView)

Optional. Specifies the view of the Cluster resource to be returned. Defaults to CLUSTER_VIEW_BASIC. See the ClusterView enum for possible values.

Output Schema

An Apache Kafka cluster deployed in a location.

Cluster

JSON representation
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "capacityConfig": {
    object (CapacityConfig)
  },
  "rebalanceConfig": {
    object (RebalanceConfig)
  },
  "state": enum (State),
  "tlsConfig": {
    object (TlsConfig)
  },
  "updateOptions": {
    object (UpdateOptions)
  },
  "kafkaVersion": string,
  "brokerDetails": [
    {
      object (BrokerDetails)
    }
  ],

  // Union field platform_config can be only one of the following:
  "gcpConfig": {
    object (GcpConfig)
  }
  // End of list of possible types for union field platform_config.

  // Union field _satisfies_pzi can be only one of the following:
  "satisfiesPzi": boolean
  // End of list of possible types for union field _satisfies_pzi.

  // Union field _satisfies_pzs can be only one of the following:
  "satisfiesPzs": boolean
  // End of list of possible types for union field _satisfies_pzs.
}
Fields
name

string

Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id}

createTime

string (Timestamp format)

Output only. The time when the cluster was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The time when the cluster was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Optional. Labels as key value pairs.

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

capacityConfig

object (CapacityConfig)

Required. Capacity configuration for the Kafka cluster.

rebalanceConfig

object (RebalanceConfig)

Optional. Rebalance configuration for the Kafka cluster.

state

enum (State)

Output only. The current state of the cluster.

tlsConfig

object (TlsConfig)

Optional. TLS configuration for the Kafka cluster.

updateOptions

object (UpdateOptions)

Optional. UpdateOptions represents options that control how updates to the cluster are applied.

kafkaVersion

string

Output only. Only populated when FULL view is requested. The Kafka version of the cluster.

brokerDetails[]

object (BrokerDetails)

Output only. Only populated when FULL view is requested. Details of each broker in the cluster.

Union field platform_config. Platform specific configuration properties for a Kafka cluster. platform_config can be only one of the following:
gcpConfig

object (GcpConfig)

Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform.

Union field _satisfies_pzi.

_satisfies_pzi can be only one of the following:

satisfiesPzi

boolean

Output only. Reserved for future use.

Union field _satisfies_pzs.

_satisfies_pzs can be only one of the following:

satisfiesPzs

boolean

Output only. Reserved for future use.

GcpConfig

JSON representation
{
  "accessConfig": {
    object (AccessConfig)
  },
  "kmsKey": string
}
Fields
accessConfig

object (AccessConfig)

Required. Access configuration for the Kafka cluster.

kmsKey

string

Optional. Immutable. The Cloud KMS Key name to use for encryption. The key must be located in the same region as the cluster and cannot be changed. Structured like: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

AccessConfig

JSON representation
{
  "networkConfigs": [
    {
      object (NetworkConfig)
    }
  ]
}
Fields
networkConfigs[]

object (NetworkConfig)

Required. Virtual Private Cloud (VPC) networks that must be granted direct access to the Kafka cluster. Minimum of 1 network is required. Maximum 10 networks can be specified.

NetworkConfig

JSON representation
{
  "subnet": string
}
Fields
subnet

string

Required. Name of the VPC subnet in which to create Private Service Connect (PSC) endpoints for the Kafka brokers and bootstrap address. Structured like: projects/{project}/regions/{region}/subnetworks/{subnet_id}

The subnet must be located in the same region as the Kafka cluster. The project may differ. Multiple subnets from the same parent network must not be specified.

Timestamp

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).

nanos

integer

Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive.

LabelsEntry

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

string

value

string

CapacityConfig

JSON representation
{
  "vcpuCount": string,
  "memoryBytes": string
}
Fields
vcpuCount

string (int64 format)

Required. The number of vCPUs to provision for the cluster. Minimum: 3.

memoryBytes

string (int64 format)

Required. The memory to provision for the cluster in bytes. The CPU:memory ratio (vCPU:GiB) must be between 1:1 and 1:8. Minimum: 3221225472 (3 GiB).

RebalanceConfig

JSON representation
{
  "mode": enum (Mode)
}
Fields
mode

enum (Mode)

Optional. The rebalance behavior for the cluster. When not specified, defaults to NO_REBALANCE.

TlsConfig

JSON representation
{
  "trustConfig": {
    object (TrustConfig)
  },
  "sslPrincipalMappingRules": string
}
Fields
trustConfig

object (TrustConfig)

Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication.

sslPrincipalMappingRules

string

Optional. A list of rules for mapping from SSL principal names to short names. These are applied in order by Kafka. Refer to the Apache Kafka documentation for ssl.principal.mapping.rules for the precise formatting details and syntax. Example: "RULE:^CN=(.*?),OU=ServiceUsers.*$/$1@example.com/,DEFAULT"

This is a static Kafka broker configuration. Setting or modifying this field will trigger a rolling restart of the Kafka brokers to apply the change. An empty string means no rules are applied (Kafka default).

TrustConfig

JSON representation
{
  "casConfigs": [
    {
      object (CertificateAuthorityServiceConfig)
    }
  ]
}
Fields
casConfigs[]

object (CertificateAuthorityServiceConfig)

Optional. Configuration for the Google Certificate Authority Service. Maximum 10.

CertificateAuthorityServiceConfig

JSON representation
{
  "caPool": string
}
Fields
caPool

string

Required. The name of the CA pool to pull CA certificates from. Structured like: projects/{project}/locations/{location}/caPools/{ca_pool}. The CA pool does not need to be in the same project or location as the Kafka cluster.

UpdateOptions

JSON representation
{
  "allowBrokerDownscaleOnClusterUpscale": boolean
}
Fields
allowBrokerDownscaleOnClusterUpscale

boolean

Optional. If true, allows an update operation that increases the total vCPU and/or memory allocation of the cluster to significantly decrease the per-broker vCPU and/or memory allocation. This can result in reduced performance and availability. By default, the update operation will fail if an upscale request results in a vCPU or memory allocation for the brokers that is smaller than 90% of the current broker size.

BrokerDetails

JSON representation
{
  "rack": string,

  // Union field _broker_index can be only one of the following:
  "brokerIndex": string
  // End of list of possible types for union field _broker_index.

  // Union field _node_id can be only one of the following:
  "nodeId": string
  // End of list of possible types for union field _node_id.
}
Fields
rack

string

Output only. The rack of the broker.

Union field _broker_index.

_broker_index can be only one of the following:

brokerIndex

string (int64 format)

Output only. The index of the broker.

Union field _node_id.

_node_id can be only one of the following:

nodeId

string (int64 format)

Output only. The node id of the broker.

Tool Annotations

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