serena mcpインストールの設定でちょっとハマった部分をCopilotにまとめてもらった & 加筆。
installしたuvをvscode側が読み込めてないよ、ということらしい。
Serena MCP環境変数設定メモ
問題
- VS CodeでSerena MCPサーバを起動しようとすると、
uv pathが通っておらずエラーが発生する-
command uv not found ...のようなエラー
-
- ターミナル上では
uvxコマンドが正常に動作するが、MCPプロセスからは実行できない
$ uv -V
uv 0.9.5 (d5f39331a 2025-10-21)
原因
ターミナルのPATHとMCPプロセスのPATHが異なるため
ターミナルのPATH
- シェル設定(
.zshrc,.bash_profile等)でPATHが設定されている - Homebrewやuvのパスが含まれている(例:
/opt/homebrew/bin,/Users/{username}/.local/bin)
MCPプロセスのPATH
- VS Codeから起動されるMCPプロセスは、シェル設定を読み込まない
- デフォルトの最小限のPATHのみ(例:
/usr/bin:/bin) - uvやuvxコマンドが見つからない
解決方法
1. MCP設定でPATH環境変数を明示的に設定
mcp.jsonのserenaサーバ設定でenvフィールドを使用してPATHを設定:
{
"servers": {
"serena": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server",
"--context",
"ide-assistant"
],
"env": {
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:/Users/{username}/.local/bin"
}
}
}
}
2. PATH設定の詳細説明
設定するPATHの候補
-
/usr/local/bin- システム標準のローカルバイナリ -
/usr/bin- システム標準バイナリ -
/bin- 基本コマンド -
/usr/sbin- システム管理コマンド -
/sbin- システム管理コマンド(基本) -
/opt/homebrew/bin- Homebrew(Apple Silicon Mac) -
/Users/{username}/.local/bin- uvやpipxなどのユーザーローカルバイナリ-
which uvでパスをチェックするのがいい - 今回はuvのパスがここだったので、
/Users/...のパスだけで動く気がする
$ which uv /Users/{username}/.local/bin/uv -
3. 確認方法
- VS CodeでMCPサーバのログを確認
- コマンドパレット(Cmd+Shift+P)→「MCP: Show Logs」
- Serenaサーバが正常に起動することを確認
4. その他の解決策(代替案)
4-1. フルパス指定
{
"command": "/Users/{username}/.local/bin/uvx",
"args": ["..."]
}
4-2. シェルラッパー使用
{
"command": "/bin/zsh",
"args": ["-c", "source ~/.zshrc && uvx ..."]
}
注意点
- ユーザー名やHomebrewのパス(Intel Mac:
/usr/local/bin、Apple Silicon:/opt/homebrew/bin)は環境によって異なる - PATH設定は環境に合わせて調整が必要
- 他のMCPサーバでも同様の問題が発生する可能性がある
参考
- uv installation: https://docs.astral.sh/uv/getting-started/installation/
-
https://blog.nextscape.net/archives/2025/08/17/204234
-
(08/25追記)の部分にパスに関する記載がある
-