# GCP Platform Engineer [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/deBilla/platform-mcp  
**GitHub Stars:** 2  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/gcp-platform-engineer

## Description
Read-only GCP tools for debugging incidents and finding cost savings

## Tools
Capabilities this server exposes over MCP:

- **list_environments** — List the GCP environments this server can query and which is the default.

    Pass one of the returned names as the `environment` argument of any other
    tool to target that project (e.g. environment='production'). Omitting the
    argument uses the default environment shown here. Common shorthands such as
    'prod' and 'stg' are accepted, as is a bare project id.
    
- **query_logs** — Query Cloud Logging with an advanced-filter expression.

    Args:
        filter: Cloud Logging advanced filter (e.g. 'severity>=WARNING AND
            resource.type="cloud_run_revision"'). Leave empty to match all logs.
        freshness: How far back to look, e.g. '30m', '1h', '2d'. Default '1h'.
        limit: Maximum number of entries to return (newest first).
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment. Call
            list_environments to see what is configured.
    
- **get_recent_errors** — Return recent log entries at severity ERROR or higher.

    Args:
        service: Optional service name to narrow to (matched against
            resource.labels.service_name and logName).
        hours: How many hours back to search. Default 1.
        limit: Maximum number of entries to return (newest first).
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_error_groups** — List grouped application errors from Error Reporting with counts.

    Args:
        hours: Lookback window; snapped to the nearest supported period
            (1h, 6h, 1d, 1w, 30d). Default 24.
        service: Optional service name filter (Error Reporting "service" label).
        limit: Maximum number of error groups to return (most frequent first).
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **query_metric** — Query a Cloud Monitoring metric time series.

    Args:
        metric_type: Metric type, e.g. 'compute.googleapis.com/instance/cpu/utilization'.
        resource_filter: Optional extra filter, e.g. 'resource.labels.instance_id="123"'.
        window: How far back to query, e.g. '1h', '6h', '1d'. Default '1h'.
        aligner: Aggregation across the alignment period: MEAN, MAX, MIN, SUM,
            COUNT, RATE, PERCENTILE_99. Default MEAN.
        alignment_period: Bucket size for aggregation, e.g. '1m', '5m'. Default '5m'.
        limit: Maximum number of time series to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_alert_policies** — List Cloud Monitoring alert policies and whether they are enabled.

    Args:
        limit: Maximum number of policies to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_uptime_checks** — List Cloud Monitoring uptime check configurations.

    Args:
        limit: Maximum number of uptime checks to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_cost_recommendations** — Aggregate GCP cost-optimization recommendations (idle/rightsizing/etc).

    Fans out the cost recommenders across the locations where the project has
    resources. Recommenders/locations that are empty or not enabled are skipped.

    Args:
        locations: Optional comma-separated zones/regions to scan (e.g.
            'us-central1,us-central1-a'). If empty, auto-discovers from Asset
            Inventory (requires the Cloud Asset API).
        limit_per_call: Max recommendations to pull per recommender+location.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_recommendations** — List recommendations from a specific recommender at a specific location.

    Args:
        recommender_id: Recommender id, e.g.
            'google.compute.instance.MachineTypeRecommender' or
            'google.iam.policy.Recommender'.
        location: Zone (e.g. 'us-central1-a'), region (e.g. 'us-central1'), or
            'global' depending on the recommender. Default 'global'.
        limit: Maximum number of recommendations to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **get_cost_breakdown** — Summarize recent spend from the BigQuery billing export.

    By default this reports spend for the selected environment's project only.
    A billing export table covers every project on the billing account, and
    several environments commonly share one table, so an unfiltered query would
    return identical account-wide totals for staging and production.

    Only the environment holding the export needs 'billing_export_table' set:
    one billing account exports to one project, and that export already covers
    every project on the account. Asking any other environment for costs returns
    an error naming the one that has it.

    Args:
        group_by: One of 'service', 'sku', 'project', 'region'. Default 'service'.
        days: Lookback window in days over usage_start_time. Default 30.
        limit: Max rows returned (highest net cost first).
        all_projects: Report the whole billing account instead of just this
            environment's project. Pair with group_by='project' to compare
            projects; the totals then are not specific to this environment.
        environment: Which configured GCP environment to bill against, e.g.
            'staging' or 'production'. Omit to use the default environment.
    
- **get_billing_info** — Return the billing account linked to the project and its status.

    Args:
        environment: Which configured GCP environment to inspect, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **search_assets** — Search all cloud resources in the project via Cloud Asset Inventory.

    Args:
        asset_types: Optional comma-separated asset types to filter, e.g.
            'compute.googleapis.com/Instance,run.googleapis.com/Service'.
        query: Optional free-text/structured query, e.g. 'state:RUNNING' or
            'location:us-central1'.
        limit: Maximum number of resources to return. Default 50; raise it when
            you know you need a full inventory, since each resource costs
            context.
        include_labels: Include resource labels. Off by default because
            deployment labels are usually the largest part of the response and
            rarely answer the question being asked.
        environment: Which configured GCP environment to search, e.g. 'staging'
            or 'production'. Omit to use the default environment. Call
            list_environments to see what is configured.
    
- **list_compute_instances** — List Compute Engine VM instances with location and status.

    Args:
        limit: Maximum number of instances to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_cloud_run_services** — List Cloud Run services.

    Args:
        limit: Maximum number of services to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_gke_clusters** — List GKE (Kubernetes Engine) clusters.

    Args:
        limit: Maximum number of clusters to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    
- **list_sql_instances** — List Cloud SQL instances.

    Args:
        limit: Maximum number of instances to return.
        environment: Which configured GCP environment to query, e.g. 'staging'
            or 'production'. Omit to use the default environment.
    

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "gcp-platform-engineer": {
    "command": "uvx",
    "args": ["platform-mcp"],
    "env": {
      "PLATFORM_MCP_CONFIG": "",
      "PLATFORM_MCP_ENVIRONMENTS": "",
      "PLATFORM_MCP_DEFAULT_ENVIRONMENT": "",
      "GOOGLE_APPLICATION_CREDENTIALS": ""
    }
  }
}
```

**Requires environment variables:** `PLATFORM_MCP_CONFIG`, `PLATFORM_MCP_ENVIRONMENTS`, `PLATFORM_MCP_DEFAULT_ENVIRONMENT`, `GOOGLE_APPLICATION_CREDENTIALS` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What GCP Platform Engineer does

The GCP Platform Engineer MCP server gives an MCP client read-only access to selected Google Cloud platform data. It is intended for the Cloud Platforms category and supports incident investigation, service inventory, monitoring review, billing analysis, and recommendation discovery without exposing tools that change infrastructure.

The server can query Cloud Logging with advanced filters, retrieve recent high-severity entries, and group application errors from Error Reporting. It can also inspect Monitoring time series, alert policies, and uptime checks. For inventory work, it searches Cloud Asset Inventory and lists Compute Engine instances, Cloud Run services, GKE clusters, and Cloud SQL instances.

Cost-focused tools read billing export data from BigQuery, report linked billing-account status, and collect cost-optimization or service-specific recommendations. Results can be scoped to a configured project or, for billing analysis, expanded to the full billing account.

## How it works

A single GCP Platform Engineer MCP server can be configured with multiple environments, such as staging and production. Each environment identifies a project and can use its own service account through impersonation or a credentials file. Tool calls accept an optional environment value; omitted values use the configured default.

Environment names, configured aliases, common shorthand names, and bare project IDs can resolve to the target project. Invalid names produce an error rather than silently selecting another project. Responses include the environment and project associated with the result, which helps distinguish data from multiple targets.

All capabilities are observational. The recommended security model combines the server's read-only behavior with viewer-oriented IAM permissions on the identity it uses. This limits the effect of both the available tools and the credentials behind them.

## Setup and configuration

The GCP Platform Engineer MCP server requires Python 3.11 or newer, a Google Cloud project, credentials, and the `gcloud` CLI for initial setup. It can be run with `uvx platform-mcp`, installed with `pipx`, or installed from a checkout for development.

Before connecting a client, enable the APIs used by the selected tools, including Logging, Monitoring, Error Reporting, Recommender, Cloud Asset, Cloud Billing, and BigQuery. Grant the identity appropriate viewer roles. Cost breakdowns additionally require BigQuery job and dataset access, and a configured fully qualified billing export table.

Configuration can be stored in a TOML file or supplied through environment variables. `PLATFORM_MCP_CONFIG` selects an alternate configuration file. `PLATFORM_MCP_ENVIRONMENTS` defines projects, impersonated service accounts, aliases, and billing export settings, while `PLATFORM_MCP_DEFAULT_ENVIRONMENT` selects the fallback target. `GOOGLE_APPLICATION_CREDENTIALS` provides an alternative service-account key path.

Run `platform-mcp doctor` to check credentials, impersonation, API access, and billing-export readability for configured environments.

## Tools and capabilities

The GCP Platform Engineer MCP server exposes tools for:

- Selecting and inspecting configured environments.
- Filtering logs and retrieving recent errors.
- Grouping Error Reporting issues by frequency and service.
- Querying metric time series with configurable windows, alignment, and aggregation.
- Listing alert policies and uptime checks.
- Reviewing billing totals by service, SKU, project, or region.
- Finding idle, rightsizing, IAM, and other available recommendations through GCP recommenders.
- Searching assets and listing common compute and managed-service resources.

Query limits, lookback periods, locations, services, metric filters, and environment targets vary by tool. Cost recommendation discovery can scan specified locations or derive locations from Asset Inventory.

## Limitations and notes

The server does not mutate GCP state. It also does not replace IAM configuration: the caller must provide credentials with access to each target project and, where applicable, the billing dataset and account.

Billing data depends on a readable BigQuery export. A billing export may cover several projects, so account-wide results must be requested deliberately when comparing projects. Some recommendation locations or recommenders may be unavailable or empty and are skipped during aggregate scans.

Large asset searches and broad log or metric queries can consume substantial context. Use filters and limits when the question concerns a particular service, time range, resource type, or location.

_Full upstream README: https://allmcps.com/mcp/gcp-platform-engineer/readme_

