Dev Containerがあまりにもシームレスで便利なのですっかり忘れていました。
Windows上で動かしているVS Code 、Dev Container環境でも(当然?)
GitHub Copilot のMCPクライアントもサーバーもWindows上で動いているのよね…
いや、MCPサーバーのインストールでuv, uvx でうまく動かないので
GitHub Copilot Agentさんに助けを求めていたんですが…
ターミナルから実行して確認してみて って
確かにターミナル(PowerShellの方でしたか…)
ですよね…
GitHub Copilot さんはDev Containerで開発していて、でも自分はWindows11で動いていて
それでMCPサーバーのインストール。当然、Windows環境にインストール構築って思っているわけで、ターミナルといってらWindows側。
そうかそうですよね…
uv/uvx の場合はWindowsのローカルでMCPサーバーをインストールして動かすから
ローカルにも環境を入れる必要があった…
動かないわけです。
ごめんなさい。
ClineさんのMCPクライアントは
Dev Containerの方で動いて、MCPサーバーもUbuntu側にインストールしてくれたから
すんなり動いたんですね…
そうそう、Cline 拡張機能はDev Container側にもインストールしました。(おぃ)
Dockerの場合は
- Docker Desktop でローカルにも Dockerエンジンがあって
- WSL側にもDev Container 用にDocker動いていて…
Dockerで動かす場合はローカルにコンテナ立ててサクッと動いたわけです。
あわわ。
GitHub Copilot さんはClineで動いているならそっち使えばいいじゃん
って
さらにGitHub Copilot はMCPクライアントもMCPサーバーもまた対応してません!!!
って言い切られてしまって…
あっ。ChatGPTさんと話してみようって
ChatGPTさんにところでVS CodeのGitHub CopilotのMCPサーバーって
どの環境で動いているん?
って会話していて…
あ゛ーーーーーーーーーー
って

ちなみにVS Code のGitHub Copilotも
以下はChatGPTさんまとめ。未チェックです。そのままだし。
Windows 上で動作するVS Code
Dev Container でUbuntu等 Linux環境で開発している場合でも
GitHub Copilot の場合
CopilotのMCPクライアントはWindows上で動作している感じですね。
そのためDev Contaierを使いコンテナ上で開発していても
MCPクライアントのためにWindows環境にもMCPサーバーを動作させるための環境を構築する必要がありました。
おなじVS Codeで動作するClineはコンテナにMCPサーバーをインストールしているようです。
このあたりの動作環境等々MCPクライアントとMCPサーバーに関して
GitHub CopilotとClineで詳細をリサーチしてまとめていただけますか?
また別プロダクトのCursorやWindsurfについても調べていただけますか?
そしてドキュメントにまとめていただけますか?
以下に、GitHub Copilot、Cline、Cursor、WindsurfにおけるModel Context Protocol(MCP)のクライアントとサーバーの動作環境についてまとめます。(Reddit)
🧠 Model Context Protocol(MCP)とは?
MCPは、AIモデルが外部ツールやサービスと統一されたインターフェースでやり取りするためのオープンスタンダードです。VS Codeでは、MCPサーバーを通じて、Copilotのエージェントモードがファイル操作、データベースアクセス、API呼び出しなどを行えるようになります。(Visual Studio Code)
🧩 GitHub Copilot + VS Code
MCPクライアントとサーバーの構成
- クライアント:VS Code上で動作し、CopilotのエージェントモードがMCPサーバーと通信します。
- サーバー:ローカルまたはリモートで動作し、Copilotにツールやリソースを提供します。
Dev Container環境での注意点
Dev Container内で開発している場合でも、MCPサーバーはホストOS(Windows)上で動作させる必要があります。これは、VS CodeがホストOS上でMCPサーバーを起動し、エージェントモードがそれと通信するためです。そのため、コンテナ内でMCPサーバーを動作させる場合は、適切な設定が必要です。 (Visual Studio Code)
⚙️ Cline
特徴
- オープンソース:ClineはオープンソースのAIコーディングアシスタントで、VS Code拡張機能として提供されています。
- Plan/Actモード:計画と実行を分離し、ユーザーとの対話を通じてコード生成や修正を行います。
- MCPサーバーの統合:Clineは、MCPサーバーを介して外部ツールやサービスと連携できます。(Cline, Visual Studio Code)
MCPサーバーの設定
Clineでは、cline_mcp_settings.json
ファイルを編集することで、MCPサーバーを設定できます。以下は、NeonのMCPサーバーを設定する例です。(Neon)
{ "mcpServers": { "Neon": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.neon.tech/sse"] } }}
設定後、VS Codeを再起動すると、ClineがMCPサーバーと通信を開始します。
🧪 Cursor
特徴
- MCPサポート:Cursorは、MCPを通じて外部システムやデータソースと接続できます。
- 柔軟なサーバー実装:MCPサーバーは、標準出力に出力する任意の言語で実装可能です。(Cursor)
MCPサーバーの追加方法
Cursorでは、設定画面の「MCP」タブから「Add new global MCP Server」を選択し、サーバーの情報を入力することで、MCPサーバーを追加できます。 (Hijabi Coder Blog)
🌊 Windsurf
特徴
- 次世代AI IDE:Windsurfは、AIとの連携を強化した次世代のIDEです。
- Cascadeエージェント:エージェントがユーザーと協力して作業を進めます。
- MCP統合:MCPサーバーを通じて、外部ツールやサービスと連携できます。
MCPサーバーの設定
Windsurfでは、Node.jsを使用してMCPサーバーを設定できます。以下は、ComposioのNotion統合を設定する例です。(DEV Community)
npx @composio/mcp@latest setup "<unique_generated_url>" --client windsurf
コマンド実行後、WindsurfがMCPサーバーと通信を開始します。
🧾 まとめ
特徴 | GitHub Copilot + VS Code | Cline | Cursor | Windsurf |
---|---|---|---|---|
MCPクライアント | VS Code | VS Code + Cline拡張 | Cursor IDE | Windsurf IDE |
MCPサーバーの動作場所 | ホストOS(Windows) | ローカルまたはリモート | ローカルまたはリモート | ローカルまたはリモート |
MCPサーバーの設定方法 | .vscode/mcp.json | cline_mcp_settings.json | 設定画面から追加 | コマンドラインで設定 |
エージェントモード | 対応(Copilot) | 対応(Plan/Actモード) | 対応 | 対応(Cascade) |
各ツールは、MCPを通じて外部ツールやサービスと連携し、開発効率を向上させています。特に、Dev Container環境での開発では、MCPサーバーの動作場所や設定に注意が必要です。適切な設定を行うことで、AIアシスタントの機能を最大限に活用できます。
さらに詳しい情報や具体的な設定手順については、以下の公式ドキュメントを参照してください。
- GitHub Copilot + VS Code: (Visual Studio Code)
- Cline: (Cline)
- Cursor: (Cursor)
- Windsurf: (Windsurf)
以下に、GitHub Copilot、Cline、Cursor、Windsurf における MCP(Model Context Protocol)のクライアントおよびサーバーの動作環境についてまとめました。
🧠 MCP(Model Context Protocol)とは
MCP は、AI モデルが外部ツールやサービスと統一されたインターフェースで連携するためのオープンスタンダードです。これにより、AI アシスタントがファイル操作、API 呼び出し、データベースアクセスなどのタスクを実行できるようになります 。
🧩 GitHub Copilot における MCP の構成
クライアントとサーバーの関係
- クライアント: VS Code 上で動作する GitHub Copilot 拡張機能。
- サーバー: MCP サーバーは、ローカルまたはリモートで動作し、Copilot のエージェントモードからツールを通じて操作されます。
開発環境での注意点
- Windows 上の VS Code: Copilot の MCP クライアントは Windows 上で動作します。
- Dev Container(Linux 環境): コンテナ内で開発している場合でも、MCP クライアントはホストの Windows 上で動作するため、MCP サーバーも Windows 上で動作させる必要があります。
🔧 Cline における MCP の構成
クライアントとサーバーの関係
- クライアント: VS Code 拡張機能として動作する Cline。
- サーバー: MCP サーバーは、コンテナ内やローカルで動作し、Cline から操作されます。
特徴
- MCP サーバーの設定は、
cline_mcp_settings.json
ファイルで行います。 - コンテナ内で MCP サーバーを動作させることが可能です。
- Cline は、Plan/Act モードやターミナル実行、MCP を通じた外部ツールとの連携など、多機能な AI コーディングアシスタントです 。
🖥️ Cursor における MCP の構成
クライアントとサーバーの関係
- クライアント: Cursor エディタ内で動作する MCP クライアント。
- サーバー: MCP サーバーは、ローカルまたはリモートで動作し、Cursor から操作されます。
特徴
- MCP サーバーは、任意の言語で実装可能で、
stdout
または HTTP エンドポイントを通じて Cursor と通信します 。 - Cursor の設定画面で MCP サーバーを追加・管理できます。
🌊 Windsurf における MCP の構成
クライアントとサーバーの関係
- クライアント: Windsurf エディタ内で動作する MCP クライアント。
- サーバー: MCP サーバーは、ローカルまたはリモートで動作し、Windsurf から操作されます。
特徴
- Windsurf は、Cascade というエージェントを通じて MCP サーバーと連携し、外部ツールとの統合を実現します 。
- MCP サーバーの追加・管理は、Windsurf の設定画面から行えます。
⚙️ MCP サーバーの構築と運用
開発環境での構築
- MCP サーバーは、Go や Node.js などの言語で実装可能です。
- ローカルでの開発・テストには、VS Code と GitHub Copilot のエージェントモードを使用できます 。
クラウド環境での運用
- Azure Functions を利用して、リモート MCP サーバーを構築・デプロイできます。
- セキュリティやネットワークの設定も柔軟に行えます 。
📄 まとめ
特徴 | GitHub Copilot | Cline | Cursor | Windsurf |
---|---|---|---|---|
MCP クライアント | VS Code 拡張機能 | VS Code 拡張機能 | Cursor エディタ内 | Windsurf エディタ内 |
MCP サーバー | ローカル/リモート | コンテナ内/ローカル | ローカル/リモート | ローカル/リモート |
特徴 | エージェントモードで MCP サーバーと連携 | 多機能な AI コーディングアシスタント | 柔軟な MCP サーバーの追加・管理 | Cascade を通じた外部ツールとの統合 |
ご希望に応じて、上記の情報をドキュメントとしてまとめることも可能です。必要であれば、お知らせください。
Windows VS Code 環境における MCP クライアント/サーバー動作比較
1. 目的と背景
- Model Context Protocol (MCP) は LLM が外部ツールを呼び出すための標準プロトコルです。エディタ/IDE 側は MCP クライアント、ツール集(実行プロセス or HTTP エンドポイント)は MCP サーバー という役割分担になります。
- Windows 上で VS Code を使い、Dev Container(WSL2‑バックエンドの Ubuntu コンテナ)内で開発する場合、拡張機能がどこで動作するか/MCP サーバーをどこで起動するかがツール毎に異なります。
- 本ドキュメントでは GitHub Copilot、Cline、Cursor、Windsurf (Cascade) の 4 製品について、クライアント実行位置・設定ファイル・トランスポート・Dev Container との相性などを整理します。
2. MCP アーキテクチャ概観
┌───────────────────────────┐ ┌────────────────────────────┐│ VS Code UI │ │ Docker Dev Container ││ (runs on Windows host) │ │ Ubuntu / workspace files │└────────────┬──────────────┘ └──────┬──────────────────────┘ │ Extension Host (local) │ Extension Host (remote) │ │ ┌──────▼──────┐ ┌─────▼─────┐ │ Copilot ext │ … local pipe … │ Cline ext │ └──────┬──────┘ └─────┬─────┘ │ stdio/SSE/HTTP │ stdio/SSE/HTTP │ │ ┌──────▼──────────┐ ┌───────▼──────────┐ │ MCP server(s) │ │ MCP server(s) │ │ (Windows host) │ │ (inside container│ └─────────────────┘ └──────────────────┘
補足 : Copilot 拡張は ローカル Extension Host でのみ動き、Dev Container 側には転送されません。一方 Cline は Remote Extension Host にもインストールされるため、コンテナ内部で MCP サーバーを自動インストールできます。
3. 製品別詳細
3‑1. GitHub Copilot (VS Code 拡張)
項目 | 内容 |
---|---|
クライアント実行位置 | Windows 側 Extension Host(Dev Container ではローカルホストからコンテナを操作) |
サーバー接続方式 | stdio / sse / http をサポート citeturn1view0 |
設定ファイル | <WORKSPACE>/.vscode/mcp.json または %USERPROFILE%\.mcp.json など citeturn3view0turn4view0 |
Dev Container との関係 | 拡張がホスト側で動くため、command に直接 Linux バイナリは呼べない。 – 解決策① : Windows 用実行体 (例 uvx.exe ) をインストールし、ホストで MCP サーバーを起動。 – 解決策② : docker run … でサーバーを起動するように書く(VS Code から Docker を呼び出し)。 – 解決策③ : コンテナ内でリッスンする SSE / HTTP サーバーを http://localhost:<forwarded‑port>/sse として呼ぶ。 |
留意点 | Dev Container 内に Copilot Chat を直接インストールしようとすると Extension Host (remote) が落ちる既知事例あり citeturn16search0 |
サンプル .vscode/mcp.json
{ "servers": { "github": { "type": "stdio", "command": "docker", "args": ["run","-i","--rm","ghcr.io/github/github-mcp-server"] } }}
3‑2. Cline (VS Code 拡張)
項目 | 内容 |
---|---|
クライアント実行位置 | Remote Extension Host にも配置されるため、Dev Container 内で動作可 |
サーバー接続方式 | stdio (ローカル子プロセス)と sse (HTTP)を GUI で切替 citeturn5view0 |
設定ファイル | ${containerHome}/.config/cline/cline_mcp_settings.json またはプロジェクトごとの cline_mcp_settings.json |
Dev Container との関係 | コンテナ側で npx mcp‑server‑xyz を自動インストール・起動できる。ホストに依存しない。 |
便利機能 | GUI でトークン入力、タイムアウト変更、個別ツールの auto‑approve 設定等。 |
3‑3. Cursor (独立 IDE)
項目 | 内容 |
---|---|
クライアント実行位置 | 常にローカル(Windows/macOS/Linux)プロセスとして動作 |
サーバー接続方式 | stdio / sse citeturn11view0 |
設定ファイル | ~/.cursor/mcp.json または <PROJECT>/.cursor/mcp.json |
Dev Container との関係 | リモート開発環境ではサーバー検出が不安定であると公式に明記 citeturn11view0 |
備考 | まだ resources プリミティブは未対応。ツール数は最大 40 個に制限。 |
3‑4. Windsurf / Cascade (JetBrains & 専用エディタ)
項目 | 内容 |
---|---|
クライアント実行位置 | Windsurf / Cascade プロセス内(クロスプラットフォーム) |
サーバー接続方式 | stdio / sse citeturn14view0 |
設定ファイル | ~/.codeium/windsurf/mcp_config.json または GUI Plugin Store からインストール citeturn14view0 |
Dev Container との関係 | JetBrains Gateway や SSH でのリモート添付時に stdio サーバーは動かず、SSE を推奨(公式 Plugin Store で docker 化サーバーが提供)。 |
特徴 | GUI に Plugin Store (青い✔️が公式) がありワンクリック導入。ツールは 100 個まで。 |
4. 横断比較
Copilot (VS Code) | Cline (VS Code) | Cursor | Windsurf (Cascade) | |
---|---|---|---|---|
拡張/IDE 実行場所 | Host (Windows) | Remote (Container) 可 | Local only | Local (JetBrains / Electron) |
主なトランスポート | stdio / sse / http | stdio / sse | stdio / sse | stdio / sse |
設定ファイル既定 | .vscode/mcp.json | cline_mcp_settings.json | .cursor/mcp.json | mcp_config.json |
Dev Container対応 | 要ポートフォワード or docker run | ネイティブ対応 | 公式に非推奨 | SSE 使用を推奨 |
ツール上限 | IDE 側で制限なし (UI 選択) | なし (auto‑approve 可) | 40 ツール | 100 ツール |
5. Dev Container でのベストプラクティス
- Copilot 利用時
docker
コマンドを使ってホスト側でサーバーを起動する設定にする(上記サンプル参照)。- もしくはコンテナで
uvx mcp-server-xyz --stdio
を実行し、http://localhost:<port>/sse
を VS Code から呼ぶ(forwardPorts
でポートを公開)。
- Cline 利用時
- 拡張がコンテナ内で動作するため追加作業は基本不要。
npx
かuvx
によるサーバーインストールを chat 内で指示すれば完了。 - CPU負荷分散のため、I/O ヘビーなツールのみホスト側に SSE で逃がすというハイブリッド構成も可能。
- 拡張がコンテナ内で動作するため追加作業は基本不要。
- Cursor / Windsurf
- RemoteDev (SSH、Gateway、Dev Container) では
stdio
が動かないケースがあるので、SSE を第一候補に。 - Docker Compose で
mcp_server
サービスを立て、ホスト名で接続するのがシンプル。
- RemoteDev (SSH、Gateway、Dev Container) では
参考構成例: Copilot + Dev Container
// .vscode/mcp.json{ "servers": { "fetch": { "type": "sse", // コンテナ側で 3333 番ポートを listen "url": "http://localhost:3333/sse" } }}// devcontainer.json 抜粋"forwardPorts": ["3333"],"postCreateCommand": "uvx -y mcp-server-fetch --port 3333 &"
6. まとめ & 推奨
- ホストで Copilot, コンテナで Cline のハイブリッドは相互に干渉せず実践例も多い。
- MCP サーバーの数が増えるほど コンテナ内での起動・管理が煩雑になるため、Docker 版 Gateway サーバー(Docker 社ブログ参照)や
mcp‑catalog
等のハブ型サーバーも検討する。 citeturn7search9 - Windows 環境で最小構成を目指すなら
- Copilot だけ使う → ホストに Docker Desktop を入れ、
docker run -i ghcr.io/...
方式。 - Cline/Cursor/Windsurf で多数ツールを使う → コンテナ or WSL2 Ubuntu 内にまとめてサーバー実行し、SSE で IDE から呼ぶ。
- Copilot だけ使う → ホストに Docker Desktop を入れ、
7. 参考資料
- VS Code Use MCP servers citeturn1view0turn3view0
- Visual Studio MCP ガイド citeturn4view0
- Cline Configuring MCP Servers citeturn5view0
- Cursor MCP ドキュメント citeturn11view0
- Windsurf Cascade MCP インテグレーション citeturn14view0
- Copilot Remote Extension Host 事例 citeturn16search0
- Docker Blog Build‑to‑Prod MCP servers citeturn7search9
コメントを残す