はじめに
僕は普段からZedエディターを好んで使用しているのですが、自作したMCPサーバーを呼び出す手順がイマイチわかりにくかったので、この記事を書くことにしました。
動作環境
Mac-mini : M2 16GB
Python : 3.12.3
Ollama : 0.9.6
Zed : 0.193.3
パッケージ管理にはRyeを使っています。pipでも大丈夫です。
Rye==0.44.0
また、今回はローカルMCPサーバーをFastAPI-MCPにて作成しました。
fastapi==0.116.1
fastapi-mcp==0.3.6(fastapi-mcpはpython3.10以上が必須です)
mcp-proxy==0.8.2
rye add fastapi fastapi-mcp mcp-proxy
設定手順
- エディター画面の右下にあるキラキラマークを押下します
a. エディターの右半分にパネルが出現します - 出現したパネルの右上にある3点マーク→「settings」を押下します
- 「Add Custom Server」を押下します
- カスタムしたMCPサーバーを設定するためのモーダルが出現します
このモーダルには以下の情報を入力し、MCPサーバーを追加します。
このとき、MCPサーバーを起動していないと追加が失敗する点に注意してください。
また、mcp-proxyのパスはフルパスである必要があります。
which mcp-proxyでフルパスを探せますが、もしnot foundになる場合は一度Zedを再起動してください。
{
/// The name of your MCP server
"some-mcp-server": { /// <-MCPサーバー名
"command": {
/// The path to the executable
"path": "/Users/~~/~~/.venv/bin/mcp-proxy", /// `mcp-proxy`のフルパスを指定
/// The arguments to pass to the executable
"args": ["http://localhost:8000/mcp"], /// ローカルMCPサーバーのURLを指定
/// The environment variables to set for the executable
"env": {}
}
}
}
MCPサーバーの連携が完了すると、下画像のように作成したMCPサーバー名の左に緑マークがつきます。
あとは右側のパネル上部にある「←」ボタンを押下して、はじめのLLMチャット画面に戻ります。

ZedをMCPクライアントとしてMCPサーバーと連携する
今回はOllamaを使っており、その中でもqwen3:4bを選択しています。
お好きなモデルを選択して問題ないですが、reasoningモデルが相性は良いと思います。

Zed上で対話を実施したところ、MCPを利用する必要があるとLLMが判断しました。もちろん許可します(今回はそれが目的なので)。

そうすると、今回FastAPI-MCPによって作成した自作MCPサーバーにLLMがアクセスし、適切な情報を取得してくれました。
※ もしMCPサーバーが起動しているのに、うまく呼び出してくれない場合は以下を試してみてください
- LLMを変更する
- 僕の場合、
qwen3:4bだとうまくいきましたが、gemma3:12bだとMCPに情報を連携してくれませんでした
- 僕の場合、
- MCPサーバーを再起動
- MCPサーバーのパスを設定する際に起動していたサーバーを、設定完了後に一度切ってみて、その後にもう一度立ち上げてみてください
- Zedを再起動
- これが手っ取り早いと思います
- ただ、Zedを一度落とすとMCPサーバーがオフになるので(設定は残っている)、再びオンにしてください
おわりに
MCPサーバーを使用する一番のメリットは、LLMとの自然言語による対話でAPIのレスポンスを使用できる点だと思います。
LLMにAPIのURLを渡すことで、LLMがそのURLを叩いてレスポンスを取得することも当然可能です。しかしMCPサーバーを噛ませることで、そのURLをわざわざ指定する必要がなくなり、自然言語による曖昧な検索ができるというわけですね。
使用するLLMの性能次第では、RAGを実装するよりも情報検索が簡単に実装できそうなMCPサーバーですが、長期的なコストの面を考慮したり、レスポンスの速度、検索精度の可視化(=スコア化)などの視点から考えると、RAGが全てMCPに置き換わるのかはわからないですね。どうなんでしょう。

