Content
# Google Cloud MCP Server
A MCP server implementation for Google Cloud using Go and Cobra.
The server supports `stdio` as well as `SSE` as transport. The following
services and operations have been implemented:
- **Projects**: Projects List, Project Describe
- **Container**: Clusters List, Cluster Describe
- **Cloud Run**: Services List, Service Describe
## Build and Release
```bash
goreleaser build --snapshot --clean
goreleaser release --skip=publish --snapshot --clean
```
## Usage Instructions
If you want to use the tool locally, e.g. with Claude Desktop, use the following
configuration for the MCP server.
```json
{
"mcpServers": {
"gcloud": {
"command": "/Users/mario-leander.reimer/Applications/gcp-mcp-server",
"args": ["--transport", "stdio"],
"env": {
}
}
}
}
```
Alternatively, you can use the MCP introspector for easy local development:
```bash
# as stdio binary
npx @modelcontextprotocol/inspector go run main.go
# as SSE server using
go run main.go --transport sse
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8000/sse
npx @modelcontextprotocol/inspector
```
## Deployment
Currently using manual Google Cloud Run deployment. Can either be deployed
directly from source or using the Docker image built on Github.
```bash
# make sure to enable all required APIs
gcloud services enable secretmanager.googleapis.com
gcloud services enable cloudbuild.googleapis.com artifactregistry.googleapis.com
gcloud services enable run.googleapis.com
# create Google service account with required permissions and create key file
export PROJECT_ID=$(gcloud config get-value project)
export SA_NAME=gcp-mcp-server-sa
gcloud iam service-accounts create $SA_NAME --display-name="GCP MCP Server Service Account"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/editor"
gcloud iam service-accounts keys create $SA_NAME.json \
--iam-account=$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com
# create the keyfile as a secret and attach IAM policy
gcloud secrets create $SA_NAME --data-file=$SA_NAME.json
gcloud secrets add-iam-policy-binding $SA_NAME \
--member=serviceAccount:343509396461-compute@developer.gserviceaccount.com \
--role=roles/secretmanager.secretAccessor
gcloud run deploy gcp-mcp-server --source=. \
--region=europe-north1 \
--port=8000 --allow-unauthenticated \
--set-secrets=/secrets/gcp-mcp-server-sa.json=gcp-mcp-server-sa:latest \
--set-env-vars=GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-mcp-server-sa.json,BASE_URL=https://gcp-mcp-server-343509396461.europe-north1.run.app
gcloud run services delete gcp-mcp-server --async --region=europe-north1
```
## Maintainer
M.-Leander Reimer (@lreimer), <mario-leander.reimer@qaware.de>
## License
This software is provided under the MIT open source license, read
the `LICENSE` file for details.
You Might Also Like
Ollama
Ollama enables easy access to large language models on various platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.