Google cloud platform MCP server with 250+ tools
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
- GCP Project: You need an active GCP project.
- Service Account: Create a service account with the necessary permissions (e.g., Editor or specific roles for services you want to manage).
- 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
Method 1: Using Docker (Recommended)
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
- Install dependencies:
npm install - Build the project:
npm run build - 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