Google Cloud MCP Server
Provides tools for managing Google Kubernetes Engine (GKE) clusters, including capabilities to list clusters, retrieve specific cluster details, manage node pools, and view server configurations.
Facilitates operations on Kubernetes clusters hosted on Google Cloud, allowing users to programmatically interact with GKE resources like node pools and cluster configurations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Cloud MCP Serverlist the node pools for autopilot-cluster-1 in us-central1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GKE Deployment Scripts Guide
This guide provides automated scripts to deploy sample applications to your GKE clusters for testing your GCP tools.
Google Cloud MCP Server
Current Suppported Tools: GKE
Prerequisites
Before running these scripts, you need:
Google Cloud SDK (gcloud) - For cluster authentication
kubectl - For Kubernetes operations
Two GKE Autopilot clusters:
autopilot-cluster-1inus-central1autopilot-cluster-2ineurope-west2
Related MCP server: Kubernetes MCP Server
Installation Steps
Step 1: Install Google Cloud SDK
Windows (PowerShell)
# Run PowerShell as Administrator
.\setup-gcloud.ps1Then initialize gcloud:
gcloud initmacOS/Linux (Bash)
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud initStep 2: Install kubectl
gcloud components install kubectlStep 3: Verify Installations
gcloud --version
kubectl version --clientUsage
Quick Start
Option A: PowerShell (Windows)
# Deploy applications to both clusters
.\deploy-apps.ps1 -ProjectId "your-project-id"
# Or use current gcloud project (if configured)
.\deploy-apps.ps1Option B: Bash (Linux/macOS)
# Make scripts executable
chmod +x deploy-apps.sh cleanup-deployments.sh
# Deploy applications to both clusters
./deploy-apps.sh "your-project-id"
# Or use current gcloud project
./deploy-apps.shWhat Gets Deployed
Cluster 1 (us-central1)
Nginx (3 replicas)
Default namespace
Service: LoadBalancer on port 80
WordPress Stack
Namespace:
wordpressMySQL (1 replica) - Database
WordPress (2 replicas) - Web application
Services: LoadBalancer on port 80
Monitoring Stack
Namespace:
monitoringPrometheus (1 replica) - Metrics collection
Grafana (1 replica) - Visualization
Services: LoadBalancer on ports 9090 & 3000
Cluster 2 (europe-west2)
Same applications deployed for comparison and multi-cluster testing.
Verification Commands
After deployment, monitor the applications:
# Watch all pods across both clusters
kubectl get pods --all-namespaces -w
# Get LoadBalancer external IPs
kubectl get services --all-namespaces
# Check pod distribution
kubectl get pods -o wide --all-namespaces
# View resource usage
kubectl top nodes
kubectl top pods --all-namespaces
# Check deployment replicas
kubectl get deployments --all-namespaces
# View events during deployment
kubectl get events --all-namespaces --sort-by='.lastTimestamp'Testing Your GCP Tools
Once deployments are complete, test your GCP tools:
# List both clusters
py -c "import asyncio; from src.tools.gke import list_gke_clusters; asyncio.run(list_gke_clusters('-'))"
# Get cluster details
py -c "import asyncio; from src.tools.gke import get_gke_cluster; asyncio.run(get_gke_cluster('us-central1', 'autopilot-cluster-1'))"
# List node pools
py -c "import asyncio; from src.tools.gke import list_gke_node_pools; asyncio.run(list_gke_node_pools('us-central1', 'autopilot-cluster-1'))"
# Get node pool details
py -c "import asyncio; from src.tools.gke import get_gke_node_pool; asyncio.run(get_gke_node_pool('us-central1', 'autopilot-cluster-1', 'default-pool'))"
# Get server config
py -c "import asyncio; from src.tools.gke import get_gke_server_config; asyncio.run(get_gke_server_config('us-central1'))"Cleanup
When you're done testing, remove all deployments:
PowerShell
.\cleanup-deployments.ps1Bash
./cleanup-deployments.shThe cleanup script will:
Delete all deployments
Delete all services
Remove custom namespaces (wordpress, monitoring)
Keep the clusters running for future use
Troubleshooting
Issue: "gcloud not found"
Solution: Install Google Cloud SDK (see Step 1 above)
Issue: "kubectl not found"
Solution: Install kubectl with gcloud components install kubectl
Issue: "Cluster credentials failed"
Verify cluster names spelling
Check you're in the correct Google Cloud project:
gcloud config get-value projectSwitch project:
gcloud config set project YOUR_PROJECT_ID
Issue: "CreateContainerError" or "ImagePullBackOff"
Wait longer for pods to start (images are large)
Check pod logs:
kubectl logs <pod-name> -n <namespace>Check events:
kubectl describe pod <pod-name> -n <namespace>
Issue: LoadBalancer IP stuck in "Pending"
This is normal for GKE. The IP will be assigned within a few seconds to a few minutes
Check status:
kubectl get services --all-namespaces -w
Customization
To deploy different applications, modify the deployment scripts:
Edit
deploy-apps.ps1ordeploy-apps.shChange image names, replicas, namespaces as needed
Run the modified script
Example - Deploy a different image:
kubectl create deployment my-app --image=busybox:latest --replicas=2File Structure
gcpInfra/
├── setup-gcloud.ps1 # Install Google Cloud SDK
├── deploy-apps.ps1 # PowerShell deployment script
├── deploy-apps.sh # Bash deployment script
├── cleanup-deployments.ps1 # PowerShell cleanup script
└── cleanup-deployments.sh # Bash cleanup scriptNext Steps
Run deployment script
Wait for all pods to be ready
Test your GCP tools
Verify all deployments working correctly
Run cleanup when done
For more information on GKE, visit: https://cloud.google.com/kubernetes-engine/docs
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables advanced management of Kubernetes clusters through natural language interactions. Supports querying, managing, and monitoring pods, deployments, nodes, and logs across multiple contexts and namespaces.10MIT
- FlicenseBqualityDmaintenanceEnables managing Kubernetes clusters through natural language by providing tools to list resources, view logs, port-forward services, scale deployments, and execute kubectl operations via AI assistants.81
- Alicense-qualityDmaintenanceEnables interaction with Google Cloud Platform services through gcloud CLI commands via a Cloud Run deployed MCP server. Supports executing gcloud commands and managing GCP resources through natural language.MIT
- Flicense-qualityCmaintenanceEnables interaction with Kubernetes clusters through 32 specialized tools for managing resources, deployments, and services. Provides both CLI and web interfaces for real-time Kubernetes operations powered by Google Gemini.5
Related MCP Connectors
Designs, prices, and deploys AWS/GCP cloud infrastructure from plain-English requirements.
Massed Compute MCP — GPU inventory, VM lifecycle, billing, SSH keys, and setup recipes.
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nsachin08/gcpmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server