社内業務をAIに開放 — 自社MCPサーバー群一挙公開!

8 min read

目次

  1. はじめに
  2. 全体像
  3. 設計思想
  4. なぜこんなに分けたのか
  5. 共通基盤
  6. インフラ系: GCloud / AWS
  7. GCloud MCP
  8. AWS MCP
  9. ドキュメント・ナレッジ系: GWS / Git Server
  10. GWS (Google Workspace) MCP
  11. Git Server MCP
  12. オブザーバビリティ: Grafana MCP
  13. CI/CD: CircleCI MCP
  14. プロジェクト管理: Project Management MCP
  15. 業務特化系
  16. Stylist Insights / UX Insights MCP
  17. freee MCP
  18. 開発基盤: Workspace / Sandbox
  19. Workspace MCP — GitHubアカウント不要のコード編集
  20. Sandbox MCP — 非エンジニアのアプリデプロイ
  21. グラフ系: Code Graph / Product Graph / Biz Graph
  22. セキュリティモデル
  23. 多層防御
  24. 退職時の自動失効
  25. まとめ

はじめに

以前、全社17DB・994テーブルを安全に横断検索・クエリ実行できる「DB Graph MCP」を紹介しました。ありがたいことに反響をいただいたので、今回はDB Graph以外に社内で運用しているMCPサーバー群をまとめて紹介します。

これらは2026年1月から約3ヶ月で構築したもので、現在社内で稼働しているMCPサーバーはDB Graphを含めて17個。DB、インフラ、ドキュメント、プロジェクト管理、オブザーバビリティ、CI/CD、さらには非エンジニアによるコード修正・デプロイまで、社内業務のかなり幅広い領域をAIから操作できる状態になっています。

全体像

まず全サーバーの一覧です。

カテゴリ サーバー 説明
データ DB Graph 全社DB辞書 + 実DBクエリ
インフラ GCloud GCPリソースのリードオンリー参照
AWS AWSリソースのリードオンリー参照
ドキュメント・ナレッジ GWS Google Workspace全サービス操作
Git Server 全社Gitリポジトリのリードオンリー参照
グラフ Code Graph コードベース解析(関数→API→DB→イベントの依存追跡)
Product Graph code + DB + docs統合ナレッジグラフ
Biz Graph 施策×指標の関連性グラフ
オブザーバビリティ Grafana ログ・メトリクス・アラート参照
CI/CD CircleCI パイプライン実行・ビルドログ・テスト結果
プロジェクト管理 Project Management BQ/Firestore/Sheets連携のPM支援
業務特化 Stylist Insights スタイリストのパフォーマンス・KPIデータ
UX Insights UX分析用BQ集計データ
freee freee API連携
開発基盤 Workspace 社内モノレポのACL付き編集・デプロイ
Sandbox 非エンジニア向けアプリデプロイ

これらはすべてTypeScriptで実装され、PulumiでGCPにデプロイされ、Google OAuthで認証されています。

設計思想

なぜこんなに分けたのか

1つの巨大なMCPサーバーに全機能を詰め込むこともできますが、あえてサーバーを分けています。理由は以下のとおりです。

共通基盤

全サーバーに共通するパターンがあります。

認証: 共通パッケージでGoogle OAuth 2.0 + PKCEを実装。RFC 8414の自動検出に対応しており、.mcp.json にURLを書くだけでClaude Codeが自動的に認証フローを開始します。ビジネスサイド向けにはClaudeの組織設定でカスタムコネクタとして追加するだけです。

{
  "mcpServers": {
    "server-name": {
      "type": "http",
      "url": "https://mcp-xxx.your-domain.example/mcp"
    }
  }
}

これだけ。auth ブロック不要。全サーバーでこの形式です。

セッション管理: Upstash Redisで全サーバー共通のセッションストアを提供。SSOクッキーにより、1回ログインすれば全サーバーにアクセスできます。

ツール利用ログ: 全ツール呼び出しをBigQueryに記録しています。誰がいつ何のツールを使ったかがすべて追跡可能。利用率やエラー率、使われ方を見て改善サイクルを回しています。

インフラ系: GCloud / AWS

みなさん、クラウド環境の調査をAIにやらせたいと思ったこと、もしくは実際にやったことはありませんか?

そして同時に思ったはずです。**「それやらせて大丈夫か?」**と。

私の場合、管理者権限まで持っていたりするのでなおさら怖い。というわけで絶対に参照しかできないMCPを作成しました。

こだわりポイントは2つあります。

  1. OIDC / STS / Impersonateを使ったセキュアな認証 — 永続的なクレデンシャルは一切使わない
  2. アカウント別に必ずログが残る — GCP Audit Log / CloudTrailに個人のメールアドレスが記録される

GCloud MCP

Claude Code → MCP Server → gcloud CLI subprocess → GCP APIs

gcloud CLIをCloud Run上で実行します。ポイントはOAuthスコープで書き込みを原理的に不可能にしていることです。

# こんなことができる
「prod の Cloud Run サービス一覧を見せて」
「このサービスの環境変数を確認して」
「Secret Manager のシークレット一覧を出して」

AWS MCP

GCloudと同じ思想ですが、AWSはGoogle OAuthを直接受けられないため、間にSTSを挟みます。

Claude Code → MCP Server → GCPメタデータ → ID Token
                         → AWS STS AssumeRoleWithWebIdentity → 一時credentials
                         → aws CLI subprocess → AWS APIs

2層の安全装置:

  1. IAMロールに ReadOnlyAccess ポリシーのみアタッチ
  2. 一時クレデンシャルの有効期限(1時間)

マルチAWSアカウントにも対応しています。profile パラメータでアカウントを切り替えられ、CloudTrailには assumed-role/mcp-aws-readonly/user@example.com の形式で記録されます。

ドキュメント・ナレッジ系: GWS / Git Server

GWS (Google Workspace) MCP

Google Workspaceの全サービスをClaude Codeから操作できるサーバーです。

Claude Code → MCP Server → gws CLI subprocess → Google Workspace APIs

gws CLIをリモート実行する構成。ユーザーのOAuthアクセストークンをそのまま渡すので、各自の権限でアクセスします。自分のDriveは見えるが、他人のDriveは見えない、という挙動になります。

OAuth認証と同時にGoogle Workspaceの認可も通るので、MCPに接続した時点で自分のWorkspaceリソースに即座にアクセスできるのが体験として良いところです。追加のログインやトークン設定は一切不要です。

# こんなことができる
「このスプレッドシートの売上データをまとめて」
「先週のカレンダーから会議の議事録を抽出して」
「このドキュメントの内容を要約して」

Git Server MCP

全社Gitリポジトリをリードオンリーで参照するサーバーです。

作った動機はGitHub MCPのレートリミット回避です。GitHubの公式MCPサーバーは内部的にGitHub APIを叩くため、レートリミットに縛られます。AIにコードベースを調査させると驚くほどあっという間に上限に達して使い物にならなくなります。

Git Server MCPはGCE VM上で全リポジトリのmainブランチのクローンを保持しており、ローカルのgitコマンドで操作するためレートリミットが一切ない。いくらでもクエリできます。

ツール 説明
git_blame 各行の最終変更コミットを取得
git_log コミット履歴
git_grep リポジトリ横断テキスト検索
git_show コミット詳細
git_diff コミット間の差分
read_file ファイル読み取り
list_files ファイル一覧
search_repos リポジトリ検索

GitHubアカウントがなくても、OAuth認証さえ通ればコードを読めます。

オブザーバビリティ: Grafana MCP

公式 mcp/grafana DockerイメージをCloud Runにデプロイし、OAuthプロキシを前段に置く構成です。

Claude Code → OAuth Proxy → mcp-grafana → Grafana Cloud

PromQL / LogQLクエリ、ダッシュボード参照、アラートルール確認などが可能です。

ここで重要なのは、Grafanaのダッシュボードやアラートルール自体もリポジトリ内で**Pulumi (TypeScript)**として定義されていることです。つまり、

  1. アプリケーションコードを書く
  2. そのアラートルールも同じリポジトリで定義する
  3. 本番でアラートが発火する
  4. Claude CodeがGrafana MCPでログを読む
  5. 同じリポジトリのコードを修正する

というコード → インフラ → オブザーバビリティ → 調査 → 修正のループが完全に閉じています。

CI/CD: CircleCI MCP

CircleCI API v2と連携するサーバーです。共有CircleCIトークンをGoogle SSO認証の背後に配置し、チーム全員がトークン管理なしで利用可能になっています。

Claude Code → OAuth Proxy → CircleCI MCP (sidecar) → CircleCI API v2

Cloud Runのマルチコンテナ構成で、公式 @circleci/mcp-server-circleci をサイドカーとして動かし、前段にOAuthプロキシを置いています。

# こんなことができる
「mainブランチの最新パイプラインのステータスを教えて」
「このビルドの失敗ログを見せて」
「フレーキーテストを検出して」

プロジェクト管理: Project Management MCP

Firestoreの課題管理操作と、Slack・Meetの会話をセマンティック検索できるサーバーです。

主な機能は以下のとおりです。

業務特化系

Stylist Insights / UX Insights MCP

それぞれスタイリストのパフォーマンス・KPIデータ、UX分析用の集計データにアクセスするサーバーです。BQの集計テーブルに対するクエリインターフェースを提供します。

freee MCP

freee APIにOAuth認証付きで接続するプロキシサーバーです。会計データの参照に使います。

開発基盤: Workspace / Sandbox

ここが一番ユニークなところかもしれません。

Workspace MCP — GitHubアカウント不要のコード編集

社内モノレポのACL付きファイル編集・コミット・PR作成・デプロイを提供するサーバーです。

GitHubアカウントは不要で、Google Workspaceアカウント(OAuth)のみで利用可能です。

1. workspace_init          → worktree 作成、ブランチ初期化
2. workspace_write_file    → コード編集
3. workspace_diff          → 変更確認
4. workspace_commit        → コミット
5. workspace_push          → GitHub に push
6. workspace_deploy        → feature ブランチからデプロイ(テスト)
7. 動作確認 OK
8. workspace_create_pr     → レビュー依頼

アクセス制御はFirestoreで管理しています。管理者が各ユーザーに対して**編集・デプロイ可能なスタック(ディレクトリ)**を設定します。

{
  "allowedPaths": ["apps/web/xxx/", "apps/api/xxx/"],
  "allowedStacks": ["api-xxx", "pages-xxx"],
  "role": "developer"
}

これにより、非エンジニアでも自分に許可されたスタックだけを安全に編集・デプロイできます。実際に、非エンジニアのメンバーがAI + Workspace MCPでフルスクラッチのKPIダッシュボードの改善を行っています。

Sandbox MCP — 非エンジニアのアプリデプロイ

さらに踏み込んで、非エンジニアが自分のアプリを社内公開できるサーバーです。

1. sandbox_init_repo(app_name: "my-tool")    → リポジトリ初期化
2. sandbox_write_file(...)                    → ファイル書き込み
3. sandbox_publish(app_name: "my-tool")       → Cloud Run デプロイ
   → https://sbx-{nickname}--my-tool.example.com/

gcloudもDockerも不要です。Claudeに「こういうツールが欲しい」と言うだけで、アプリが社内URLで公開されます。

公開されたアプリはCloudflare AccessでGoogle Workspace認証がかかるため、社内メンバーだけが安全にアクセスできます。インターネットに公開されていても組織外からはアクセス不可能です。

詳細はSandbox MCPの記事にまとめています。

グラフ系: Code Graph / Product Graph / Biz Graph

コードベースやビジネスロジックをグラフ構造で解析するサーバー群です。

サーバー 対象 特徴
DB Graph 全社DB テーブル辞書 + セマンティック検索 + 実DBクエリ + PII匿名化
Code Graph 全社のソースコード(複数リポジトリ横断) 静的解析で関数→API→DB→イベントの依存をリポジトリをまたいで追跡
Product Graph 社内モノレポ全体 code + DB + docsを統合したナレッジグラフ。全ノードにビジネスコンテキスト付き
Biz Graph ビジネス施策と指標 施策×指標の関連性グラフ

それぞれ設計思想が異なり、解決する課題も違います。DB GraphはDB Graph MCPの記事、Biz GraphはBiz Graphの記事で詳しく紹介しています。

セキュリティモデル

全サーバーに共通するセキュリティの考え方を整理します。

多層防御

Layer 1: Google Workspace OAuth + ドメイン制限
  → 組織ドメインのみ。組織外はログイン不可

Layer 2: SSO + セッション管理
  → Upstash Redis、7日TTL、スライディングウィンドウ

Layer 3: サーバーごとのスコープ制限
  → GCloud: cloud-platform.read-only
  → AWS: ReadOnlyAccess ポリシー
  → DB Graph: SELECT のみ + PII匿名化

Layer 4: データレベルの保護
  → PII自動匿名化(40+カラムパターン)
  → 機密データセットは BQ IAM で制御
  → 本番DBはリードレプリカのみ

Layer 5: 監査ログ
  → 全ツール呼び出しを BQ に記録
  → GCP Audit Log / CloudTrail に個人メール記録

退職時の自動失効

全サーバーがGoogle OAuthに依存しているため、Google Workspaceアカウントを無効化するだけで全MCPへのアクセスが自動失効します。個別のトークン失効やアカウント削除は不要です。

まとめ

自社MCPサーバーを開発・運用して得た知見をまとめます。

1. 認証は共通化すべき OAuthの実装を共通パッケージにしたことで、新しいサーバーの追加が圧倒的に楽になりました。認証まわりのコードは各サーバーで10行程度です。

2. リードオンリーから始める GCloud / AWS / Git Serverはすべてリードオンリーです。まず読み取りだけ許可し、本当に必要になったら書き込みを追加する。このアプローチでセキュリティの議論がシンプルになります。

3. 既存ツールをラップする gcloud CLI、aws CLI、gws CLI、CircleCI MCP — 既存のCLIやMCPサーバーをOAuthプロキシの背後に置くだけで、チーム全員が安全に使えるようになります。ゼロから作る必要はありません。

4. 非エンジニアへの開放が一番楽しみ Workspace MCPとSandbox MCPにより、GitHubアカウントを持たないメンバーでもコードを修正してデプロイできる基盤が整いました。まだ作ったばかりで大きな成果はこれからですが、ここが一番ポテンシャルがあると思っています。

5. すべてを同じリポジトリで管理する アプリケーション、インフラ(Pulumi)、オブザーバビリティ(Grafanaアラートルール)、MCPサーバー、すべてが1つのモノレポにあります。これにより「コードを書く → デプロイする → 監視する → 問題を見つける → 修正する」のループが完全に閉じます。


DB Graph MCPの記事で「テーブル間の繋がり方が特定の人の頭の中にのみ存在する」という課題を紹介しました。MCPサーバー群の全体像を見ると、これはDBに限った話ではないことがわかります。

インフラの状態、コードの依存関係、ドキュメントの内容、プロジェクトの進捗、ユーザーの行動ログ — これらすべてが「特定の人の頭の中」にある状態を解消するのが、MCPサーバー群の本質的な役割です。

知識をAIがアクセスできる形で外部化する。それが全MCPサーバーの共通テーマです。

comments (0)

まだコメントはありません。