← The evidence ledger
Evidence row 748027
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint c2dacf2e-7df7-4089-b7be-286084499998
- Recorded
- Previous row
- #523397
- Body SHA-256
- 7bac8c7667b6916931404c0f1ebdcd9b8e73662b6dbeb01075d6aad131b8dda9
- Leaf
- 0x9a1529a733cde99fa689f72e9386678fe61acf2fcddc6515304d9e34161f64a0
What was observed
{
"count": 23,
"tools": [
{
"description": "Applies a Kubernetes manifest to a cluster using server-side apply. This is similar to running `kubectl apply --server-side`.",
"inputSchema": {
"description": "KubeApplyRequest is the request message for applying Kubernetes manifests.",
"properties": {
"dryRun": {
"description": "Optional. If true, run in dry-run mode.",
"type": "boolean"
},
"forceConflicts": {
"description": "Optional. If true, force conflicts resolution when applying.",
"type": "boolean"
},
"parent": {
"description": "Required. The cluster to apply the manifest to. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"yamlManifest": {
"description": "Required. The YAML manifest to apply.",
"type": "string"
}
},
"required": [
"parent",
"yamlManifest"
],
"type": "object"
},
"name": "apply_k8s_manifest"
},
{
"description": "Cancels a specific GKE operation.",
"inputSchema": {
"description": "MCPCancelOperationRequest cancels an operation.",
"properties": {
"name": {
"description": "Required. The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
"type": "string"
},
"parent": {
"description": "Required. The parent cluster of the operation. Specified in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
}
},
"required": [
"name",
"parent"
],
"type": "object"
},
"name": "cancel_operation"
},
{
"description": "Checks whether an action is allowed on a Kubernetes resource. This is similar to running `kubectl auth can-i`.",
"inputSchema": {
"description": "Request for checking authorization for a Kubernetes resource.",
"properties": {
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, \"default\" is used for namespace-scoped resources.",
"type": "string"
},
"parent": {
"description": "Required. The cluster to check authorization against. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"resource": {
"description": "Optional. The name of the resource to check.",
"type": "string"
},
"resourceType": {
"description": "Required. The type of resource to check. e.g. \"pods\", \"deployments\", \"services\".",
"type": "string"
},
"verb": {
"description": "Required. The verb to check. e.g. \"get\", \"list\", \"watch\", \"create\", \"update\", \"patch\", \"delete\".",
"type": "string"
}
},
"required": [
"parent",
"verb",
"resourceType"
],
"type": "object"
},
"name": "check_k8s_auth"
},
{
"description": "Creates a new GKE cluster in a given project and location. It's recommended to read the [GKE documentation](https://docs.cloud.google.com/kubernetes-engine/docs/concepts/configuration-overview) to understand cluster configuration options. Cluster creation will default to Autopilot mode, as recommended by GKE best practices. If the user explicitly wants to create a Standard cluster, you need to set autopilot.enabled=false in the cluster configuration. This is similar to running `gcloud container clusters create-auto` or `gcloud container clusters create`.\n",
"inputSchema": {
"description": "MCPCreateClusterRequest creates a new cluster.",
"properties": {
"cluster": {
"description": "Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) represented as a string using JSON format.",
"type": "string"
},
"parent": {
"description": "Required. The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
"type": "string"
}
},
"required": [
"parent",
"cluster"
],
"type": "object"
},
"name": "create_cluster"
},
{
"description": "Creates a node pool for a specific GKE cluster.",
"inputSchema": {
"description": "MCPCreateNodePoolRequest creates a node pool for a cluster.",
"properties": {
"nodePool": {
"description": "Required. The node pool to create represented as a string using JSON format. The full node pool object can be found at https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools",
"type": "string"
},
"parent": {
"description": "Required. The parent (project, location, cluster name) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
}
},
"required": [
"parent",
"nodePool"
],
"type": "object"
},
"name": "create_node_pool"
},
{
"description": "Deletes a Kubernetes resource from a cluster. This is similar to running `kubectl delete`.",
"inputSchema": {
"description": "Request for deleting Kubernetes resources.",
"properties": {
"cascade": {
"description": "Optional. The cascading deletion policy to use. If not specified, 'background' is used. Valid values are 'background', 'foreground', and 'orphan'.",
"type": "string"
},
"dryRun": {
"description": "Optional. If true, run in dry-run mode.",
"type": "boolean"
},
"name": {
"description": "Required. The name of the resource to delete.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, \"default\" is used.",
"type": "string"
},
"parent": {
"description": "Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"resourceType": {
"description": "Required. The type of resource to delete. Kubernetes resource/kind name in singular form, lower case. e.g. \"pod\", \"deployment\", \"service\".",
"type": "string"
}
},
"required": [
"parent",
"resourceType",
"name"
],
"type": "object"
},
"name": "delete_k8s_resource"
},
{
"description": "Shows the details of a specific Kubernetes resource. This is similar to running `kubectl describe`.",
"inputSchema": {
"description": "Request message for KubeDescribe.",
"properties": {
"labelSelector": {
"description": "Optional. A label selector to filter resources.",
"type": "string"
},
"name": {
"description": "Optional. The name of the resource.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource.",
"type": "string"
},
"parent": {
"description": "Required. The parent cluster.",
"type": "string"
},
"resourceType": {
"description": "Required. The type of the resource.",
"type": "string"
}
},
"required": [
"parent",
"resourceType"
],
"type": "object"
},
"name": "describe_k8s_resource"
},
{
"description": "Gets the details of a specific GKE cluster.",
"inputSchema": {
"description": "MCPGetClusterRequest gets the settings of a cluster.",
"properties": {
"name": {
"description": "Required. The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
},
"readMask": {
"description": "Optional. The field mask to specify the fields to be returned in the response. Use a single \"*\" to get all fields. Default: autopilot,createTime,currentMasterVersion,currentNodeCount,currentNodeVersion,description,endpoint,fleet,location,name,network,nodePools.locations,nodePools.name,nodePools.status,nodePools.version,releaseChannel,resourceLabels,selfLink,status,statusMessage,subnetwork.",
"format": "google-fieldmask",
"pattern": "^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_cluster"
},
{
"description": "Gets cluster endpoint information. This is similar to running `kubectl cluster-info`.",
"inputSchema": {
"description": "Request message for KubeClusterInfo.",
"properties": {
"parent": {
"description": "Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "get_k8s_cluster_info"
},
{
"description": "Gets logs from a Kubernetes container in a pod. This is similar to running `kubectl logs`.",
"inputSchema": {
"description": "KubeLogsRequest is the request message for retrieving Kubernetes logs.",
"properties": {
"allContainers": {
"description": "Optional. If true, retrieve logs from all containers in the pod.",
"type": "boolean"
},
"container": {
"description": "Optional. The name of the container to retrieve logs from. If not specified, logs from the first container are returned.",
"type": "string"
},
"name": {
"description": "Required. The name of the resource to retrieve logs from. This can be a pod name (e.g. \"my-pod\") or a type/name (e.g. \"deployment/my-deployment\"). If a type is not specified, \"pod\" is assumed.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, \"default\" is used.",
"type": "string"
},
"parent": {
"description": "Required. The cluster to retrieve logs from. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"previous": {
"description": "Optional. If true, retrieve logs from the previous instantiation of the container.",
"type": "boolean"
},
"since": {
"description": "Optional. Retrieve logs since this duration ago (e.g. \"1h\", \"10m\"). Only one of this field or sinceTime should be set.",
"format": "google-duration",
"type": "string"
},
"sinceTime": {
"description": "Optional. Retrieve logs since this time (RFC3339). e.g. \"2024-08-30T06:00:00Z\". Only one of this field or since should be set.",
"format": "date-time",
"type": "string"
},
"tail": {
"description": "Optional. The number of lines from the end of the logs to show.",
"format": "int64",
"type": "string"
},
"timestamps": {
"description": "Optional. If true, include timestamps in the log output.",
"type": "boolean"
}
},
"required": [
"parent",
"name"
],
"type": "object"
},
"name": "get_k8s_logs"
},
{
"description": "Gets one or more Kubernetes resources from a cluster. Resources can be filtered by type, name, namespace, and label selectors. Returns the resources in YAML format. This is similar to running `kubectl get`.",
"inputSchema": {
"description": "Request for retrieving Kubernetes resources.",
"properties": {
"customColumns": {
"description": "Optional. Custom columns to display in table output. Accepts either kubectl custom-columns format (e.g., \"NAME:.metadata.name,IMAGE:.spec.containers[*].image\") or comma-separated field names (e.g., \"metadata.name,spec.replicas\"). When both custom_columns and output_format are specified, output_format is ignored.",
"type": "string"
},
"fieldSelector": {
"description": "Optional. A field selector to filter resources.",
"type": "string"
},
"labelSelector": {
"description": "Optional. A label selector to filter resources.",
"type": "string"
},
"name": {
"description": "Optional. The name of the resource to retrieve. If not specified, all resources of the given type are returned.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, all namespaces are searched.",
"type": "string"
},
"outputFormat": {
"description": "Optional. The output format. One of: (table, wide, yaml, json). If not specified, defaults to table. When both custom_columns and output_format are specified, output_format is ignored.",
"enum": [
"OUTPUT_FORMAT_UNSPECIFIED",
"TABLE",
"WIDE",
"YAML",
"JSON"
],
"type": "string",
"x-google-enum-descriptions": [
"If not specified, defaults to table.",
"Output in table format.",
"Output in wide table format.",
"Output in yaml format.",
"Output in json format."
]
},
"pageSize": {
"description": "Optional. The maximum number of resources to return. If not specified, 500 is used. The maximum value is 1000; values above 1000 will be coerced to 1000.",
"format": "int32",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous `GetK8SResource` call. Provide this to retrieve the subsequent page of resources when listing resources. Cannot be used when `name` is specified.",
"type": "string"
},
"parent": {
"description": "Required. The cluster, which owns this collection of resources. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"resourceType": {
"description": "Required. The type of resource to retrieve. Kubernetes resource/kind name in singular form, lower case. e.g. \"pod\", \"deployment\", \"service\".",
"type": "string"
}
},
"required": [
"parent",
"resourceType"
],
"type": "object"
},
"name": "get_k8s_resource"
},
{
"description": "Checks the current rollout status of a Kubernetes resource. This is similar to running `kubectl rollout status`.",
"inputSchema": {
"description": "Request for checking rollout status of a Kubernetes resource.",
"properties": {
"name": {
"description": "Required. The name of the resource to check.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, \"default\" is used for namespace-scoped resources.",
"type": "string"
},
"parent": {
"description": "Required. The cluster to check rollout status in. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"resourceType": {
"description": "Required. The type of resource to check. e.g. \"deployment\", \"daemonset\", \"statefulset\".",
"type": "string"
}
},
"required": [
"parent",
"resourceType",
"name"
],
"type": "object"
},
"name": "get_k8s_rollout_status"
},
{
"description": "Retrieves Kubernetes client and server versions for a given cluster. This is similar to running `kubectl version`.",
"inputSchema": {
"description": "KubeVersionRequest is the request message for retrieving Kubernetes server versions.",
"properties": {
"parent": {
"description": "Required. The cluster to get version information from, in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "get_k8s_version"
},
{
"description": "Gets the details of a specific node pool within a GKE cluster.",
"inputSchema": {
"description": "MCPGetNodePoolRequest retrieves a node pool for a cluster.",
"properties": {
"name": {
"description": "Required. The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_node_pool"
},
{
"description": "Gets the details of a specific GKE operation.",
"inputSchema": {
"description": "MCPGetOperationRequest gets a single operation.",
"properties": {
"name": {
"description": "Required. The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_operation"
},
{
"description": "Lists GKE clusters in a given project and location. Location can be a region, zone, or '-' for all locations.",
"inputSchema": {
"description": "MCPListClustersRequest lists clusters.",
"properties": {
"parent": {
"description": "Required. The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
"type": "string"
},
"readMask": {
"description": "Optional. The field mask to specify the fields to be returned in the response. Use a single \"*\" to get all fields. Default: clusters.autopilot,clusters.createTime,clusters.currentMasterVersion,clusters.currentNodeCount,clusters.currentNodeVersion,clusters.description,clusters.endpoint,clusters.fleet,clusters.location,clusters.name,clusters.network,clusters.nodePools.name,clusters.releaseChannel,clusters.resourceLabels,clusters.selfLink,clusters.status,clusters.statusMessage,clusters.subnetwork,missingZones.",
"format": "google-fieldmask",
"pattern": "^(\\s*[^,\\s.]+(\\s*[,.]\\s*[^,\\s.]+)*)?$",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "list_clusters"
},
{
"description": "Retrieves the available API groups and resources from a Kubernetes cluster. This is similar to running `kubectl api-resources`.",
"inputSchema": {
"description": "Request for retrieving Kubernetes API resources.",
"properties": {
"parent": {
"description": "Required. The cluster, which owns this collection of resource types. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "list_k8s_api_resources"
},
{
"description": "Retrieves events from a Kubernetes cluster. This is similar to running `kubectl events`.",
"inputSchema": {
"description": "Request message for KubeEvents.",
"properties": {
"allNamespaces": {
"description": "Optional. If true, retrieve events from all namespaces.",
"type": "boolean"
},
"limit": {
"description": "Optional. The maximum number of events to return. If not specified, 500 is used.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Optional. The name of the resource to retrieve events for.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified and all_namespaces is false, \"default\" is used.",
"type": "string"
},
"parent": {
"description": "Required. The parent cluster. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"resourceType": {
"description": "Optional. The type of the resource to retrieve events for.",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "list_k8s_events"
},
{
"description": "Lists the node pools for a specific GKE cluster.",
"inputSchema": {
"description": "MCPListNodePoolsRequest lists the node pool(s) for a cluster.",
"properties": {
"parent": {
"description": "Required. The parent (project, location, cluster name) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "list_node_pools"
},
{
"description": "Lists GKE operations in a given project and location. Location can be a region, zone, or '-' for all locations.",
"inputSchema": {
"description": "MCPListOperationsRequest lists operations.",
"properties": {
"parent": {
"description": "Required. The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
"type": "string"
}
},
"required": [
"parent"
],
"type": "object"
},
"name": "list_operations"
},
{
"description": "Patches a Kubernetes resource. This is similar to running `kubectl patch`.",
"inputSchema": {
"description": "Request for patching a Kubernetes resource.",
"properties": {
"name": {
"description": "Required. The name of the resource to patch.",
"type": "string"
},
"namespace": {
"description": "Optional. The namespace of the resource. If not specified, \"default\" is used.",
"type": "string"
},
"parent": {
"description": "Required. The cluster to patch the resource in. Format: projects/{project}/locations/{location}/clusters/{cluster}",
"type": "string"
},
"patch": {
"description": "Required. The patch to apply in JSON format.",
"type": "string"
},
"patchType": {
"description": "Optional. The patch strategy to apply. Valid values are \"strategic\", \"merge\", or \"json\". If not specified, \"strategic\" patch type will be used.",
"type": "string"
},
"resourceType": {
"description": "Required. The type of resource to patch. e.g. \"pods\", \"deployments\", \"services\".",
"type": "string"
}
},
"required": [
"parent",
"resourceType",
"name",
"patch"
],
"type": "object"
},
"name": "patch_k8s_resource"
},
{
"description": "Updates a specific GKE cluster.",
"inputSchema": {
"description": "MCPUpdateClusterRequest updates a cluster.",
"properties": {
"name": {
"description": "Required. The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
"type": "string"
},
"update": {
"description": "Required. A description of the update represented as a string using JSON format. The full update request object can be found at https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters/update https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/ClusterUpdate",
"type": "string"
}
},
"required": [
"name",
"update"
],
"type": "object"
},
"name": "update_cluster"
},
{
"description": "Updates a specific node pool within a GKE cluster.",
"inputSchema": {
"description": "MCPUpdateNodePoolRequest updates a node pool for a cluster.",
"properties": {
"name": {
"description": "Required. The name (project, location, cluster, node pool) of the node pool to update. Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.",
"type": "string"
},
"update": {
"description": "Required. A [node pool update request](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters.nodePools/update) represented as a string using JSON format.",
"type": "string"
}
},
"required": [
"name",
"update"
],
"type": "object"
},
"name": "update_node_pool"
}
]
}What the leaf hashes
{"body":"7bac8c7667b6916931404c0f1ebdcd9b8e73662b6dbeb01075d6aad131b8dda9","id":748027,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793175712590280,"prev":523397,"subject":"c2dacf2e-7df7-4089-b7be-286084499998","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (231336 rows).
- 0x9a154dd10f0076f52ea9f7a0e1c1bf260aee982dda458f27df741d47ff58bacf
- 0x690cb6a4d335da4b024cc63cbc8c61887409fc6c1faa13c7920f5bc8355dce1d
- 0x2d0a60c54bf3cf80f3dd30d849d80ce31c09376c097d4ffe315c3a0ab7d2cadc
- 0xa83577e822b4162a0cb2eed08e3953094a8adbe0a9a2da4d9924bcdbaf43668b
- 0x2d933cb067b46c5008773c284de589549c1d71a92bd7cd8b7c72163e5695e27f
- 0x4ceca0278b8d8a7e6042abaadbb33b1d007e8ed2e7a550cc4658d84004f0f325
- 0x4b43de22b09671708333626e42ca3e8811b98799227d829262122bbf4493e2c2
- 0xf7d9af7bc32f66bd59b65f5c5254cde412d7763c9f11b8564e7c764112ba6a6f
- 0x250c96d43a04c29a5dc50e078f43deac209c00f1a9700d0c360bf5d75a169ce2
- 0x034962b0dba90e656607191a095ce2528aa2b07149a0d8d671335483f4e64cad
- 0xd4d12ce6287fcce9a5054c1131f9f51062607f90c41a0c931e9ce0ae3233da0f
- 0x59f061c5d52dca5c3c9576a7db2ad9b0eebf4adaed10f502f6cd38e68c3ebf89
- 0xddcdda94a0fa130582c880a437970c1e6d81827500911acf5ca2c5b1aaafe0a6
- 0x088061c71633d244b99c7cc0814bbe03af458b18487f352611ae649c73589766
- 0xcf313ac43fef601c9e46f82a687b6a3c655f47c31675c1791c49de20295be63d
- 0x0f8977bd16865247451d1ee836b084081d3d0cd17d6a07353fad0c70393c7403
- 0xe08e8bd91858a8a10c46ecde9c29a6288b960987303173c5e882afb46ce91fa0
- 0xe6cfe00ae4e02bc12327e45b5f3334ea5850ba3bcc8e3101d30a8189856a95af
- Day root
- 0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
- Chained
- 0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
- Published
- On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae