Skip to main content
Glama
iamishaan24

Google Cloud MCP Server

by iamishaan24

Google Cloud MCP Server

A Model Context Protocol server that connects to Google Cloud services to provide context and tools for interacting with your Google Cloud resources.

Services

Supported Google Cloud services:

Billing

Manage and analyse Google Cloud billing with cost optimisation insights:

Tools: gcp-billing-list-accounts, gcp-billing-get-account-details, gcp-billing-list-projects, gcp-billing-get-project-info, gcp-billing-list-services, gcp-billing-list-skus, gcp-billing-analyse-costs, gcp-billing-detect-anomalies, gcp-billing-cost-recommendations, gcp-billing-service-breakdown

Example prompts:

  • "Show me all my billing accounts"

  • "Analyse costs for project my-app-prod-123 for the last 30 days"

  • "Generate cost recommendations for billing account billingAccounts/123456-789ABC-DEF012"

  • "Check for billing anomalies in project my-ecommerce-456"

Error Reporting

Monitor and analyse application errors with automated investigation and remediation suggestions:

Tools: gcp-error-reporting-list-groups, gcp-error-reporting-get-group-details, gcp-error-reporting-analyse-trends

Example prompts:

  • "Show me error groups from project my-webapp-prod-789 for the last hour"

  • "Get details for error group projects/my-app-123/groups/xyz789"

  • "Analyse error trends for service my-api in project analytics-prod-456"

IAM

Query and analyse IAM policies and permissions:

Tools: gcp-iam-get-project-policy, gcp-iam-test-project-permissions, gcp-iam-test-resource-permissions, gcp-iam-validate-deployment-permissions, gcp-iam-list-deployment-services, gcp-iam-analyse-permission-gaps

Example prompts:

  • "Get IAM policy for project my-webapp-prod-123"

  • "Test if I have storage.buckets.create permission on project data-lake-456"

  • "Check deployment permissions for Cloud Run in project microservices-789"

  • "Analyse permission gaps for deploying to GKE cluster in project k8s-prod-321"

Logging

Query and filter log entries from Google Cloud Logging:

Tools: gcp-logging-query-logs, gcp-logging-query-time-range, gcp-logging-search-comprehensive

Example prompts:

  • "Show me logs from project my-app-prod-123 from the last hour with severity ERROR"

  • "Search for logs containing 'timeout' from service my-api in project backend-456"

  • "Query logs for resource type gce_instance in project compute-prod-789"

Spanner

Interact with Google Cloud Spanner databases:

Tools: gcp-spanner-execute-query, gcp-spanner-list-tables, gcp-spanner-list-instances, gcp-spanner-list-databases, gcp-spanner-query-natural-language, gcp-spanner-query-count

Example prompts:

  • "List all databases in Spanner instance my-instance in project ecommerce-prod-123"

  • "Execute SQL: SELECT COUNT(*) FROM users in database user-db in project my-app-456"

  • "Show me table structure for orders in database inventory-db in project retail-789"

Monitoring

Retrieve and analyse metrics from Google Cloud Monitoring:

Tools: gcp-monitoring-query-metrics, gcp-monitoring-list-metric-types, gcp-monitoring-query-natural-language

Example prompts:

  • "Show me CPU utilisation metrics for project web-app-prod-123 for the last 6 hours"

  • "List available metric types for Compute Engine in project infrastructure-456"

  • "Query memory usage for instances in project backend-services-789"

Profiler

Analyse application performance with Google Cloud Profiler:

Tools: gcp-profiler-list-profiles, gcp-profiler-analyse-performance, gcp-profiler-compare-trends

Example prompts:

  • "List CPU profiles from project my-java-app-123 for the last 24 hours"

  • "Analyse performance bottlenecks in service my-api in project backend-prod-456"

  • "Compare heap profiles for deployment v1.2 vs v1.3 in project performance-test-789"

Trace

Analyse distributed traces from Google Cloud Trace:

Tools: gcp-trace-get-trace, gcp-trace-list-traces, gcp-trace-find-from-logs, gcp-trace-query-natural-language

Example prompts:

  • "Get trace details for ID abc123def456 in project distributed-app-789"

  • "Show me failed traces from project microservices-prod-123 from the last hour"

  • "Find logs related to trace xyz789 in project web-backend-456"

  • "Query traces for service checkout-api in project ecommerce-prod-321"

Compute

Manage Compute Engine VM instances and deploy simple static HTML websites using startup scripts.

Tools: gcp-compute-list-instances, gcp-compute-create-instance, gcp-compute-delete-instance, gcp-compute-start-instance, gcp-compute-stop-instance, get-compute-vm-status, get-compute-vm-ip, deploy-static-html-site

Example prompts:

  • "Deploy a static HTML site in project my-site-123 in zone us-central1-a using VM name site-vm and serve <h1>Hello</h1>; return the public URL."

  • "Check VM status for site-vm in us-central1-a until it is RUNNING."

  • "Get the public HTTP URL for site-vm in us-central1-a."

Note: The deploy-static-html-site tool creates an e2-micro Debian 12 VM with an external IP and an nginx-based startup script; the HTML content is embedded (base64-encoded) in the startup script and written to /var/www/html/index.html. This flow requires no SSH or file uploads.

Related MCP server: GCP MCP

Quick Start

Once configured, you can interact with Google Cloud services using natural language:

"What are my current billing costs for project my-webapp-prod-123?"
"Show me errors from project ecommerce-api-456 in the last hour"
"Check if I have permission to deploy to Cloud Run in project microservices-789"
"Find logs containing 'database timeout' from project backend-prod-321 yesterday"
"List Spanner databases in instance prod-db for project data-store-654"
"What's the CPU usage of Compute Engine instances in project infrastructure-987?"

Authentication

This server supports two methods of authentication with Google Cloud:

  1. Service Account Key File (Recommended): Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your service account key file. This is the standard Google Cloud authentication method.

  2. Environment Variables: Set GOOGLE_CLIENT_EMAIL and GOOGLE_PRIVATE_KEY environment variables directly. This is useful for environments where storing a key file is not practical.

The server will also use the GOOGLE_CLOUD_PROJECT environment variable if set, otherwise it will attempt to determine the project ID from the authentication credentials.

Installation

# Clone the repository
git clone https://github.com/iamishaan24/gcp-mcp-server.git
cd google-cloud-mcp

# Install dependencies
pnpm install

# Build
pnpm build

Authenticate to Google Cloud:

gcloud auth application-default login

To create service account key:

gcloud config set project YOUR_PROJECT_ID

gcloud iam service-accounts create mcp-service-account \
  --display-name="MCP Service Account"

gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member="serviceAccount:mcp-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
  --role="roles/viewer"

gcloud iam service-accounts keys create mcp-key.json \
  --iam-account=mcp-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com

To use the key

Linux/mac

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/mcp-key.json"

powershell

$env:GOOGLE_APPLICATION_CREDENTIALS="D:\path\to\mcp-key.json"

Configuration

Configure the mcpServers in your client:

{
  "mcpServers": {
      "google-cloud-mcp": {
          "command": "node",
          "args": [
              "/Users/foo/code/google-cloud-mcp/dist/index.js"
          ],
          "env": {
              "GOOGLE_APPLICATION_CREDENTIALS": "/Users/foo/.config/gcloud/application_default_credentials.json"
          }
      }
  }
}

Development

Starting the server

# Build the project
pnpm build

# Start the server
pnpm start

Development mode

# Build the project
pnpm build

# Start the server and inspector
npx -y @modelcontextprotocol/inspector node dist/index.js

Troubleshooting

Server Timeout Issues

If you encounter timeout issues when running the server with Smithery, try the following:

  1. Enable debug logging by setting debug: true in your configuration

  2. Ensure lazyAuth: true is set to defer authentication until it's actually needed

  3. Ensure your credentials file is accessible and valid

  4. Check the logs for any error messages

Important: Authentication is still required for operation, but with lazy loading enabled, the server will start immediately and authenticate when needed rather than during initialization.

Authentication Issues

The server supports two methods of authentication:

  1. Service Account Key File: Set GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your service account key file

  2. Environment Variables: Set GOOGLE_CLIENT_EMAIL and GOOGLE_PRIVATE_KEY environment variables

If you're having authentication issues, make sure:

  • Your service account has the necessary permissions

  • The key file is properly formatted and accessible

  • Environment variables are correctly set

Available Tools

56 tools
create-static-site-bucketCreate Static Site BucketB

Create a Cloud Storage bucket configured for static site hosting (uniform bucket-level access).

ParametersJSON Schema
NameRequiredDescriptionDefault
locationNoLocation for the bucket (default US)US
projectIdNoProject ID (optional, uses default if omitted)
bucketNameYesName for the bucket

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the uniform bucket-level access setting, but does not disclose permissions needed, error behavior on existing bucket names, idempotency, costs, or what the response will be. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the core action and key configuration detail. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too sparse. It does not explain what the tool returns, how it fits with the static-site deployment workflow (e.g., that upload/deploy is a separate step), or important constraints like globally unique bucket names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all parameters (bucketName, location, projectId) have descriptions in the schema. The description adds no extra parameter information, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create), the resource (Cloud Storage bucket), and the special configuration (static site hosting with uniform bucket-level access). This distinguishes it from sibling tools like list/delete/deploy static site buckets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as deploy-static-site-from-html or upload-static-site-html. The intended use is implied by the name but never stated explicitly, and no prerequisites or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-static-site-bucketDelete Storage BucketA

Delete a Cloud Storage bucket (must be empty).

ParametersJSON Schema
NameRequiredDescriptionDefault
bucketNameYesBucket name

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the destructive action and the emptiness requirement, but it does not mention irreversibility, permissions, or what happens if the bucket is not empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence that front-loads the action and the critical constraint. There is no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter destructive operation, the core precondition is covered. However, the description omits useful context about permanent side effects and error behavior when the bucket is not empty, which would be especially valuable given the lack of annotations and output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes bucketName as 'Bucket name' with 100% coverage. The description adds the bucket-empty requirement as operational context, but it does not provide additional meaning about the parameter itself beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Delete a Cloud Storage bucket.' This clearly identifies the tool's function and distinguishes it from the sibling create/upload/list bucket tools, even though the description does not explicitly name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear precondition: the bucket 'must be empty.' This tells the agent when deletion is allowed and effectively when it is not. There are no alternative delete-bucket siblings, so naming alternatives is less critical here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy-static-html-siteDeploy Static HTML SiteB

Create a VM with a startup script that installs nginx and writes provided HTML to /var/www/html/index.html

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone for the instance (e.g., us-central1-a)
vmNameYesName for the VM
projectIdNoProject ID (optional, will use default if omitted)
htmlContentYesHTML content to serve

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It does disclose key behavioral side effects: it creates a VM, installs nginx, and writes the HTML file to a specific path. However, it omits operational implications such as cost, startup delay, whether a public IP is created, or how the deployment can be verified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently captures the core mechanism: VM creation, nginx installation, and HTML file placement. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core deployment behavior is adequately described, but there is no output schema and no annotations, so the agent is left without guidance on return values, post-deployment access, or failure modes. For a resource-creating operation, this leaves meaningful gaps in what an agent needs to fully use the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all four parameters. The description adds only a mild restatement of the htmlContent role and does not provide extra meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action—creating a VM with a startup script that installs nginx and writes HTML content—so the agent knows exactly what this tool does. It implicitly differentiates from bucket-based static-site siblings by specifying the VM/nginx approach, but it does not explicitly contrast itself with near-sibling deploy-static-site-from-html.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to prefer this tool over alternatives such as deploy-static-site-from-html, create-static-site-bucket, or gcp-compute-create-instance. The description implies a VM-based deployment scenario but provides no explicit when-to-use or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy-static-site-from-htmlDeploy Static Site from HTMLB

Create a bucket, upload HTML, and provision a VM that serves the bucket content via nginx.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone for the VM (e.g., us-central1-a)
vmNameYesVM name
projectIdNoProject ID (optional)
bucketNameYesBucket name
htmlContentYesHTML content to deploy

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the transparency burden. It does disclose the main side effects: creating a bucket and provisioning a VM. However, it omits important behavioral context such as cost implications, idempotency, handling of existing resources, and whether the resources persist after creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured sentence that lists the major steps in execution order with no filler. It is front-loaded and easy to parse, making it highly concise without losing essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex provisioning operation with no output schema and no annotations, yet the description is only a high-level summary. It fails to mention prerequisites, required permissions, project targeting behavior, failure modes, or what the response contains, leaving significant gaps for an agent deciding whether and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are already documented in the input schema. The description adds no additional semantics about how zone, vmName, bucketName, htmlContent, or projectId affect the deployment process, keeping this at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: create a bucket, upload HTML, and provision a VM serving via nginx. It names concrete resources and steps, but it does not explicitly differentiate this tool from the similarly named sibling 'deploy-static-html-site', so it falls short of full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'deploy-static-html-site', 'create-static-site-bucket', or 'upload-static-site-html'. There are no prerequisites, conditions, or exclusions mentioned, leaving the agent to infer suitability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-analyse-costsAnalyse Billing CostsC

Perform detailed cost analysis with trends and insights for Google Cloud billing data

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date for cost analysis (ISO format: YYYY-MM-DD)
groupByNoGroup costs by project, service, SKU, or timeservice
projectIdNoOptional project ID to filter costs
serviceIdNoOptional service ID to filter costs
startDateYesStart date for cost analysis (ISO format: YYYY-MM-DD)
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'perform detailed cost analysis with trends and insights,' which implies a read-only operation but does not explicitly confirm non-mutating behavior, describe the response shape, mention access requirements, or note any limits or error conditions. The schema covers inputs, but the behavioral context is largely missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler, front-loading the core action and resource. Every word earns its place, and it is appropriately sized for a short tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, six parameters, and numerous closely related billing siblings, this description is not complete enough. It does not clarify the output format (e.g., cost breakdown, trend series), explicitly state that the tool is read-only, or explain how it relates to gcp-billing-service-breakdown and gcp-billing-detect-anomalies. An agent could call it, but would lack sufficient context to predict results or confidently choose it among alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented with formats (ISO dates), enum options (groupBy), and filter semantics (projectId, serviceId). The description itself adds no parameter-specific meaning beyond framing the activity as analysis, so it neither compensates nor detracts. A baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('perform') and resource ('Google Cloud billing data') and states the task ('detailed cost analysis with trends and insights'). It is distinguishable from sibling billing tools like list accounts or list services because it promises analysis rather than listing. However, it does not explicitly differentiate itself from closely related cost-analysis siblings such as gcp-billing-service-breakdown or gcp-billing-detect-anomalies, leaving some scope ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus its many billing siblings. It does not say that this is the general cost-analysis tool while detect-anomalies, cost-recommendations, or service-breakdown cover specialized sub-tasks, nor does it mention prerequisites beyond the required parameters. Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-cost-recommendationsGenerate Cost RecommendationsB

Generate cost optimisation recommendations with potential savings for Google Cloud billing

ParametersJSON Schema
NameRequiredDescriptionDefault
priorityNoFilter recommendations by priority levelall
projectIdNoOptional project ID to filter recommendations
minSavingsAmountNoMinimum savings amount to include in recommendations
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that recommendations with potential savings are generated, without revealing whether the operation is read-only, what inputs affect behavior, what output shape to expect, or any permission/scope requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundancy. It communicates the core purpose immediately and efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must explain return values and operational context. It does not describe what a recommendation contains, how savings are estimated, or how this differs from cost analysis and anomaly detection tools, leaving important gaps for an agent deciding whether and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The tool description adds no parameter-level meaning, but the baseline of 3 is appropriate because the schema handles the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Generate') with a clear object ('cost optimisation recommendations') and scope ('for Google Cloud billing'). It clearly distinguishes this tool from sibling billing tools, which are mostly about listing, analysis, or anomaly detection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like gcp-billing-analyse-costs or gcp-billing-detect-anomalies. There are no preconditions, exclusions, or context about when recommendations are appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-detect-anomaliesDetect Cost AnomaliesC

Detect unusual cost patterns and spending anomalies in Google Cloud billing data

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoOptional project ID to filter anomalies
lookbackDaysNoNumber of days to look back for comparison (7-90)
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')
thresholdPercentageNoPercentage threshold for anomaly detection (10-500%)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only restates the purpose and never reveals output format, whether the operation is read-only, how detection thresholds affect results, or any side effects. 'Detect' weakly implies a read operation, but that is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, directly front-loading the tool's purpose. It is appropriately concise and free of redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, this description is not enough. It fails to state what kind of output the agent should expect, how lookbackDays and thresholdPercentage influence detection, or when a sibling tool would be a better fit for similar billing analyses.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline 3 applies. The description itself adds no parameter-level meaning, but the schema already documents each parameter with types, ranges, defaults, and examples, which is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Detect') and names the resource ('unusual cost patterns and spending anomalies in Google Cloud billing data'), making the core function clear. However, it does not explicitly contrast with sibling tools like gcp-billing-analyse-costs or gcp-billing-cost-recommendations, so differentiation relies on the word 'anomalies' rather than an explicit statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as gcp-billing-analyse-costs, gcp-billing-cost-recommendations, or gcp-billing-service-breakdown. The agent must infer the appropriate context from the tool name and schema, which is not sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-get-account-detailsGet Billing Account DetailsA

Retrieve detailed information about a specific Google Cloud billing account

ParametersJSON Schema
NameRequiredDescriptionDefault
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It does convey that this is a read-only retrieve operation, but it does not disclose expected permissions, error behavior, or what the returned 'detailed information' includes. This is a minimal but not rich behavioral description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant clauses or filler. Every word contributes to identifying the operation and its target resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter getter with complete schema coverage, the description is workable, but it lacks any detail about the response contents and gives no usage context. Since there is no output schema and no annotations, a bit more description of what details are returned would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents the only parameter, including a concrete example format. The description adds no parameter-specific meaning, which is acceptable because the schema already handles it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Retrieve' with a clearly identified resource, 'a specific Google Cloud billing account,' and the word 'specific' signals it targets one account rather than a list. It does not explicitly distinguish itself from siblings like gcp-billing-list-accounts or gcp-billing-get-project-info, but the resource and scope are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'specific billing account' implies this tool is for looking up one account rather than listing accounts, but the description gives no explicit when-to-use guidance and names no alternatives. An agent must infer the distinction from the resource wording.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-get-project-infoGet Project Billing InformationA

Retrieve billing configuration and status for a Google Cloud project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject ID (defaults to current project from state manager)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the behavioral disclosure burden. 'Retrieve' signals a read-only operation and 'billing configuration and status' hints at the returned scope, but the description does not cover permissions, failure behavior, or response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence with no filler. The action and the resource are front-loaded, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter getter, the description is close to adequate, especially with schema coverage of 100%. However, there is no output schema and no usage guidance or sibling differentiation, so an agent has less context than ideal for anticipating return values and choosing between related billing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the single parameter projectId with 100% coverage, including its default behavior from the state manager. The description adds no extra parameter-level meaning, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Retrieve') and names a clear resource ('billing configuration and status for a Google Cloud project'). This projects the tool as project-level billing info, distinguishing it from siblings like account-details or list-projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance about when to choose this tool over related billing siblings such as gcp-billing-get-account-details or gcp-billing-list-projects. Usage is implied by the purpose but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-list-accountsList Billing AccountsA

List all Google Cloud billing accounts accessible to the user

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter for billing accounts (e.g., 'open=true')
pageSizeNoMaximum number of billing accounts to return (1-50)
pageTokenNoToken for pagination to get next page of results

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It conveys read-only intent through 'List' and scopes the result set to accounts 'accessible to the user', but it does not mention pagination behavior or that 'all' accounts may require paging through pageToken despite pageSize limiting results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler. It is front-loaded with the action and resource, and every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool, the description is mostly adequate, especially with full schema coverage. However, the claim of listing 'all' accounts conflicts with pagination parameters and defaults, and there is no mention of output format or pagination flow. This could cause an agent to under-fetch results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents filter, pageSize, and pageToken. The description adds no additional parameter-level meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('Google Cloud billing accounts'), and clarifies scope ('accessible to the user'). It is clearly distinct from sibling tools like gcp-billing-list-projects and gcp-billing-get-account-details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus related billing tools such as gcp-billing-get-account-details or gcp-billing-list-projects. There are no exclusions or alternative routing hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-list-projectsList Billing Account ProjectsA

List all projects associated with a specific Google Cloud billing account

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNoMaximum number of projects to return (1-200)
pageTokenNoToken for pagination to get next page of results
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the disclosure burden. It signals a read-only listing operation and the billing-account scoping, but it does not disclose that 'all' projects may require pagination via pageToken, nor does it describe the response shape or any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the core operation and scope with no filler or redundant phrasing. Every word contributes to understanding what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, this description covers the core selection and invocation intent. However, it omits important operational context such as pagination behavior needed to truly retrieve 'all' projects, and it does not clarify what fields the returned projects contain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents billingAccountName, pageSize, and pageToken. The description adds no parameter-specific semantics beyond identifying the billing account as the filter, which is appropriate given the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('projects'), with a clear scope ('associated with a specific Google Cloud billing account'). This clearly distinguishes it from sibling tools like gcp-billing-list-accounts, which lists billing accounts rather than projects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is implied: use this tool when you need the projects linked to a given billing account. However, it does not explicitly state when not to use it or which sibling tool might be preferred for related tasks, such as getting billing account details or listing services.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-list-servicesList Google Cloud ServicesB

List all available Google Cloud services for billing and cost analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNoMaximum number of services to return (1-200)
pageTokenNoToken for pagination to get next page of results

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It describes the operation as 'List all available services' but does not disclose that results are paginated via pageSize/pageToken, nor does it explicitly state the read-only nature. This could mislead an agent into expecting a single full-list response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, no filler. It is appropriately concise for a simple list operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool the description is adequate but not complete: it omits pagination behavior and the distinction from gcp-billing-list-skus. Since there is no output schema, the agent receives no hints about the shape or pagination of results beyond the parameter names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents both parameters (pageSize, pageToken) with 100% coverage. The description adds no parameter-specific meaning, so it meets the baseline for schema-covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with the resource 'Google Cloud services' and adds the purpose 'for billing and cost analysis'. It is clear, though it does not explicitly contrast with siblings like gcp-billing-list-skus, so the differentiation is by object name rather than explicit wording.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to choose this tool over alternatives such as gcp-billing-list-skus or gcp-billing-service-breakdown. There are no exclusions, prerequisites, or context signals like 'use this when you need...'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-list-skusList Service SKUsB

List all SKUs (Stock Keeping Units) and pricing information for a Google Cloud service

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNoMaximum number of SKUs to return (1-100)
pageTokenNoToken for pagination to get next page of results
serviceIdYesGoogle Cloud service ID (e.g., 'services/6F81-5844-456A')
currencyCodeNoCurrency code for pricing information (default: USD)USD

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation but does not mention pagination behavior, the fact that 'all SKUs' requires paging through results, rate limits, or other operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence that front-loads the core action and resource. It contains no filler and every word contributes to understanding the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with fully documented parameters, the description is mostly adequate. However, with no output schema and no annotations, it should more explicitly address pagination and what the caller can expect in the response, especially because 'List all SKUs' could mislead given pageSize and pageToken.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all four parameters already described in the input schema. The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('SKUs and pricing information for a Google Cloud service'), making the tool's purpose immediately clear. It is also distinguishable from sibling billing tools such as gcp-billing-list-services, which lists services rather than SKUs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives like gcp-billing-list-services or gcp-billing-analyse-costs. The intended usage is only implied by the description, and no exclusions or selection criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-billing-service-breakdownGet Service Cost BreakdownC

Get detailed cost breakdown by Google Cloud service with usage and SKU information

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoOptional project ID to filter costs
timeRangeNoTime range for analysis (7d, 30d, 90d, 1y)30d
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals what the output contains (service-level breakdown, usage, SKU info) but says nothing about read-only status, required Billing permissions, aggregation behavior across projects, pagination, or response format. For an analysis tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler; the core purpose appears immediately. It is appropriately concise, though it lacks any secondary structure such as usage notes or sibling differentiation, which would strengthen it given the dense sibling context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description must carry more weight, but it leaves key questions unanswered: what the return structure looks like, how this tool differs from gcp-billing-analyse-costs, and what the projectId filter changes about the breakdown. An agent navigating ten billing siblings cannot confidently select this tool based on the provided text alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters including the required billingAccountName format and the timeRange enum values. The description adds nothing about parameters beyond the schema, but per the baseline for high schema coverage, a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get detailed cost breakdown by Google Cloud service with usage and SKU information.' This clearly distinguishes it from sibling list/account tools like gcp-billing-list-accounts and gcp-billing-list-skus. However, it does not differentiate itself from the closely related sibling gcp-billing-analyse-costs, which likely overlaps in purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no exclusion criteria, and no reference to sibling tools. With 10 billing-related siblings including gcp-billing-analyse-costs, gcp-billing-detect-anomalies, and gcp-billing-cost-recommendations, an agent has no evidence to decide which billing analysis tool fits the task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-create-instanceCreate Compute InstanceA

Create a Compute Engine VM instance with simple parameters

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new instance
zoneYesZone for the instance (e.g., us-central1-a)
imageNoDisk image to useprojects/debian-cloud/global/images/family/debian-11
networkNoNetwork resource pathglobal/networks/default
machineTypeNoMachine type short name (e.g., e2-medium)e2-medium
startupScriptNoOptional startup script to run on instance creation

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears the full burden of behavioral disclosure. It only restates the creation action without mentioning important traits such as required IAM permissions (e.g., compute.instances.create), potential cost implications, whether the operation is synchronous or long-running, or that the instance will use default image/network/machineType values. An agent gets no extra behavioral context beyond what the tool name already implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose. It avoids unnecessary detail, though the phrase 'with simple parameters' contributes little and could be removed. It is appropriately sized but slightly padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters, no output schema, and no annotations, yet the description gives no context about expected result, possible delays, prerequisite permissions, or side effects. For a mutating cloud resource creation tool, this is insufficient context for an agent to reliably invoke it without surprises. The schema documents parameters, but broader operational context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter already has an explanatory description. The tool description adds no additional semantic value beyond the phrase 'simple parameters,' which is vague and not informative. The baseline of 3 applies because the schema does the heavy lifting, and the description neither enhances nor contradicts it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and resource ('Compute Engine VM instance'), which clearly differentiates it from sibling tools like gcp-compute-list-instances, gcp-compute-delete-instance, and gcp-compute-start-instance. Even without mentioning alternatives, the action and resource are unambiguous and not a tautology of the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: use this tool when you need to create a new Compute Engine VM instance. No exclusions or alternative tool references are provided, but among the sibling list, no other tool has a create-instance responsibility, so the use case is implied strongly enough. It lacks explicit 'use X instead' guidance, but the naming and description make the intended scenario evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-delete-instanceDelete Compute InstanceA

Delete a Compute Engine VM instance by name and zone

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInstance name
zoneYesZone of the instance (e.g., us-central1-a)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool deletes an instance but does not disclose that deletion is destructive/irreversible, may require specific IAM permissions, or that stopping the instance first may be required in some workflows.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It conveys the action and the required identifying information efficiently, making it easy for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with only two parameters, and the description covers the essential invocation details. However, with no annotations and no output schema, it omits behavioral warnings expected for a destructive operation, such as irreversibility or permission requirements.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'name' and 'zone' already documented in the input schema. The description adds no extra meaning beyond what the schema provides, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Delete'), a specific resource ('Compute Engine VM instance'), and the required scope ('by name and zone'). This clearly distinguishes it from siblings like gcp-compute-create-instance, gcp-compute-start-instance, and gcp-compute-stop-instance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this tool is for deleting a specific VM when you know its name and zone. It does not explicitly name alternatives or when-not-to-use scenarios, but the operation is specific enough that an agent can readily select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-get-instance-ipGet Instance IP and SSH CommandB

Fetch external IP(s) for a VM and provide suggested SSH commands

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInstance name
zoneYesZone of the instance (e.g., us-central1-a)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It only describes the happy path and does not explain behavior for stopped instances, missing external IPs, multiple network interfaces, authentication requirements, or the exact output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. The core action and expected output are front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-oriented tool, the description adequately names the input, target resource, and output. However, with no annotations and no output schema, it lacks edge-case behavior and differentiation from similar sibling tools, leaving the agent to infer important operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description adds little beyond 'for a VM', which matches the baseline expectation but provides no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: fetch external IP(s) for a VM and provide suggested SSH commands. It is clear about the tool's intent but does not explicitly distinguish itself from the closely named sibling get-compute-vm-ip, which appears to serve a similar IP lookup purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided, and no alternative tools are referenced. The intended usage is only implied by the tool description rather than explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-list-instancesList Compute InstancesA

List Compute Engine VM instances across the project or within a zone

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneNoZone to list instances from (optional)
filterNoOptional filter for the API
pageSizeNoMaximum items

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It communicates a read-only 'List' behavior and the project/zone scope, which is useful. However, it does not disclose pagination behavior, authentication needs, or what fields the returned instances contain, leaving some behavioral detail implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured sentence, front-loaded with the action and resource. It contains no filler, repetition, or irrelevant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter read tool with fully documented optional parameters, the description plus schema is mostly sufficient. However, there is no output schema and the description does not explain what is actually returned, pagination behavior, or how the 'project' is determined, leaving some contextual gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage of all three parameters, so the baseline is 3. The description adds extra semantic value by clarifying that omitting zone means listing across the entire project, while including a zone restricts the listing to that zone. Filter and pageSize semantics remain adequately handled by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List'), names the exact resource ('Compute Engine VM instances'), and gives the scope ('across the project or within a zone'). This clearly sets it apart from mutation/status siblings like gcp-compute-delete-instance and get-compute-vm-status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention that it is the read-only listing counterpart to create/start/stop/delete, nor when a user should instead use get-compute-vm-status. The only usage signal is implied by the name and purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-start-instanceStart Compute InstanceB

Start a stopped Compute Engine VM instance

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInstance name
zoneYesZone of the instance (e.g., us-central1-a)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but does not disclose side effects such as billing activation, whether the operation is asynchronous, potential errors for already-running instances, or required IAM permissions. For a state-changing operation, this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no redundant filler. It front-loads the action and the target resource, and every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter operation, the description conveys the core purpose and implies the precondition that the instance is stopped. However, with no annotations and no output schema, it does not clarify what happens after invocation, e.g., whether a success response is returned, whether the call is async, or what happens if the instance is already running. This is adequate but leaves notable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters ('name' and 'zone') are already documented in the input schema. The description does not add additional semantic detail about how the parameters relate to the operation, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Start') and a specific resource ('stopped Compute Engine VM instance'), making the operation clear. It does not explicitly distinguish from sibling tools, but the contrast with gcp-compute-stop-instance and gcp-compute-create-instance is inferable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Saying 'Start a stopped Compute Engine VM instance' implies the intended use case: when a VM is stopped and should be running. However, no explicit conditions, exclusions, or alternatives are provided, so the agent must infer usage from the phrase alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-compute-stop-instanceStop Compute InstanceB

Stop a running Compute Engine VM instance

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInstance name
zoneYesZone of the instance (e.g., us-central1-a)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Stop' and does not mention what happens to the instance's state, whether data is preserved, whether the operation is reversible, or what permissions are required. This is a significant gap for a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It communicates the action and resource efficiently, which is appropriate for such a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with full schema coverage, the description is minimally viable. However, because there is no output schema and no annotations, it would benefit from stating that stopping is non-destructive and what state the instance transitions to, especially given sibling tools like delete-instance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'name' and 'zone' already documented. The description adds no additional meaning about the parameters, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Stop') and the resource ('Compute Engine VM instance'), making the tool's purpose immediately understandable. It does not explicitly contrast with sibling tools like gcp-compute-delete-instance or gcp-compute-start-instance, but the verb alone disambiguates most of the intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'running' implies the instance should be in a running state for this tool to be meaningful, giving some implicit usage context. However, there is no explicit guidance about when to prefer this over start/delete, nor about prerequisites such as the instance existing or being accessible.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-error-reporting-get-group-detailsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-error-reporting-list-groupsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-analyse-permission-gapsAnalyse Permission GapsC

Compare current permissions against required permissions for specific operations and identify gaps

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject ID (defaults to current project)
requiredPermissionsYesList of permissions required for the intended operation
operationDescriptionNoDescription of the operation being attempted (for context)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Compare' and 'identify gaps' imply a read-only analysis, but there is no statement about side effects, authentication requirements, or how current permissions are obtained. It also does not address edge cases such as a missing project.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the action and outcome, containing no filler or redundant phrasing. It is appropriately concise for the described purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description leaves important context unstated: how current permissions are determined, how requiredPermissions values should be formatted, and what the resulting gap report looks like. The optional parameters are documented in the schema, but the overall behavior remains under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides descriptions for all three parameters, so the baseline of 3 applies. The description adds no parameter-specific meaning beyond the schema, but because schema coverage is 100%, it does not need to compensate for missing documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific analytic operation: comparing current permissions to required permissions and identifying gaps. The verb 'Compare' and the resource 'current permissions... required permissions' clearly indicate the tool's function, though it does not explicitly distinguish it from similar IAM tools such as gcp-iam-validate-deployment-permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus sibling IAM tools like gcp-iam-test-project-permissions or gcp-iam-validate-deployment-permissions. The phrase 'specific operations' implies a use case, but no prerequisites, exclusions, or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-get-project-policyGet Project IAM PolicyB

Retrieve the IAM policy for a Google Cloud project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject ID (defaults to current project)
requestedPolicyVersionNoThe policy format version (1, 2, or 3)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the behavioral burden. The verb 'Retrieve' implies a read-only operation, but the description does not explicitly confirm non-modification, required permissions, or what the returned policy contains. It is adequate for a simple get operation but leaves important context unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler. The verb and resource are front-loaded, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity and full schema coverage, the description is minimally viable for calling the tool. However, with no annotations and no output schema, the agent gets no information about the return shape, potential side effects, or how to interpret the policy response beyond what the name itself implies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters with 100% coverage, so the description adds little beyond the high-level 'Google Cloud project' framing. It does not explain behavior around requestedPolicyVersion or defaults beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Retrieve' and names the exact resource: 'IAM policy for a Google Cloud project'. It clearly identifies what the tool does, but it does not explicitly contrast it with sibling tools like gcp-iam-test-project-permissions, so it misses the full differentiation that would earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many related IAM permission-testing and analysis tools. The description simply states the operation without indicating when it is the right choice or when a sibling should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-list-deployment-servicesList Available Deployment ServicesB

List all GCP services with pre-defined deployment permission sets

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden. The verb 'List' implies a read-only operation, but the description does not disclose output format, scope limitations, prerequisites, or potential side effects, leaving the agent with an under-specified behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence conveys the entire meaning without redundant phrasing or filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool with no output schema, the description covers the essential purpose. The phrase 'pre-defined deployment permission sets' is slightly ambiguous but not enough to undermine the tool's overall usability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description's use of 'all' reinforces the expectation that no filtering or input is required, which is sufficient for this parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and names a distinct resource category ('GCP services with pre-defined deployment permission sets'). This distinguishes it from generic service-list tools, though it does not explicitly contrast it with siblings such as gcp-iam-validate-deployment-permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like gcp-iam-validate-deployment-permissions or gcp-billing-list-services. The intended role in a workflow is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-test-project-permissionsTest Project IAM PermissionsA

Test which permissions the current caller has on a Google Cloud project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject ID (defaults to current project)
permissionsYesList of permissions to test (e.g., ["resourcemanager.projects.get", "compute.instances.list"])

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only evaluation via the verb 'Test', but does not explicitly state that no IAM policies are modified, what permissions are required to perform the test, or that the result is limited to the supplied permission list. This is adequate for a simple check but leaves some behavioral details implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler or repetition. It conveys the core action and scope efficiently and is easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with a fully documented schema, the description is largely complete: it states the action, the target resource, and the subject (current caller). It lacks explicit usage guidance and a read-only guarantee, but the information needed to invoke the tool correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'project' and 'permissions' clearly explained, including an example for permissions. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Test') and identifies the exact resource ('which permissions the current caller has on a Google Cloud project'). This clearly distinguishes it from policy-retrieval tools like get-project-policy and analysis tools like analyse-permission-gaps, while the project scope differentiates it from test-resource-permissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as gcp-iam-test-resource-permissions or gcp-iam-validate-deployment-permissions. The description states only what it does, not when it should be selected, and provides no exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-test-resource-permissionsTest Resource-Specific IAM PermissionsA

Test which permissions the current caller has on specific Google Cloud resources

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYesThe full resource name (e.g., "projects/my-project/buckets/my-bucket", "projects/my-project/zones/us-central1-a/instances/my-instance")
permissionsYesList of permissions to test on the resource

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It adds useful context that the check is for the 'current caller' on specific resources and that the operation is a test, implying non-mutating behavior. However, it does not disclose response format, whether all requested permissions are returned, or any authorization prerequisites beyond the caller's existing identity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that immediately conveys the core operation. It is front-loaded with the action and object, contains no filler, and aligns well with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read-style check, the description is mostly complete: it names the target resources, the permissions being tested, and the subject (current caller). The main gap is the lack of explicit sibling differentiation and return-value clarification, though the schema covers the parameters well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% parameter description coverage, including resource name examples and the meaning of the permissions array. The tool description adds no additional parameter-level detail, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Test which permissions') on a specific resource type ('specific Google Cloud resources'), and clearly identifies the caller as the subject. This distinguishes it from sibling tools like gcp-iam-test-project-permissions, which targets project-level rather than resource-level checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies resource-scoped permission checking, but it does not explicitly say when to use this tool versus related alternatives such as gcp-iam-test-project-permissions, gcp-iam-validate-deployment-permissions, or gcp-iam-analyse-permission-gaps. The usage context is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-iam-validate-deployment-permissionsValidate Deployment PermissionsA

Check if current caller has required permissions for deploying to common GCP services

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject ID (defaults to current project)
serviceYesGCP service to validate (cloud-run, gke, compute-engine, cloud-functions, app-engine, cloud-storage, cloud-sql)
includeOptionalNoInclude optional permissions in the validation

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does indicate the operation is a read-only style check by the 'current caller', which suggests a non-mutating validation. However, it does not explicitly state that no resources are modified, how the required permission sets are determined, or what happens when permissions are missing, so full transparency is limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler or redundant restating of the title. It conveys the core purpose efficiently and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and a well-described input schema, the description is minimally sufficient to select and invoke it. However, there is no output schema and the description does not explain what the validation returns or how the required permissions are curated, which leaves some ambiguity for an agent interpreting the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all parameters already have helpful descriptions including defaults and allowed service values. The tool description itself does not add parameter-level meaning, so the baseline score of 3 is appropriate. The service parameter's allowed values are documented in the schema rather than the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'Check[s] if current caller has required permissions for deploying to common GCP services.' This clearly conveys the tool's purpose and distinguishes it from generic IAM tools by focusing on deployment permissions. However, it does not explicitly contrast with sibling tools like gcp-iam-test-project-permissions or gcp-iam-analyse-permission-gaps, so sibling differentiation is mostly implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a deployment preflight scenario: use this tool to validate the caller's permissions before deploying to GCP services. It does not explicitly state when to prefer it over sibling IAM permission tools, nor does it provide exclusions or alternative tool guidance. The intended usage is clear but left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-list-project-idsList Project IDsB

List all accessible Google Cloud project IDs

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter for projects (e.g., "state:ACTIVE")
pageSizeNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. 'List' implies a read-only operation and 'accessible' clarifies scope, but the description does not mention pagination, filtering behavior, or output format. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word earns its place, and the core action and scope are immediately visible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with optional parameters, the description is minimally sufficient, but there is no output schema and no explanation of pagination or how filter values are applied. It also lacks guidance on when to choose this over sibling listing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-level meaning. The filter parameter is documented in the schema, but pageSize has no semantic explanation there or in the description. With only 50% schema coverage, the description does not compensate for the gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('List all accessible Google Cloud project IDs') and adds the scope 'accessible', which helps distinguish it from billing-related or single-project tools. It is immediately clear what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says nothing about when to use this tool versus alternatives such as gcp-billing-list-projects or gcp-utils-get-project-id. There is no context about preferred use cases, exclusions, or how 'accessible' should be interpreted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-logging-query-logsQuery LogsB

Query Google Cloud Logs with custom filters. Searches across all payload types (text, JSON, proto) and metadata fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of log entries to return
filterYesThe filter to apply to logs (Cloud Logging query language)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It mentions the search scope (text, JSON, proto payloads and metadata fields) but does not disclose read-only behavior, default time range, pagination, limits beyond the schema, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with the core action front-loaded. Every sentence provides useful information and there is no redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only two parameters and a fully documented schema, the description is mostly adequate. However, it lacks sibling differentiation and any statement about default time behavior, and with no output schema the agent is left uninformed about the return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by clarifying that filters can target all payload types and metadata fields, which helps the agent understand the filter parameter's expressive scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Query Google Cloud Logs with custom filters') and the resource, and adds useful scope detail about payload types and metadata fields. However, it does not explicitly distinguish itself from similar siblings like gcp-logging-query-time-range or gcp-logging-search-comprehensive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. 'Custom filters' implies a use case for users familiar with Cloud Logging query language, but there are no exclusions, prerequisites, or naming of sibling tools to route the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-logging-query-time-rangeQuery Logs by Time RangeA

Query Google Cloud Logs within a specific time range. Supports relative times (1h, 2d) and ISO timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of log entries to return
filterNoAdditional filter criteria
endTimeNoEnd time in ISO format (defaults to now)
startTimeYesStart time in ISO format or relative time (e.g., "1h", "2d")

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The word 'Query' conveys a read-only operation, and the description adds that relative times and ISO timestamps are supported. However, with no annotations provided, it does not disclose permissions, rate limits, pagination, result format, or any caveats about querying large log ranges, leaving the description to carry a heavier burden than it does.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one tightly written sentence that delivers the core purpose and the most important input-format behavior. There is no filler or redundant elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has four documented parameters and no output schema, and the description covers the core behavior but omits return-value expectations and usage differentiators among logging siblings. An agent could invoke it correctly using the schema, but it would lack guidance on whether this tool or a sibling is the right choice for a given request.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description mainly repeats the time-format information already present in the startTime parameter description, adding little beyond reinforcing that the tool operates on a time range.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries Google Cloud Logs within a specific time range, giving a specific verb and resource. However, it does not explicitly differentiate itself from sibling tools like gcp-logging-query-logs or gcp-logging-search-comprehensive, relying mostly on the tool name for distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for time-bounded log queries and mentions supported time formats, but it does not provide explicit when-to-use guidance, exclusions, or alternatives. It does not tell an agent when gcp-logging-query-logs or gcp-logging-search-comprehensive would be a better choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-logging-search-comprehensiveComprehensive Log SearchC

Search across all log fields including textPayload, jsonPayload, protoPayload, labels, HTTP requests, and metadata. Provides maximum context.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of log entries to return
resourceNoResource type to filter by (e.g., "cloud_function", "gke_container")
severityNoMinimum severity level to filter by
timeRangeNoTime range to search (e.g., "1h", "24h", "7d")1h
searchTermYesTerm to search for across all payload types and fields

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only lists searched fields and vaguely says 'Provides maximum context,' with no mention of result format, ordering, pagination, limits, authentication, side effects, or caveats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with the core action in the first sentence. The phrase 'Provides maximum context' is somewhat vague but still concise enough to be acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description does not reveal return behavior or operational context. It also omits when to prefer this tool over sibling logging tools, leaving a gap for an agent deciding how to search logs effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all five parameters having descriptions, so the baseline is 3. The description adds useful context about which log fields searchTerm can match, but it does not meaningfully clarify severity, resource, timeRange, or limit beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and resource: 'Search across all log fields including textPayload, jsonPayload, protoPayload, labels, HTTP requests, and metadata.' This distinguishes the tool's comprehensive scope from the narrower logging siblings, though it does not explicitly name any sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus gcp-logging-query-logs or gcp-logging-query-time-range. The word 'comprehensive' implies broad usage, but there are no stated conditions, exclusions, or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-monitoring-list-metric-typesD
ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoSimple search term (e.g., "spanner") or full filter expression (e.g., "metric.type = starts_with(\"spanner\")")
timeoutNoTimeout in seconds for the request
pageSizeNoMaximum number of metric types to return

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-monitoring-query-metricsD
ParametersJSON Schema
NameRequiredDescriptionDefault
filterYesThe filter to apply to metrics
endTimeNoEnd time in ISO format (defaults to now)
startTimeYesStart time in ISO format or relative time (e.g., "1h", "2d")
alignmentPeriodNoAlignment period (e.g., "60s", "300s")

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-monitoring-query-natural-languageD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language description of the query you want to execute
endTimeNoEnd time in ISO format (defaults to now)
startTimeNoStart time in ISO format or relative time (e.g., "1h", "2d")
alignmentPeriodNoAlignment period (e.g., "60s", "300s")

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-profiler-analyse-performanceD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-profiler-list-profilesD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-execute-queryD
ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesThe SQL query to execute
paramsNoQuery parameters
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE env var)
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-list-databasesD
ParametersJSON Schema
NameRequiredDescriptionDefault
instanceIdYesSpanner instance ID

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-list-instancesD
ParametersJSON Schema
NameRequiredDescriptionDefault
_dummyNoNot used, just to ensure parameter compatibility

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-list-tablesD
ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE env var)
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-query-countD
ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoStatus of queries to count (ALL, OK, ERROR)ALL
endTimeNoEnd time for the query (defaults to now)
queryTypeNoType of queries to count (ALL, READ, QUERY)ALL
startTimeNoStart time for the query (e.g., "1h", "2d", "30m")1h
databaseIdNoSpanner database ID (optional, if not provided will show all databases)
instanceIdNoSpanner instance ID (optional, if not provided will show all instances)
alignmentPeriodNoAlignment period for aggregating data points (e.g., "60s", "5m", "1h")60s

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-spanner-query-natural-languageD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language description of the query you want to execute
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE env var)
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-trace-find-from-logsD
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of logs to check
filterYesFilter for logs (e.g., "severity>=ERROR AND timestamp>"-1d"")
projectIdNoOptional Google Cloud project ID

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-trace-get-traceD
ParametersJSON Schema
NameRequiredDescriptionDefault
traceIdYesThe trace ID to retrieve
projectIdNoOptional Google Cloud project ID

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-trace-list-tracesD
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of traces to return
filterNoOptional filter for traces (e.g., "status.code != 0" for errors)
projectIdNoOptional Google Cloud project ID
startTimeNoStart time in RFC3339 format (e.g., "2023-01-01T00:00:00Z") or relative time (e.g., "1h", "2d")

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-trace-query-natural-languageD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query about traces (e.g., "Show me failed traces from the last hour")
projectIdNoOptional Google Cloud project ID

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-utils-get-project-idGet Project IDA

Get the current Google Cloud project ID and recent project history

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral context. 'Get' communicates a read operation and names the returned data, but it does not disclose whether it depends on local gcloud configuration, requires authentication, or whether it has any side effects. It is adequate but thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the main action and resource, with no filler or redundant restatement of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter utility, the description is largely complete: it states the two outputs (current project ID and history). The term 'recent project history' is slightly vague, but the absence of parameters and output schema makes this a low-risk gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the baseline is 4. The schema is fully trivial, and the description accurately describes what the call produces without needing to document input semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') with a clear resource ('current Google Cloud project ID') and adds the distinct 'recent project history' scope. The qualifier 'current' differentiates this from sibling gcp-list-project-ids, which would list all project IDs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'current' wording implies choosing this tool when the active/configured project is needed, but there is no explicit statement of when to use it versus gcp-list-project-ids or gcp-utils-set-project-id. Usage context is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gcp-utils-set-project-idSet Project IDB

Set the default Google Cloud project ID to use for all operations

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe Google Cloud project ID to set as default

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully carry behavioral transparency. It does convey that this changes the default project for all operations, but it omits important details such as whether the value persists across sessions, whether the project ID is validated, and whether this overrides an existing default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. It efficiently communicates the tool's core purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter setter, the description covers the main action and scope. However, missing information about persistence, validation, and how this tool fits into the workflow leaves some gaps for an agent that must select and invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes project_id as 'The Google Cloud project ID to set as default'. The description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Set'), a specific resource ('default Google Cloud project ID'), and the scope ('to use for all operations'). This makes its purpose immediately understandable and easily distinguishable from the sibling 'gcp-utils-get-project-id'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives, when not to use it, or prerequisites such as verifying the project ID exists. There is no mention of using gcp-list-project-ids to discover valid project IDs or that this should be called before other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_gcp_mermaid_diagramGenerate GCP Mermaid DiagramA

Generate a Mermaid architecture diagram for a GCP project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesGCP project ID

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without clarifying whether the tool is read-only, whether it returns the diagram content or saves it somewhere, what permissions are needed, or any other behavioral characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clear sentence that front-loads the action and target. There is no redundancy or filler; every word contributes to the meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with a straightforward purpose and no competing sibling, the description is mostly sufficient. It could be improved by noting the output format (e.g., Mermaid syntax returned), but the low complexity and complete schema coverage reduce that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the sole parameter projectId already described as 'GCP project ID'. The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Generate'), a specific resource ('Mermaid architecture diagram'), and the target domain ('GCP project'). It clearly distinguishes this tool from all siblings, none of which produce diagrams or visualizations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied: use it when you need a Mermaid architecture diagram for a GCP project. However, it provides no explicit guidance about when not to use it or which sibling tools might be alternatives for related visualization/architecture needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-compute-vm-ipGet Compute VM IPB

Fetch the external IP of a VM and return an http URL

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone of the instance (e.g., us-central1-a)
vmNameYesVM name
projectIdNoProject ID (optional, will use default if omitted)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden. It does disclose a meaningful behavioral detail: the tool returns an http URL, not just the IP. It also implies a read-only operation. However, it does not mention failure modes, what happens if the VM has no external IP, or any permissions needed. It is adequate but not richly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core action and then specifies the return format. Every word contributes meaning, there is no redundancy, and it is immediately scannable by an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with no output schema, the description covers the operation and the return value sufficiently. The parameters are fully documented in the schema. The main missing piece is guidance on distinguishing this tool from 'gcp-compute-get-instance-ip', but that is a usage-guideline concern rather than a completeness gap for the tool's core function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters ('zone', 'vmName', 'projectId') are already documented in the schema. The description adds no parameter-specific meaning beyond the output behavior, so it neither helps nor hinders. The baseline of 3 is appropriate since the schema already does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Fetch') and a specific resource ('external IP of a VM'), and even specifies the output format ('return an http URL'). It is easy to understand what the tool does, but it does not differentiate itself from the near-duplicate sibling tool 'gcp-compute-get-instance-ip', so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. With siblings like 'gcp-compute-get-instance-ip' and 'get-compute-vm-status' available, there is no explicit context about which scenario calls for this tool. The intended usage is only implied by the description, which is not enough for reliable tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-compute-vm-statusGet Compute VM StatusB

Retrieve the status of a Compute Engine VM instance

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneYesZone of the instance (e.g., us-central1-a)
vmNameYesVM name
projectIdNoProject ID (optional, will use default if omitted)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. 'Retrieve' implies a read-only operation, but the description does not disclose what statuses are returned, whether the VM must exist first, permission requirements, or behavior on errors. This is minimal transparency for a tool with no annotation safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, front-loaded sentence with no filler. It communicates the essential action and resource directly, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status getter with fully documented parameters, the description is minimally adequate. However, the lack of an output schema means the description could have usefully stated the expected status values or the shape of the response. Without annotations, this leaves some ambiguity about what the agent should do with the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents zone, vmName, and projectId effectively. The description adds no additional parameter meaning beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'Retrieve', and a clear resource, 'status of a Compute Engine VM instance'. It is distinct from sibling tools like start/stop/delete/list or IP retrieval, though it does not explicitly name a differentiating sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied: use this tool when you need the status of a single VM instance. However, it provides no explicit guidance about when not to use it, such as preferring list-instances when enumerating many VMs or when the instance details are already present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-static-site-bucketsList Storage BucketsB

List Cloud Storage buckets in the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject ID (optional)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'List,' which implies a read-only operation, but it does not state what is returned, whether projectId falls back to a default project, or whether only static-site buckets are included. These are meaningful undocumented behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. The verb, object, and scope are front-loaded, and every word contributes to the meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with one optional parameter, this is minimally adequate. However, with no output schema and no annotations, it leaves unclear what kind of result is returned and how the optional projectId affects behavior, which are noticeable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the lone parameter projectId is already described as 'Project ID (optional)'. The description adds no additional meaning about the parameter, so the schema carries the burden, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action, resource, and scope: 'List Cloud Storage buckets in the project.' However, it does not distinguish this from siblings, and it omits the 'static-site' qualifier present in the tool name, creating ambiguity about whether it lists all buckets or only static-site-related buckets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention using it before create/delete/deploy static-site operations, nor does it clarify when the optional projectId should or should not be provided. Sibling tools like create-static-site-bucket and delete-static-site-bucket exist, but no when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload-static-site-htmlUpload Static Site HTMLB

Upload an HTML file to Cloud Storage and make it publicly readable.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNameNoFile name (default index.html)index.html
bucketNameYesBucket name
htmlContentYesHTML content to upload

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of disclosing behavior, and it does call out the important side effect that the file is made publicly readable. However, it does not mention overwrite behavior for an existing fileName, required permissions, or what the tool returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes to the core purpose and the key side effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter upload tool, the description plus complete schema coverage gives an agent enough information to invoke it correctly. It could mention overwrite behavior or the returned public URL, but the essentials are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has a meaningful description. The tool description adds no extra parameter context beyond what the schema already provides, so the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (upload an HTML file to Cloud Storage) and the outcome (make it publicly readable). It is unambiguous about the core operation, though it does not explicitly differentiate itself from sibling tools like deploy-static-site-from-html.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of related siblings such as deploy-static-site-from-html or create-static-site-bucket. The description implies a simple standalone upload but does not state prerequisites, exclusions, or alternative conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 56 tool updatesv0.5.0
    • First observedcreate-static-site-bucket
    • First observeddelete-static-site-bucket
    • First observeddeploy-static-html-site
    • First observeddeploy-static-site-from-html
    • First observedgcp-billing-analyse-costs
    • First observedgcp-billing-cost-recommendations
    • First observedgcp-billing-detect-anomalies
    • First observedgcp-billing-get-account-details
    • First observedgcp-billing-get-project-info
    • First observedgcp-billing-list-accounts
    • First observedgcp-billing-list-projects
    • First observedgcp-billing-list-services
    • First observedgcp-billing-list-skus
    • First observedgcp-billing-service-breakdown
    • First observedgcp-compute-create-instance
    • First observedgcp-compute-delete-instance
    • First observedgcp-compute-get-instance-ip
    • First observedgcp-compute-list-instances
    • First observedgcp-compute-start-instance
    • First observedgcp-compute-stop-instance
    • First observedgcp-error-reporting-analyse-trends
    • First observedgcp-error-reporting-get-group-details
    • First observedgcp-error-reporting-list-groups
    • First observedgcp-iam-analyse-permission-gaps
    • First observedgcp-iam-get-project-policy
    • First observedgcp-iam-list-deployment-services
    • First observedgcp-iam-test-project-permissions
    • First observedgcp-iam-test-resource-permissions
    • First observedgcp-iam-validate-deployment-permissions
    • First observedgcp-list-project-ids
    • First observedgcp-logging-query-logs
    • First observedgcp-logging-query-time-range
    • First observedgcp-logging-search-comprehensive
    • First observedgcp-monitoring-list-metric-types
    • First observedgcp-monitoring-query-metrics
    • First observedgcp-monitoring-query-natural-language
    • First observedgcp-profiler-analyse-performance
    • First observedgcp-profiler-compare-trends
    • First observedgcp-profiler-list-profiles
    • First observedgcp-spanner-execute-query
    • First observedgcp-spanner-list-databases
    • First observedgcp-spanner-list-instances
    • First observedgcp-spanner-list-tables
    • First observedgcp-spanner-query-count
    • First observedgcp-spanner-query-natural-language
    • First observedgcp-trace-find-from-logs
    • First observedgcp-trace-get-trace
    • First observedgcp-trace-list-traces
    • First observedgcp-trace-query-natural-language
    • First observedgcp-utils-get-project-id
    • First observedgcp-utils-set-project-id
    • First observedgenerate_gcp_mermaid_diagram
    • First observedget-compute-vm-ip
    • First observedget-compute-vm-status
    • First observedlist-static-site-buckets
    • First observedupload-static-site-html

TDQS

C2/5.0

Scored across 56 tools

Disambiguation1/5

Multiple tools appear to do the same thing: gcp-compute-get-instance-ip vs get-compute-vm-ip, gcp-logging-query-logs vs gcp-logging-search-comprehensive, deploy-static-html-site vs deploy-static-site-from-html, plus several natural-language query variants for Spanner, Monitoring, and Trace. Many tools have no descriptions at all, making boundaries impossible to distinguish reliably.

Naming Consistency3/5

Most tools follow a readable gcp-service-verb-noun pattern, which helps navigation. However, the pattern is broken by unprefixed tools like deploy-static-html-site and get-compute-vm-ip, and by generate_gcp_mermaid_diagram using underscores. These are mixed conventions rather than complete chaos.

Tool Count2/5

56 tools is well above the 25+ threshold for a coherent toolkit. The count feels bloated because several tools could be consolidated, such as IP retrieval, logging queries, static-site deployment, and cost analysis variants.

Completeness2/5

The server covers a broad read-only observability and billing surface, plus basic compute and static-site workflows, but major GCP services like BigQuery, Cloud Run, GKE, and full Cloud Storage are missing. Even within covered services there are notable gaps: no IAM policy updates, no Spanner writes/DDL, no compute update, and no object-level static-site deletion.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables interaction with Google Cloud services including billing cost analysis, log querying, and metrics monitoring through natural language commands. Provides comprehensive tools for managing GCP resources, analyzing costs, detecting anomalies, and retrieving operational insights.
    40
    1
    Apache 2.0
  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to interact with Google Cloud Platform resources through natural language queries. Supports querying and managing GCP services like Compute Engine, Cloud Storage, BigQuery, and more across multiple projects and regions.
    9
    4,957
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Google Cloud Platform services through gcloud CLI commands via a Cloud Run deployed MCP server. Supports executing gcloud commands and managing GCP resources through natural language.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables managing Google Cloud Platform infrastructure through natural language, including VM deployment, SSH key management, remote command execution, and Terraform infrastructure-as-code operations.
    2
    -