VS Code GitHub Copilot のMCPサーバーの実行環境

·

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 CodeClineCursorWindsurf
MCPクライアントVS CodeVS Code + Cline拡張Cursor IDEWindsurf IDE
MCPサーバーの動作場所ホストOS(Windows)ローカルまたはリモートローカルまたはリモートローカルまたはリモート
MCPサーバーの設定方法.vscode/mcp.jsoncline_mcp_settings.json設定画面から追加コマンドラインで設定
エージェントモード対応(Copilot)対応(Plan/Actモード)対応対応(Cascade)

各ツールは、MCPを通じて外部ツールやサービスと連携し、開発効率を向上させています。特に、Dev Container環境での開発では、MCPサーバーの動作場所や設定に注意が必要です。適切な設定を行うことで、AIアシスタントの機能を最大限に活用できます。

さらに詳しい情報や具体的な設定手順については、以下の公式ドキュメントを参照してください。


MCPで広がるLLM 〜Clineでの動作原理〜

以下に、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 CopilotClineCursorWindsurf
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 CopilotClineCursorWindsurf (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 をサポート citeturn1view0
設定ファイル<WORKSPACE>/.vscode/mcp.json または %USERPROFILE%\.mcp.json など citeturn3view0turn4view0
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) が落ちる既知事例あり citeturn16search0

サンプル .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 で切替 citeturn5view0
設定ファイル${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 citeturn11view0
設定ファイル~/.cursor/mcp.json または <PROJECT>/.cursor/mcp.json
Dev Container との関係リモート開発環境ではサーバー検出が不安定であると公式に明記 citeturn11view0
備考まだ resources プリミティブは未対応。ツール数は最大 40 個に制限。

3‑4. Windsurf / Cascade (JetBrains & 専用エディタ)

項目内容
クライアント実行位置Windsurf / Cascade プロセス内(クロスプラットフォーム)
サーバー接続方式stdio / sse citeturn14view0
設定ファイル~/.codeium/windsurf/mcp_config.json または GUI Plugin Store からインストール citeturn14view0
Dev Container との関係JetBrains Gateway や SSH でのリモート添付時に stdio サーバーは動かず、SSE を推奨(公式 Plugin Store で docker 化サーバーが提供)。
特徴GUI に Plugin Store (青い✔️が公式) がありワンクリック導入。ツールは 100 個まで。

4. 横断比較

Copilot (VS Code)Cline (VS Code)CursorWindsurf (Cascade)
拡張/IDE 実行場所Host (Windows)Remote (Container) 可Local onlyLocal (JetBrains / Electron)
主なトランスポートstdio / sse / httpstdio / ssestdio / ssestdio / sse
設定ファイル既定.vscode/mcp.jsoncline_mcp_settings.json.cursor/mcp.jsonmcp_config.json
Dev Container対応要ポートフォワード or docker runネイティブ対応公式に非推奨SSE 使用を推奨
ツール上限IDE 側で制限なし (UI 選択)なし (auto‑approve 可)40 ツール100 ツール

5. Dev Container でのベストプラクティス

  1. Copilot 利用時
    • docker コマンドを使ってホスト側でサーバーを起動する設定にする(上記サンプル参照)。
    • もしくはコンテナで uvx mcp-server-xyz --stdio を実行し、http://localhost:<port>/sse を VS Code から呼ぶ(forwardPorts でポートを公開)。
  2. Cline 利用時
    • 拡張がコンテナ内で動作するため追加作業は基本不要。npxuvx によるサーバーインストールを chat 内で指示すれば完了。
    • CPU負荷分散のため、I/O ヘビーなツールのみホスト側に SSE で逃がすというハイブリッド構成も可能。
  3. Cursor / Windsurf
    • RemoteDev (SSH、Gateway、Dev Container) では stdio が動かないケースがあるので、SSE を第一候補に。
    • Docker Compose で mcp_server サービスを立て、ホスト名で接続するのがシンプル。

参考構成例: 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 等のハブ型サーバーも検討する。 citeturn7search9
  • Windows 環境で最小構成を目指すなら
    1. Copilot だけ使う → ホストに Docker Desktop を入れ、docker run -i ghcr.io/... 方式。
    2. Cline/Cursor/Windsurf で多数ツールを使う → コンテナ or WSL2 Ubuntu 内にまとめてサーバー実行し、SSE で IDE から呼ぶ。

7. 参考資料

  • VS Code Use MCP servers citeturn1view0turn3view0
  • Visual Studio MCP ガイド citeturn4view0
  • Cline Configuring MCP Servers citeturn5view0
  • Cursor MCP ドキュメント citeturn11view0
  • Windsurf Cascade MCP インテグレーション citeturn14view0
  • Copilot Remote Extension Host 事例 citeturn16search0
  • Docker Blog Build‑to‑Prod MCP servers citeturn7search9

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です