mcpField
G
Google Cloud MCP Server

Google Cloud MCP Server

ローカル
github.com/lreimerクラウド・インフラ477 週間前に更新

Google Cloud MCP Server について

Go と Cobra で実装された Google Cloud 向け MCP サーバーです。stdio と SSE に対応し、プロジェクト、Container クラスタ、Cloud Run サービスの一覧取得と詳細表示を提供します。

主な機能

  1. 01stdio と SSE のトランスポート
  2. 02プロジェクトの一覧取得と詳細表示
  3. 03クラスタの一覧取得と詳細表示
  4. 04Cloud Run サービスの一覧取得と詳細表示

活用シーン

  1. 01Google Cloud プロジェクトの詳細確認
  2. 02Container クラスタと Cloud Run サービスの確認

MCP 対応

MCP サーバーは stdio または SSE を介して、Google Cloud のプロジェクト、Container クラスタ、Cloud Run サービスの一覧取得と詳細表示をクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"gcp": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
起動コマンドnpx -y @modelcontextprotocol/inspector

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@modelcontextprotocol/inspector

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 ファイルをお読みください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。