Tool: list_clusters
Lists all clusters for Google Cloud Managed service for Apache Kafka in a given project and location. Please provide the Project ID and Location.
The following sample demonstrate how to use curl to invoke the list_clusters 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": "list_clusters", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request for ListClusters.
ListClustersRequest
| JSON representation |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Fields | |
|---|---|
parent |
Required. The parent location whose clusters are to be listed. Structured like |
pageSize |
Optional. The maximum number of clusters to return. The service may return fewer than this value. If unspecified, server will pick an appropriate default. |
pageToken |
Optional. A page token, received from a previous When paginating, all other parameters provided to |
filter |
Optional. Filter expression for the result. |
orderBy |
Optional. Order by fields for the result. |
Output Schema
Response for ListClusters.
ListClustersResponse
| JSON representation |
|---|
{
"clusters": [
{
object ( |
| Fields | |
|---|---|
clusters[] |
The list of Clusters in the requested parent. |
nextPageToken |
A token that can be sent as |
unreachable[] |
Locations that could not be reached. |
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: ❌