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 ( |
| Fields | |
|---|---|
name |
Required. The name of the cluster whose configuration to return. |
view |
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 ( |
| Fields | |
|---|---|
name |
Identifier. The name of the cluster. Structured like: projects/{project_number}/locations/{location}/clusters/{cluster_id} |
createTime |
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: |
updateTime |
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: |
labels |
Optional. Labels as key value pairs. An object containing a list of |
capacityConfig |
Required. Capacity configuration for the Kafka cluster. |
rebalanceConfig |
Optional. Rebalance configuration for the Kafka cluster. |
state |
Output only. The current state of the cluster. |
tlsConfig |
Optional. TLS configuration for the Kafka cluster. |
updateOptions |
Optional. UpdateOptions represents options that control how updates to the cluster are applied. |
kafkaVersion |
Output only. Only populated when FULL view is requested. The Kafka version of the cluster. |
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 |
Required. Configuration properties for a Kafka cluster deployed to Google Cloud Platform. |
Union field
|
|
satisfiesPzi |
Output only. Reserved for future use. |
Union field
|
|
satisfiesPzs |
Output only. Reserved for future use. |
GcpConfig
| JSON representation |
|---|
{
"accessConfig": {
object ( |
| Fields | |
|---|---|
accessConfig |
Required. Access configuration for the Kafka cluster. |
kmsKey |
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 ( |
| Fields | |
|---|---|
networkConfigs[] |
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 |
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 |
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 |
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 |
|
value |
|
CapacityConfig
| JSON representation |
|---|
{ "vcpuCount": string, "memoryBytes": string } |
| Fields | |
|---|---|
vcpuCount |
Required. The number of vCPUs to provision for the cluster. Minimum: 3. |
memoryBytes |
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 ( |
| Fields | |
|---|---|
mode |
Optional. The rebalance behavior for the cluster. When not specified, defaults to |
TlsConfig
| JSON representation |
|---|
{
"trustConfig": {
object ( |
| Fields | |
|---|---|
trustConfig |
Optional. The configuration of the broker truststore. If specified, clients can use mTLS for authentication. |
sslPrincipalMappingRules |
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 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 ( |
| Fields | |
|---|---|
casConfigs[] |
Optional. Configuration for the Google Certificate Authority Service. Maximum 10. |
CertificateAuthorityServiceConfig
| JSON representation |
|---|
{ "caPool": string } |
| Fields | |
|---|---|
caPool |
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 |
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 |
| Fields | |
|---|---|
rack |
Output only. The rack of the broker. |
Union field
|
|
brokerIndex |
Output only. The index of the broker. |
Union field
|
|
nodeId |
Output only. The node id of the broker. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌