Skip to main content
Glama

GCP MCP Server

A comprehensive Model Context Protocol (MCP) server for managing everything in Google Cloud Platform (GCP). This server exposes over 250 tools across 23 GCP service domains, allowing AI models to manage infrastructure, deployments, data, and security.

Features

  • TypeScript implementation using the @modelcontextprotocol/sdk

  • OAuth2 Authentication using a GCP Service Account JSON key

  • Dockerized for easy deployment

  • Write Safety controlled by environment variable

  • Comprehensive Coverage of 23 service domains:

    • Compute Engine, GKE, Cloud Storage

    • IAM, BigQuery, Cloud Functions, Cloud Run

    • VPC Networking, Load Balancing, Cloud SQL, Firestore

    • Pub/Sub, Cloud Build, Artifact Registry

    • Secret Manager, Cloud KMS, Cloud DNS

    • Cloud Logging, Cloud Monitoring

    • Resource Manager, Billing, App Engine, Service Usage

Prerequisites

  1. GCP Project: You need an active GCP project.

  2. Service Account: Create a service account with the necessary permissions (e.g., Editor or specific roles for services you want to manage).

  3. JSON Key: Generate and download a JSON key for the service account.

Configuration

The server requires the following environment variables:

Variable

Description

Required

GOOGLE_APPLICATION_CREDENTIALS

Path to the service account JSON key file

Yes (or use inline)

GCP_PROJECT_ID

Your GCP Project ID

Yes

GCP_REGION

Default region (default: us-central1)

No

GCP_ZONE

Default zone (default: us-central1-a)

No

GCP_ALLOW_WRITE

Set to true to enable creating/modifying resources

No (default: false)

Alternative Credential Methods

Instead of a file path, you can pass the credentials inline:

  • GCP_SERVICE_ACCOUNT_KEY_JSON: The raw JSON string of the key.

  • GCP_SERVICE_ACCOUNT_KEY_BASE64: Base64 encoded string of the JSON key.

Installation & Usage

Build the Docker image:

docker build -t gcp-mcp-server .

Run the container:

docker run -i --rm \
  -v /path/to/your/key.json:/app/key.json \
  -env GOOGLE_APPLICATION_CREDENTIALS=/app/key.json \
  -env GCP_PROJECT_ID=your-project-id \
  -env GCP_ALLOW_WRITE=true \
  gcp-mcp-server

Method 2: Running Locally

  1. Install dependencies:

    npm install
  2. Build the project:

    npm run build
  3. Run the server:

    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json
    export GCP_PROJECT_ID=your-project-id
    export GCP_ALLOW_WRITE=true
    npm start

Integration with Claude Desktop

Add the following to your claude_desktop_config.json:

Using Docker

{
  "mcpServers": {
    "gcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/path/to/your/key.json:/app/key.json",
        "-e",
        "GOOGLE_APPLICATION_CREDENTIALS=/app/key.json",
        "-e",
        "GCP_PROJECT_ID=your-project-id",
        "-e",
        "GCP_ALLOW_WRITE=true",
        "gcp-mcp-server"
      ]
    }
  }
}

Using Node

{
  "mcpServers": {
    "gcp": {
      "command": "node",
      "args": [
        "f:/MCP_Server/cloud_MCP/GCP_MCP_server/dist/index.js"
      ],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "f:/path/to/your/key.json",
        "GCP_PROJECT_ID": "your-project-id",
        "GCP_ALLOW_WRITE": "true"
      }
    }
  }
}

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmedselimmansor-ctrl/GCP_MCP_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server