一言で
MCP は「Model Context Protocol」の略称で、AI モデルに対して追加の文脈や機能を提供するプロトコルである。
仕組み
flowchart LR
subgraph Host["🤖 AI Host (VS Code / Copilot CLI 等)"]
APP[Copilot]
CL1[MCP Client]
CL2[MCP Client]
CL3[MCP Client]
CL4[MCP Client]
CL5[MCP Client]
end
subgraph MCP["🔌 MCP Layer (1 Client ⇄ 1 Server)"]
SLs[Work IQ MCP Server]
JRs[GitHub MCP Server]
FSs[Playwright MCP Server]
PWs[Context7 MCP Server]
APIs[Salesforce MCP Server]
end
subgraph Tools["🛠️ External Tools"]
SL[Work IQ]
JR[GitHub]
FS[Playwright]
PW[Context7]
API[Salesforce]
end
APP --- CL1
APP --- CL2
APP --- CL3
APP --- CL4
APP --- CL5
CL1 <-->|stdio| SLs
CL2 <-->|HTTP| JRs
CL3 <-->|stdio| FSs
CL4 <-->|stdio| PWs
CL5 <-->|stdio| APIs
SLs <-->|API| SL
JRs <-->|API| JR
FSs <-->|API| FS
PWs <-->|API| PW
APIs <-->|API| API
classDef host fill:#0a0e27,stroke:#00f0ff,color:#00f0ff,stroke-width:2px
classDef proto fill:#1a0a2e,stroke:#ffb000,color:#ffb000,stroke-width:2px
classDef tool fill:#0a1a14,stroke:#9bbc0f,color:#9bbc0f,stroke-width:2px
class APP,CL1,CL2,CL3,CL4,CL5 host
class SLs,JRs,FSs,PWs,APIs proto
class SL,JR,FS,PW,API tool
なぜ重要?
MCP がもたらす 3 つの価値:
- 🧩 機能拡張:Copilot を 一つの起点 にして、あらゆる外部ツールを操作できる。
- 要件を読み書きする (Jira)
- デザインを作る (Figma)
- 3D デザインを生成して印刷する (Blender + 3D プリンター)
- メール・カレンダーを確認・編集する (Work IQ)
- 社内データベースに接続して分析する
- 🔗 ワークフローを統合:個別ツールを繋ぐカスタム実装が不要になり、Copilot が 複数システムを横断するハブ として機能する。
- 🌐 広いエコシステム対応:MCP は オープンなプロトコル で、すでに 事実上の標準 になりつつあります。AI アシスタント、Visual Studio などの開発ツール、その他多くのアプリケーションが MCP をサポートしており、一度作れば、どこでも繋がる。コーディング統合との相性も抜群。
どこで動く?
MCP サーバーの実行場所は 2 種類 あります。
- stdio 方式 では、VS Code が ローカルマシン上で子プロセス として MCP サーバーを起動します。
- HTTP 方式(SSE / streamable-http) では、MCP サーバーが クラウドやリモートサーバー上で稼働 し、VS Code は クライアントとして接続するだけ です。
用途やセキュリティ要件に応じて使い分けが可能です。
npm exec の 子プロセス として動いているのが分かるVS Code での設定
VS Code の Marketplace から MCP サーバーをインストール する時、2 つのスコープを選べる:
Install→ 個人設定 ファイル(User Settings)に追加Install Workspace→ リポジトリ設定 ファイル(.vscode/mcp.json)に追加
.vscode/mcp.json
▸ リポジトリ共有
Git に含まれるので、チーム全員 で MCP を揃えられる。メンバーが repo を clone すると VS Code が 「有効化しますか?」 と確認してくる。
User Settings
▸ 自分の PC のみ
個人用 / 全プロジェクト共通で使いたい時。Git には含まれない。
- 📁 Mac:
~/.config/Code/User/settings.json - 🪟 Windows:
%APPDATA%\Code\User\settings.json
Copilot CLI で始める
# MCP server を追加
copilot mcp add <server-name>
# 既存サーバ一覧
copilot mcp list
GitHub 公式 MCP server は最初から接続済み。gh コマンドを叩く感覚で、AI が Issues / PRs / Actions / Code search を操作できる。
modelcontextprotocol/registry には公式 + コミュニティ製の server が多数(filesystem / postgres / slack / puppeteer / playwright / Figma…)。
MCP Registry とは
MCP Registry は、エコシステム全体の MCP サーバーを一覧できる オープンなレジストリ。自前のレジストリを立てることもできる。
| 項目 | 🌐 MCP Registry | 🐙 GitHub MCP Registry |
|---|---|---|
| 管理者 | MCP Working Group | GitHub |
| 内容 | 公式 + コミュニティの 全 server(約 13,238/2026-06-23 時点) | GitHub が 厳選した一覧(約 100) |
| 既定で使われる場所 | — | VS Code ↗ など |
| URL | registry.modelcontextprotocol.io ↗ | github.com/mcp ↗ |
🛠️ 自前のレジストリ を作り、許可する server を 拡張 したり 絞り込ん だりできる。 🛡️ 作ったレジストリは Organization / Enterprise レベルで強制 できる(allowlist enforcement)。
自前の MCP Registry を作る
ホスティングは 2 通り。どちらも VS Code / Org / Enterprise から参照・強制できる(⚠️ 要注意: 強制が効くのはユーザーが実際に利用中(アクティブ)のライセンスに対してのみ)。
Self-hosted
▸ フルコントロール
OSS の modelcontextprotocol/registry ↗(Go 製サービス)を自前のインフラにデプロイ。MCP Working Group が公式メンテ。
Azure API Center
▸ マネージド
Azure の API Center ↗ に MCP server を登録・公開。インフラ管理は不要。
クライアント側の設定
- GitHub Org / Enterprise:レジストリを設定 ↗ し、allowlist で強制 ↗
社内 server を非公開に保つ仕組み
カタログは公開 — 守るのは 配布元(ソース)。Azure API Center に登録した server はカタログに到達できる人には見えるが、公開されるのは メタデータだけ。実際の ダウンロード/接続は別で制御 できる。
flowchart LR
DEV["👤 開発者<br/>VS Code / Copilot<br/>@mcp を開く"]
AC["🌐 Azure API Center<br/>カタログ = 公開<br/>メタデータだけ(コードなし)"]
STDIO["◆ stdio → 🔒 プライベートレジストリ<br/>GitHub Packages / GHCR / Azure Artifacts<br/>認証トークンが必要"]
HTTP["◆ HTTP → 🏢 社内ネット / VPN<br/>公開インターネットから到達不可<br/>前段に SSO / ネットワーク認証"]
EMP1["✅ 社員は取得"]
OUT1["⛔ 部外者 → 401"]
EMP2["✅ 社員は接続"]
OUT2["⛔ 部外者 → 遮断"]
DEV --> AC
AC -->|パッケージ参照| STDIO
AC -->|リモート URL| HTTP
STDIO --> EMP1
STDIO --> OUT1
HTTP --> EMP2
HTTP --> OUT2
classDef dev fill:#0a0e27,stroke:#00f0ff,color:#00f0ff,stroke-width:2px
classDef cat fill:#1a0a2e,stroke:#ffb000,color:#ffb000,stroke-width:2px
classDef stdio fill:#0a0e27,stroke:#00f0ff,color:#00f0ff,stroke-width:2px
classDef http fill:#1a0a2e,stroke:#ff2e97,color:#ff2e97,stroke-width:2px
classDef ok fill:#0a1a14,stroke:#9bbc0f,color:#9bbc0f,stroke-width:2px
classDef deny fill:#2a0a0a,stroke:#ff5555,color:#ff5555,stroke-width:2px
class DEV dev
class AC cat
class STDIO stdio
class HTTP http
class EMP1,EMP2 ok
class OUT1,OUT2 deny
✅ カタログは 配布元を指すだけ。配布元を守れば → 実行できるのは認証済みの社員だけ。
MCP Registry をローカルで試す
🧪 これは手順書ではなく個人メモ。 私が実際に試して動いた流れを AI がまとめたもの。ざっくりイメージを掴むためのもので、環境により変わる。
ローカルに registry を立て、HTTPS で公開し、自分の Org に接続して GitHub MCP Registry から seed するまでの流れ。
- Fork & clone —
gh repo fork modelcontextprotocol/registry --clone - Docker で起動 —
docker compose up→ API はlocalhost:8080(初期 DB は demo seed のみ) - HTTPS トンネル —
cloudflared tunnel --url http://localhost:8080→https://<random>.trycloudflare.com - 接続 — トンネル URL を MCP Registry URL に設定(
/v0.1/serversは付けない。Copilot が自動付与)。Org は Settings → Copilot → Policies → MCP、Enterprise は AI controls → MCP - VS Code をリロード & 確認 — Developer: Reload Window →
@mcpで自分の registry の server だけが表示される。Cmd + ,(設定)で MCP 設定が 「managed by your organization」 バッジ付き(= Org ポリシーが効いている)か確認 - GitHub Registry から seed —
go run scripts/mirror_data/fetch_production_data.go+load_production_data.go(source:https://registry.modelcontextprotocol.io/v0/servers)
⚠️ VS Code が この Org の Copilot ライセンス を使っているか確認(別アカウント/個人プランだと Org のポリシーが効かない)。
mirror_dataスクリプトは as-is なので、許可したい server に合わせて絞り込む。