3つのエディタが、同じ問いに3つの違う答えを返します。VS CodeはMCPサーバーを
servers という最上位のキーの下に置き、Zedは同じものを context_servers と
呼び、Windsurf(2026年6月2日以降はDevin Desktopという名前です)は、ほかの
多くのクライアントが使う mcpServers を使います。キーを間違えると、
クライアントはツールを1つも持たないまま、エラーも出さずに静かに起動します。
サーバー自体は変わりません。ローカルのMCPサーバーは、コマンドといくつかの
引数を指定してstdio越しに起動されるプログラムであり、これらのエディタは
どれも同じバイナリを同じやり方で実行します。各エディタで実際にやっているのは、
command と args という2つの値を、そのエディタ自身の設定の形の中に登録する
ことだけです。この記事では、それぞれについて正確なファイル、正確なキー、
正確な確認手順を示します。いずれも2026年8月14日に各ベンダーのドキュメントで
確認しました。
プロトコル自体が初めてなら、まず MCPサーバーとは何かで語彙を押さえて ください。ClaudeやCursorをお使いの場合は、それぞれに専用の手順があり、 たいていはワンクリックでインストールできます。この記事は、そうではない3つに ついてのものです。
ローカルのMCPサーバーは、どれも同じ2つの値で記述されます。
command = "/absolute/path/to/the/executable"
args = ["--some-flag"]
伝えるべき中身はこれだけです。絶対パスであることは見た目以上に重要です。
プロセスを起動するのはエディタ自身であり、多くの場合ログインシェルを
経由しません。そのため PATH やシェルのエイリアスに依存するものは、
ターミナルでは動いてもクライアントでは動きません。フルパスをコピーして
ください。
この記事の残りはすべて梱包の話です。つまり、この2つの値をどのファイルに 入れるのか、そしてそれを囲むキーが何という名前なのか、という話です。
mcpServers ではなく serversVS CodeはMCPの設定を mcp.json という名前のファイルから読みます。置き場所は
2か所あります。
.vscode/mcp.json — リポジトリと一緒に移動するので、
チーム全員に入っていてほしいサーバーはここが正しい場所です。Command Palette から MCP: Open User
Configuration コマンドで開く mcp.json — 個人的なデータ源にはこちらが
正しい場所です。ファイルの最上位には servers があり、任意で inputs と sandbox の
セクションが置けます。ローカルサーバーは次のような形です。
{
"servers": {
"my-server": {
"type": "stdio",
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"]
}
}
}
ほかのクライアントから移ってきた人が驚く点が2つあります。1つめは、キーが
本当に servers だということです。mcpServers のブロックを貼り付けても
VS Codeがエラーとして知らせてくれるわけではなく、単に読まないキーとして
無視されます。2つめは、VS Codeが1回のチャットリクエストで有効にできる
ツールを128個に制限していることです。多くのサーバーを登録したマシンでは、
あなたのサーバーに手が届く前にいくつかをオフにする必要があるかもしれません。
それを行うのは Chat ビューの Configure Tools ボタンです。
移植しやすい形もあります。Agent HostやほかのCopilot系ツールと共有する設定
として、VS Codeはワークスペースの .mcp.json またはユーザーの
~/.copilot/mcp-config.json を案内しており、Agent Hostはこれをそのまま
読みます。
確認するには: Command Palette から MCP: List Servers を実行し、
自分のサーバーを選んで Show Output でログを読みます。起動に失敗した
サーバーはそこにその旨を出し、たいていは実行できなかったパスも一緒に
表示します。
ZedはMCPサーバーをコンテキストサーバーと呼び、設定のキーもそれに従って
context_servers になっています。パスを探し回るのではなく
zed: open settings file アクションで設定ファイルを開き、次を追加します。
{
"context_servers": {
"my-server": {
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"],
"env": {}
}
}
}
リモートサーバーは同じブロックの中で url と任意の headers を使います。
つまり context_servers は、両方のトランスポートが同居する唯一の場所です。
ZedにはUIからの経路もあります。Settings → AI → MCP Servers を開き、
Add Server → Add Local Server を選ぶと、同じ項目を代わりに書き込んで
くれます。人気のあるサーバーの多くはZedの拡張機能としても配布されていて、
その画面からインストールできますが、デスクトップアプリに同梱されている
サーバーはその一覧には出てきません。その場合は上の手動の記述が正しい道です。
確認するには: Settings → AI → MCP Servers を開き、自分のサーバーの 隣にあるインジケーターを見てください。Server is active というツールチップ 付きの緑の点が出ていれば、ハンドシェイクは成功しています。
ウェブ上のガイドの多くが追いつけていないのがこの部分です。Cognitionは
2026年6月2日にWindsurfを Devin Desktop へ改称しました。通常の自動更新
として配信され、再インストールも移行ウィザードもなく、プラン、拡張機能、
キーバインドはそのまま引き継がれています。旧来のマーケティング用ドメインは
現在 devin.ai へリダイレクトされ、ドキュメントは docs.devin.ai に
あります。
MCPにとっての実務上の帰結は、書き込み先の候補が2つになったことです。どちらが 正しいかは、話しかけている相手のエージェントによって決まります。
| エージェント | MCPの設定ファイル | 最上位のキー |
|---|---|---|
| Cascade(旧) | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Devin Local(現行) | ~/.config/devin/mcp_config.json |
mcpServers |
Cascadeのドキュメントは今も ~/.codeium/windsurf/ のパスを説明しています。
段階的に移行できるよう、2026年7月1日まで利用可能な状態が保たれていました。
後継の Devin Local はRustで書き直されたもので、Cognitionはトークン効率が
最大30%向上し、サブエージェントに対応していると説明しています。新しいタブでの
既定のエージェントもこちらです。Devin LocalはCascadeのファイルを読みません。
Devin CLIの設定を使い、プロジェクト単位のサーバーは .devin/mcp_config.json
に、APIキーを含む個人用のものはgitignoreされた
.devin/mcp_config.local.json に入れます。
数か月前に追加したサーバーをエージェントが見なくなったなら、理由はこれで あることがほとんどです。ファイルは壊れていません。それを読むエージェントが 変わったのです。
もう1つ知っておく価値のある上限があります。Cascadeは同時に扱えるツールを 合計100個に制限します。VS Codeと同じく、混み合った設定は、どこも壊れて いないように見えたまま、あなたのサーバーのツールを手の届かない場所へ 押し出すことがあります。
確認するには: Cascadeパネル右上の MCPs アイコンをクリックしてMCPの 設定ページを開きます。そこには各サーバーのツールが一覧され、個別に オン・オフできます。ツールが1つも並んでいないサーバーは起動していません。
| VS Code | Zed | Devin Desktop(Windsurf) | |
|---|---|---|---|
| ファイル | .vscode/mcp.json またはユーザーの mcp.json |
設定ファイル(zed: open settings file) |
~/.codeium/windsurf/mcp_config.json(Cascade)または ~/.config/devin/mcp_config.json(Devin Local) |
| キー | servers |
context_servers |
mcpServers |
type: stdio の要否 |
必要 | 不要 | 不要 |
| UIからの経路 | MCP: Add Server | Settings → AI → MCP Servers | Cascadeパネルの MCPs アイコン |
| ツールの上限 | 1リクエストあたり128 | 記載なし | 合計100(Cascade) |
二度読む価値があるのはキーの行です。ほかの違いはすべてエラーメッセージという 形で自ら名乗り出ますが、キーの間違いだけは名乗りません。
Claude Desktop、Claude Code、Cursorはいずれも mcpServers を使い、ファイルの
場所も予想しやすいところにあります。それぞれアプリのサポートフォルダ内の
claude_desktop_config.json、~/.claude.json、~/.cursor/mcp.json です。
多くのアプリがこの3つにだけワンクリックのインストーラーを用意して、そこで
止まっているのは、この一貫性があるからです。
この記事の3つのエディタは、それぞれ別の軸で外れています。VS Codeはキーの 名前で、Zedはキーの名前と語彙の両方で、Devin Desktopは改称に伴うファイルの 場所で外れています。どれも難しくはありませんが、どれも推測はできません。 ベンダーのREADMEからJSONをそのままコピーすると、ツールを1つも持たない クライアントができあがるのは、そのためです。
これらのファイルを手で編集したら、エディタを再起動してください。ほとんどの クライアントはMCPの設定を起動時に読みます。正しそうに見えるのに一度も 読み直されていない設定は、「アシスタントが自分のデータを見てくれない」という 症状の最も多い原因です。
Speak-YはMCPサーバーをmacOSアプリの中に同梱しているので、npmから入れるものは なく、発行するトークンもありません。設定 → 連携で、検出されたクライアント の隣にある インストール を押すと、Claude Code、Claude Desktop、Cursorの 設定を、それぞれ自身の形式で書き込みます。VS Code、Zed、Devin Desktopはその 一覧にはありません。これらについては、同じ2つの値を上で示した形に コピーしてください。
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
2つめの引数として --read-only を加えると、データを変更するツールを一切
持たない状態でサーバーが起動します。エディタのエージェントに文字起こしを
検索させたいが、タグや話者名、チームチャンネルには決して触れさせ
たくない、という場合に役立ちます。ワンクリックのインストールはこのフラグを
意図的に付けません。読み取り専用は1つの判断であり、判断は明示的に下すべき
だからです。
その結果アシスタントが手にするのは13のツールです。読み取るものが5つ — 録音、文字起こし、要約、アクションアイテム、タグを横断して検索するもの — と、 何かを変更するものが8つで、後者はデータを変更するものとしてクライアントに 申告されるため、呼び出す前に確認が入ります。読み取りはあなたのマシン上の ライブラリに対してローカルに行われ、変更するコマンドは起動中のアプリを経由し、 あとから読める記録に残ります。サーバーはどのプランでも無料です。
これがチャットアプリよりもエディタで効いてくる理由は、コンテキストにあります。 火曜日の打ち合わせで実際に何が決まったのかを読めるコーディングエージェントは、 その決定をあなたがプロンプトに打ち直すことを必要としません。同じ論点は Cursorと会議のコンテキストで 扱っており、上の設定さえ入っていれば、VS CodeとZedにもそのまま当てはまります。
サーバーを登録したのにアシスタントが何も見つけられないなら、原因はほぼ必ず 次の4つのどれかです。エディタを再起動していない、アプリの更新後にパスが古く なっている、ツールの上限が埋まっている、そのクライアントに対してキーの名前が 間違っている。何かを書き直す前に、この順で確認してください。
VS CodeはMCPサーバーを mcp.json というファイルに保存します。ワークスペース内の .vscode/mcp.json か、ユーザープロファイル内の mcp.json のどちらかで、後者は MCP: Open User Configuration コマンドで開きます。多くのクライアントと違い、最上位のキーは mcpServers ではなく servers です。
Zedは設定ファイルで mcpServers ではなく context_servers を使います。ローカルサーバーの項目は command、args、env を取り、リモートサーバーは url と headers を取ります。ファイルは zed: open settings file アクションで開くか、Settings → AI → MCP Servers から追加してください。
いいえ。Cognitionは2026年6月2日にWindsurfをDevin Desktopへ改称しました。通常の自動更新として配信され、プラン、拡張機能、設定はそのまま引き継がれています。~/.codeium/windsurf/mcp_config.json を読んでいたエージェントCascadeは2026年7月1日まで利用できました。後継のDevin Localは、代わりにDevin CLIの設定ファイルを読みます。
いいえ。同じstdioサーバーのバイナリがどのクライアントでも動きます。違うのは、それを登録するファイルと最上位のキーの名前だけです。commandとargsは一度決めれば、その同じ2つの値を各エディタ自身の設定の形に貼り付けるだけで済みます。
クライアントごとに確認方法が違います。VS CodeではCommand PaletteからMCP: List Serversを実行し、Show Outputでログを読みます。ZedではSettings → AI → MCP Serversを開き、Server is activeと表示される緑の点を探します。Devin DesktopではCascadeパネルのMCPsアイコンを開き、サーバーのツールが一覧に出ているかを見ます。