Google Cloud MCP Server について
Go と Cobra で実装された Google Cloud 向け MCP サーバーです。stdio と SSE に対応し、プロジェクト、Container クラスタ、Cloud Run サービスの一覧取得と詳細表示を提供します。
主な機能
- 01stdio と SSE のトランスポート
- 02プロジェクトの一覧取得と詳細表示
- 03クラスタの一覧取得と詳細表示
- 04Cloud Run サービスの一覧取得と詳細表示
活用シーン
- 01Google Cloud プロジェクトの詳細確認
- 02Container クラスタと Cloud Run サービスの確認
MCP 対応
MCP サーバーは stdio または SSE を介して、Google Cloud のプロジェクト、Container クラスタ、Cloud Run サービスの一覧取得と詳細表示をクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Cloud MCP サーバー
Go と Cobra を使用した Google Cloud 用の MCP サーバー実装です。
サーバーは、トランスポートとして stdio と SSE の両方をサポートしています。以下の
サービスと操作が実装されています。
- プロジェクト:プロジェクト一覧、プロジェクトの詳細表示
- Container:クラスター一覧、クラスターの詳細表示
- Cloud Run:サービス一覧、サービスの詳細表示
ビルドとリリース
goreleaser build --snapshot --clean
goreleaser release --skip=publish --snapshot --clean
使用方法
Claude Desktop などでツールをローカルに使用する場合は、MCP サーバーに以下の 設定を使用してください。
{
"mcpServers": {
"gcloud": {
"command": "/Users/mario-leander.reimer/Applications/gcp-mcp-server",
"args": ["--transport", "stdio"],
"env": {
}
}
}
}
また、ローカルでの開発を簡単に行うには、MCP introspector を使用できます。
# 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
デプロイ
現在は Google Cloud Run への手動デプロイを使用しています。ソースから直接デプロイするか、 Github でビルドされた Docker イメージを使用してデプロイできます。
# 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:[email protected] \
--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
メンテナー
M.-Leander Reimer (@lreimer), [email protected]
ライセンス
このソフトウェアは MIT オープンソースライセンスのもとで提供されています。詳細については、
LICENSE ファイルをお読みください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。