Skip to main content
Glama
krzko

Google Cloud MCP Server

by krzko

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"

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/krzko/google-cloud-mcp.git
cd google-cloud-mcp

# Install dependencies
pnpm install

# Build
pnpm build

Authenticate to Google Cloud:

gcloud auth application-default login

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

40 tools
gcp-billing-analyse-costsAnalyse Billing CostsC

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

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

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
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')
projectIdNoOptional project ID to filter recommendations
minSavingsAmountNoMinimum savings amount to include in recommendations
priorityNoFilter recommendations by priority levelall

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

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
pageSizeNoMaximum number of billing accounts to return (1-50)
pageTokenNoToken for pagination to get next page of results
filterNoOptional filter for billing accounts (e.g., 'open=true')

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
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')
pageSizeNoMaximum number of projects to return (1-200)
pageTokenNoToken for pagination to get next page of results

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
serviceIdYesGoogle Cloud service ID (e.g., 'services/6F81-5844-456A')
pageSizeNoMaximum number of SKUs to return (1-100)
pageTokenNoToken for pagination to get next page of results
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
billingAccountNameYesBilling account name (e.g., 'billingAccounts/123456-789ABC-DEF012')
projectIdNoOptional project ID to filter costs
timeRangeNoTime range for analysis (7d, 30d, 90d, 1y)30d

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-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
serviceYesGCP service to validate (cloud-run, gke, compute-engine, cloud-functions, app-engine, cloud-storage, cloud-sql)
projectNoProject ID (defaults to current project)
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-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
filterYesThe filter to apply to logs (Cloud Logging query language)
limitNoMaximum number of log entries to return

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
startTimeYesStart time in ISO format or relative time (e.g., "1h", "2d")
endTimeNoEnd time in ISO format (defaults to now)
filterNoAdditional filter criteria
limitNoMaximum number of log entries to return

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
searchTermYesTerm to search for across all payload types and fields
timeRangeNoTime range to search (e.g., "1h", "24h", "7d")1h
severityNoMinimum severity level to filter by
resourceNoResource type to filter by (e.g., "cloud_function", "gke_container")
limitNoMaximum number of log entries to return

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\")")
pageSizeNoMaximum number of metric types to return
timeoutNoTimeout in seconds for the request

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
startTimeYesStart time in ISO format or relative time (e.g., "1h", "2d")
endTimeNoEnd time in ISO format (defaults to now)
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
startTimeNoStart time in ISO format or relative time (e.g., "1h", "2d")
endTimeNoEnd time in ISO format (defaults to now)
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
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE env var)
paramsNoQuery 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-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
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE 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
instanceIdNoSpanner instance ID (optional, if not provided will show all instances)
databaseIdNoSpanner database ID (optional, if not provided will show all databases)
queryTypeNoType of queries to count (ALL, READ, QUERY)ALL
statusNoStatus of queries to count (ALL, OK, ERROR)ALL
startTimeNoStart time for the query (e.g., "1h", "2d", "30m")1h
endTimeNoEnd time for the query (defaults to now)
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
instanceIdNoSpanner instance ID (defaults to SPANNER_INSTANCE env var)
databaseIdNoSpanner database ID (defaults to SPANNER_DATABASE 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
projectIdNoOptional Google Cloud project ID
filterYesFilter for logs (e.g., "severity>=ERROR AND timestamp>"-1d"")
limitNoMaximum number of logs to check

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
projectIdNoOptional Google Cloud project ID
filterNoOptional filter for traces (e.g., "status.code != 0" for errors)
limitNoMaximum number of traces to return
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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 40 tool updates
    • 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-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-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

TDQS

C2.2/5.0

Scored across 40 tools

Disambiguation3/5

Tools are separated by service prefix, but within services like logging and Spanner, multiple tools for querying logs or databases overlap in purpose. Additionally, many tools lack descriptions, increasing ambiguity.

Naming Consistency5/5

All tools follow a consistent pattern: 'gcp-{service}-{action}-{noun}' in snake_case. For example, gcp-billing-list-accounts, gcp-iam-get-project-policy. No mixing of styles.

Tool Count3/5

40 tools is high but not extreme for a multi-service server. However, several services have only 3 tools with missing descriptions, suggesting the count is inflated without full coverage.

Completeness2/5

Many services have significant gaps: error reporting, monitoring, profiler, and trace lack CRUD operations and detailed descriptions. Spanner is missing update/delete. Billing and logging are more complete, but overall surface is incomplete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

  • The BigQuery remote MCP server is a fully managed service that uses the Model Context Protocol to connect AI applications and LLMs to BigQuery data sources. It provides secure, standardized tools for AI agents to list datasets and tables, retrieve schemas, generate and execute SQL queries through natural language, and analyze data—enabling direct access to enterprise analytics data without requiring manual SQL coding.

  • The Google GKE MCP server is a managed Model Context Protocol server that provides AI applications with tools to manage Google Kubernetes Engine (GKE) clusters and Kubernetes resources. It exposes a structured, discoverable interface that allows AI agents to interact with GKE and Kubernetes APIs, enabling them to inspect cluster configurations, retrieve Kubernetes resource YAMLs, monitor operations like cluster upgrades, diagnose issues, and optimize costs—all without needing to parse text output or use complex kubectl commands.

  • The Google Compute Engine MCP server is a fully-managed Model Context Protocol server that provides tools to manage Google Compute Engine resources through AI agents. It enables capabilities including instance management (creating, starting, stopping, resetting, listing), disk management, handling instance templates and group managers, viewing machine and accelerator types, managing images, and accessing reservation and commitment information. The server operates as a zero-deployment, enterprise-grade endpoint at https://compute.googleapis.com/mcp with built-in IAM-based security.

  • A Model Context Protocol server for Wix AI tools

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides access to BigQuery. This server enables LLMs to inspect database schemas and execute queries.
    130
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact with Google Cloud Platform environments through natural language, allowing users to query and manage GCP resources during conversations.
    9
    5,594 npm
    200
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that connects to Google Cloud services, allowing users to query logs, interact with Spanner databases, and analyze monitoring metrics through natural language.
    120 npm
    MIT