🍏

Apple Silicon Mac環境でClaude DesktopからNodebrew管理のNode.jsにアクセスする方法

2025/04/15に公開

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を使ってみたくて、以下を試していました。
わかりやすい記事、ありがとうございます!!
https://zenn.dev/takna/articles/mcp-server-tutorial-02-filesystem

最後に

自分用メモとして書きました。設定等は自己責任でお願いいたします。
MCP機能、Claude以外でもいろいろあるようなので、試していきたいです。

Discussion