🍏
Apple Silicon Mac環境でClaude DesktopからNodebrew管理のNode.jsにアクセスする方法
Claude Desktopアプリで、MCPサーバを使う設定時、Node.jsにアクセスできるようにしたときのメモです。
状況
- Apple Silicon Mac
- Homebrew+nodebrewでNode.jsバージョン管理
-
node -v
/npx --version
が正常に動作 -
which node
/which npx
の参照先に/.nodebrew/current
が入っている - ターミナルで、以下が動作する
-
npx -y @modelcontextprotocol/server-filesystem /Users/[username]/Desktop /Users/[username]/Downloads
問題点
- Claude DesktopアプリでMCPのエラーが出る!!
原因
エラーログを調べると、mcp-server-filesystem.logに以下のエラーがあった。
env: node: No such file or directory
NodebrewのNode.jsに通っているPATHがGUIアプリに向いていないことに気づきます。
(ターミナルからのPATHは設定済)
対応した方法
Gemini Advanced 2.5 Proに相談して、以下で解決しました。
シンボリックリンクを作成
GUIアプリ(今回は、Claudeアプリ)からも参照されやすい標準的な場所にシンボリックリンクを作成します。
# node本体へのリンク
sudo ln -sf $HOME/.nodebrew/current/bin/node /usr/local/bin/node
# npmへのリンク (念のため)
sudo ln -sf $HOME/.nodebrew/current/bin/npm /usr/local/bin/npm
# npxへのリンク
sudo ln -sf $HOME/.nodebrew/current/bin/npx /usr/local/bin/npx
- ターミナルで上記のコマンドを実行
-
ln -s
はシンボリックリンクを作成 -
f
オプション: もし同名のリンクが既に存在した場合に上書き
-
- パスワード(sudo)を求められる場合があり
- $HOME は自動的にあなたのホームディレクトリパスに置き換えられる
実行後、Claude Desktopアプリを完全に終了し、再度起動します。
注意点として書かれていたこと
- システム全体(他のアプリ含む)で
/usr/local/bin/node
を参照した場合、nodebrew で use しているバージョンが使われるようになる -
nodebrew use
でバージョンを切り替えた場合、これらのシンボリックリンクは自動では更新されないらしい。頻繁にバージョンを切り替えてClaudeアプリで使う必要がある場合は、都度sudo ln -sf ...
コマンドを再実行する必要があるかも...- currentを参照しているので、行けるような気もしたが、試していない
動作チェック
正常な動作確認OK!!
-
プロンプトを入力
-
fileアクセス権限の確認
-
ファイル名取得
未設定ディレクトリの操作の場合
-
fileアクセス権限の確認ダイアログは表示される
-
MCPのfilesystemで未設定のディレクトリにはアクセスできない
参考リンク
MCPを使ってみたくて、以下を試していました。
わかりやすい記事、ありがとうございます!!
最後に
自分用メモとして書きました。設定等は自己責任でお願いいたします。
MCP機能、Claude以外でもいろいろあるようなので、試していきたいです。
Discussion