🤖

Google SCC MCP サーバーを試してみた

に公開

はじめに

今回は RSA Conference 2025 [1] で Google Cloud が発表した Google Unified Security MCP Server を試したので、その備忘録的な内容になります。

Google Unified Security MCP Server とは

下記 4 つの API に対して MCP 接続するための MCP サーバー [2]になります。

  1. SecOps(Security Operations) API
  2. GTI(Google Threat Inteligence) API
  3. SCC(Security Command Center) API
  4. 3rd Party API

Google 公式の GitHub リポジトリで各 API に対する MCP サーバーが公開されています。

https://github.com/google/mcp-security

本投稿では、SCC MCP サーバーでできることと実装手順を解説します。


AI-Ready Google Unified Security

SCC MCP サーバーでできること

SCC MCP サーバーには下記 2 つのツールが用意されています。

1. Top_vulnerability_findings

  • 指定したプロジェクトにおいて、検出結果クラスが Vulnerability、重要度が High と Critical 状態が Active の検出結果を Attack Exposure Score の降順で一覧表示します。
  • パラメータ
    • project_id(必須): Google Cloud プロジェクト ID
    • max_findings(オプション): 表示する Findings の最大件数(デフォルト 20 件)

以下、プロンプトの実行結果になります。


Top_vulnerability_findings の実行結果

2. get_findings_remediation

  • プロジェクト内の特定の検出結果に対する修復手順と影響を受けるリソースの詳細を表示します(finding_id または resource_namecategory のいずれかを指定します)。
  • パラメータ
    • project_id(必須): Google Cloud プロジェクト ID
    • resource_name(オプション): 影響を受けているリソース名
    • category(オプション): 検出結果のカテゴリー名
    • finding_id(オプション): 検出結果 ID

以下、プロンプトの実行結果になります。


get_findings_remediation の実行結果(検出結果詳細と影響を受けるリソース)


get_findings_remediation の実行結果(修復手順)

実装の流れ

以下、実施手順になります。

  1. サービスアカウントキーの作成
  2. API の有効化設定
  3. LibreChat の初期設定
  4. Vertex AI 接続設定
  5. MCP サーバー設定
  6. エージェントの設定

前提

・本手順は基本的に gcloud コマンドで実施しています
・LibreChat [3] は ChatGPT をクローンした OSS で AI Agent 機能を持つチャットツールです
・LibreChat 一式は Compute Engine 上の Docker 環境に Docker Compose でデプロイします
・LibreChat をデプロイする Compute Engine は事前に作成しています
・Git, Docker, Docker Compose はあらかじめインストールしています
・Private Google Access は事前に有効化しています
・Compute Engine に適用するファイアウォールルールは事前に作成しています

https://github.com/danny-avila/LibreChat/tree/main

利用環境

各ソフトウェアのバージョンは以下の通りです。

Product Version
Linux OS CentOS Stream 9
Docker CE 28.3.2
Docker Compose 2.38.2
Git 2.47.3
LibreChat 0.7.9-rc1
Google Model Gemini 2.5 Pro

【構成図】
・SCC MCP サーバーは LibreChat コンテナ内にデプロイします(stdio 方式)
・Gemini 2.5 Pro モデルを利用するため、Vertex AI API にアクセスします
・Compute Engine から Google API へのアクセスは Private Google Access 経由となります
・ファイアウォールは利用者からの TCP22, TCP3080 の通信を許可しています
・利用者から LibreChat には TCP3080 ポートでブラウザアクセスします


全体構成図

実施手順

以下、実装手順の詳細になります。

1. サービスアカウントキーの作成

LibreChat の公式ドキュメント([Docs] > [Configuration] > [AI Providers] > [Google])を参考にサービスアカウントキーを作成します。

https://www.librechat.ai/docs/configuration/pre_configured_ai/google

Google Cloud コンソールから Cloud Shell を起動し、サービスアカウントを作成します。

サービスアカウントの作成
# サービスアカウントの作成
gcloud iam service-accounts create librechat-sa \
    --display-name="LibreChat Service Account"

# Vertex AI User 権限を付与
gcloud projects add-iam-policy-binding {PROJECT_ID} \
    --member="serviceAccount:librechat-sa@{PROJECT_ID}.iam.gserviceaccount.com" \
    --role=roles/aiplatform.user

# Security Center Admin Editor 権限を付与
gcloud projects add-iam-policy-binding {PROJECT_ID} \
    --member="serviceAccount:librechat-sa@{PROJECT_ID}.iam.gserviceaccount.com" \
    --role="roles/securitycenter.adminEditor"

# Cloud Asset Viewer 権限を付与
gcloud projects add-iam-policy-binding {PROJECT_ID} \
  --member="serviceAccount:librechat-sa@{PROJECT_ID}.iam.gserviceaccount.com" \
  --role="roles/cloudasset.viewer"

Google Cloud コンソールの [IAM と管理] > [サービスアカウント] に移動します。
作成したサービスアカウントを開き、[鍵] タブから 新しい鍵を作成 を選択します。


サービスアカウントキーの作成

キータイプは JSONのまま作成します。(キーファイル名をauth.jsonとします)

2. API の有効化設定

Cloud Shell で下記の Google API を有効化します。

Google API の有効化
#Vertex AI API を有効化
gcloud services enable aiplatform.googleapis.com --project={PROJECT_ID}

# SCC API を有効化
gcloud services enable securitycenter.googleapis.com --project={PROJECT_ID}

# Cloud Asset Inventory API を有効化
gcloud services enable cloudasset.googleapis.com --project={PROJECT_ID}

3. LibreChat の初期設定

事前に作成した Compute Engine に SSH ログインし、環境構築準備を行います。

Google Cloud コンソールから [Compute Engine] > [VM インスタンス] に移動します。
LibreChat マシンを開き、[詳細] タブの [SSH] からブラウザウィンドウで開くを開きます。

[ファイルをアップロード] から作成したキーファイル(auth.json)をアップロードします。


サービスアカウントキーのファイルアップロード

以下のシェル操作で LibreChat の初期環境を構築します。

環境構築準備
# 特権ユーザーに昇格する
sudo su -

# LibreChat リポジトリのクローン
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat

# 設定ファイルのコピー
cp .env.example .env
cp librechat.example.yaml librechat.yaml
cp docker-compose.override.yml.example docker-compose.override.yml

# サービスアカウントキーのファイル(auth.json)を配置する
sudo mv auth.json /root/LibreChat/api/data/
sudo chown root:root /root/LibreChat/api/data/auth.json

4. Vertex AI 接続設定

Gemini 2.5 Pro を利用するために Vertex AI の設定を行います。

引き続き、シェル操作で前手順で作成した .env ファイルを編集します。

.env ファイルの編集
vi /root/LibreChat/.env

Google セクションで下記の環境変数を追記し、:wq! でファイルを保存します。

.env
#============#
# Google     #
#============#

# Vertex AI
GOOGLE_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite-preview-06-17,gemini-2.0-flash-001,gemini-2.0-flash-lite-001

GOOGLE_CLOUD_PROJECT={PROJECT_ID}
GOOGLE_CLOUD_REGION=asia-northeast1

GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH
GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH

次は docker-compose.yml ファイルを編集します。

docker-compose.yml の編集
vi /root/LibreChat/docker-compose.yml

services 配下の api (LibreChat 用のコンテナ)で環境変数ファイルの参照を追記します。

docker-compose.yml
services:
  api:
    #(省略)
    # 環境変数ファイルの参照を追記
    env_file:
      - .env
    # コンテナへのボリュームのマウントを追記
    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

docker-compose.override.yml ファイルを編集します。

docker-compose.override.yml の編集
vi /root/LibreChat/docker-compose.override.yml

services 配下の api でコンテナへのボリュームマウントを追記します。

docker-compose.override.yml
services:

 # USE LIBRECHAT CONFIG FILE
  api:
    command: npm run backend:dev
    volumes:
      - type: bind
        source: ./api/data/auth.json
        target: /app/api/data/auth.json

5. MCP サーバー設定

Google MCP Security リポジトリのクローンをします。

Google MCP Security リポジトリのクローン
# 特権ユーザーに昇格する
sudo su -

# プロジェクトディレクトリに移動
cd LibreChat

# Google MCP Security リポジトリをクローン
git clone https://github.com/google/mcp-security.git

ディレクトリの構造は以下のようになります。

LibreChat ディレクトリの構造
/root/LibreChat/
├── mcp-security/             # クローンしたリポジトリ
│   ├── server/
│   │   ├── scc/
│   │   ├── secops/
│   │   └── gti/
│   └── README.md
├── docker-compose.yml
├── docker-compose.override.yml
├── librechat.yaml
└── .env

docker-compose.yml ファイルを編集します。

docker-compose.yml の編集
vi /root/LibreChat/docker-compose.yml

services 配下の api でコンテナへのボリュームマウントを追記します。

docker-compose.yml
services:
  api:
    #(省略)
    volumes:
    #(省略)
    # コンテナへのボリュームのマウントを追記
      - ./mcp-security:/app/mcp-security

LibreChat 設定ファイル(librechat.yaml)を編集します。

librechat.yaml の編集
vi /root/LibreChat/librechat.yaml

mcpServersendpoints 配下の agents に設定を追記します。

librechat.yaml
# MCP サーバーの設定
mcpServers:
  scc-mcp:
    type: stdio
    command: uv
    args:
      - "--directory"
      - "/app/mcp-security/server/scc"
      - "run"
      - "scc_mcp.py"
    disabled: false
    autoApprove: []
    timeout: 600000
    
# エージェント機能を有効化(MCP サーバーを使用するため)
endpoints:
  agents:
    disableBuilder: false
    capabilities: 
      - "tools"
      - "actions"
      - "execute_code"
    recursionLimit: 25

LibreChat を起動します。

LibreChat サービスの起動
# Docker Compose でサービスを起動
docker compose up -d

# ログを確認して MCP サーバーが正常に初期化されたかチェック
docker compose logs librechat

【参考】
LibreChat Agents Endpoint Object Structure
LibreChat MCP Servers Object Structure

6. エージェントの設定

Web ブラウザで LibreChat(http://{グローバル IP アドレス}:3080)にアクセスします。


LibreChat アカウント登録とログイン

ログイン後、画面右側のパネル(サイドバー)で[エージェントビルダー]を開きます。
[+ 作成 New エージェント]をクリックし、以下の設定を行い、エージェントを作成します。

項目 設定内容
名前 Google Unified Security AI Agent
説明 Google Cloud の Security を解析する AI エージェント
モデル gemini-2.5-pro
ツールを追加 scc-mcp


エージェントの作成

あとは新規プロントで SCC に関する問い合わせをすれば結果が返ってきます。

【参考】
LibreChat Agents: Build Custom AI Assistants

まとめ

いかがでしたでしょうか?

SCC MCP サーバーでできることはそこまで大層なものではありませんが、生成 AI アプリケーションで何ができるのか、どのような仕組みで動いているのかがなんとなく理解できたのではないでしょうか。

正直に言うと現状の SCC MCP サーバーですと直接 Google Cloud コンソール画面で確認するほうがラクかもしれません。今後のアップデートに期待したいです(笑)

脚注
  1. RSAC 2025 から Google Cloud Security の洞察を探る ↩︎

  2. Building an open ecosystem for AI-driven security with MCP ↩︎

  3. LibreChat(公式サイト) ↩︎

  4. プロジェクト名、番号、ID を確認する ↩︎

Logspect Tech Blog

Discussion