Tool: list_buckets
Use this as the primary tool to list the log buckets in a Google Cloud project. Log buckets are containers that store and organize your log data. This tool is useful for understanding how your logs are stored and for managing your logging configurations.
The following sample demonstrate how to use curl to invoke the list_buckets MCP tool.
| Curl Request |
|---|
curl --location 'https://logging.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_buckets", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
The parameters to ListBuckets.
ListBucketsRequest
| JSON representation |
|---|
{ "parent": string, "pageToken": string, "pageSize": integer } |
| Fields | |
|---|---|
parent |
Required. The parent resource whose buckets are to be listed: Note: The locations portion of the resource must be specified, but supplying the character |
pageToken |
Optional. If present, then retrieve the next batch of results from the preceding call to this method. |
pageSize |
Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of |
Output Schema
The response from ListBuckets.
ListBucketsResponse
| JSON representation |
|---|
{
"buckets": [
{
object ( |
| Fields | |
|---|---|
buckets[] |
A list of buckets. |
nextPageToken |
If there might be more results than appear in this response, then |
LogBucket
| JSON representation |
|---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "retentionDays": integer, "locked": boolean, "lifecycleState": enum ( |
| Fields | |
|---|---|
name |
Output only. The resource name of the bucket. For example:
For a list of supported locations, see Supported Regions For the location of After a bucket has been created, the location cannot be changed. |
description |
Optional. Describes this bucket. |
createTime |
Output only. The creation timestamp of the bucket. This is not set for any of the default buckets. 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 last update timestamp of the bucket. 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: |
retentionDays |
Optional. Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. |
locked |
Optional. Whether the bucket is locked. The retention period on a locked bucket cannot be changed. Locked buckets may only be deleted if they are empty. |
lifecycleState |
Output only. The bucket lifecycle state. |
analyticsEnabled |
Optional. Whether log analytics is enabled for this bucket. Once enabled, log analytics features cannot be disabled. |
restrictedFields[] |
Optional. Log entry field paths that are denied access in this bucket. The following fields and their children are eligible: Restricting a repeated field will restrict all values. Adding a parent will block all child fields. (e.g. |
indexConfigs[] |
Optional. A list of indexed fields and related configuration data. |
cmekSettings |
Optional. The CMEK settings of the log bucket. If present, new log entries written to this log bucket are encrypted using the CMEK key provided in this configuration. If a log bucket has CMEK settings, the CMEK settings cannot be disabled later by updating the log bucket. Changing the KMS key is allowed. |
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. |
IndexConfig
| JSON representation |
|---|
{
"fieldPath": string,
"type": enum ( |
| Fields | |
|---|---|
fieldPath |
Required. The LogEntry field path to index. Note that some paths are automatically indexed, and other paths are not eligible for indexing. See [indexing documentation]( https://docs.cloud.google.com/logging/docs/analyze/custom-index) for details. For example: |
type |
Required. The type of data in this index. |
createTime |
Output only. The timestamp when the index was last modified. This is used to return the timestamp, and will be ignored if supplied during update. 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: |
CmekSettings
| JSON representation |
|---|
{ "name": string, "kmsKeyName": string, "kmsKeyVersionName": string, "serviceAccountId": string } |
| Fields | |
|---|---|
name |
Output only. The resource name of the CMEK settings. |
kmsKeyName |
Optional. The resource name for the configured Cloud KMS key. KMS key name format: For example:
To enable CMEK for the Log Router, set this field to a valid The Cloud KMS key used by the Log Router can be updated by changing the To disable CMEK for the Log Router, set this field to an empty string. See Configure CMEK for Cloud Logging for more information. |
kmsKeyVersionName |
Output only. The CryptoKeyVersion resource name for the configured Cloud KMS key. KMS key name format: For example:
This is a read-only field used to convey the specific configured CryptoKeyVersion of If this field is populated, the |
serviceAccountId |
Output only. The service account that will be used by the Log Router to access your Cloud KMS key. Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use See Configure CMEK for Cloud Logging for more information. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌