🐷

ClaudeデスクトップアプリのMCP設定時にハマった話

2025/03/08に公開

ClaudeのデスクトップアプリにMCPという仕組みを接続すると、ローカルのファイルの読み込みや書き込みを頼んだり、Web検索機能(Brave API)を組み込んだりできます。

今回はMacのClaudeデスクトップアプリのMCPセットアップ時にハマったのでその備忘録。

ドキュメント通りにやってもうまくいかない

ここにClaudeアプリユーザー向けのインストラクションが載っているのですが、この通りに設定を行ってもサーバーにつなぐことができませんでした。

https://modelcontextprotocol.io/quickstart/user

ここで求められていることは大きく

  1. Claudeデスクトップアプリの設定ファイルを作る
  2. 設定ファイルの内容を更新する
  3. Claudeアプリを再起動する

の3点です。

アプリの設定ファイル(claude_desktop_config.json)はメニューバーの Claude -> Settings -> Developer -> Edit Config の順にアクセスすると見つけることができます。

まず、ドキュメントにしたがってjsonを以下のように編集します。usernameは自身のPCのユーザー名に置換します。

claude_desktop_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    }
  }
}

JSONを更新した後、Claudeアプリを再起動するとこんな画面になりました。

npxコマンドでエラーが発生

npxでの実行に問題があるようです。

解決策:nodeコマンドで直接実行する

他の方の事例を調査したり、Claudeと相談したりする中で、nodeコマンドで直接実行するアプローチが有効そうだとわかりました。

私の環境では、nodebrewでNode.jsを管理しているため、設定ファイルを以下のように書き換えました:

claude_desktop_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "/Users/username/.nodebrew/current/bin/node",
      "args": [
        "/Users/username/.nodebrew/current/lib/node_modules/@modelcontextprotocol/server-filesystem/dist/index.js",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    }
  }
}

必要なパッケージをグローバルインストールしてしまいます:

npm i -g @modelcontextprotocol/server-filesystem

するとエラーが解消され、ダイアログウインドウの右下にトンカチマークが出てきました。

alt text

自分のPCのDownloadsフォルダにファイルを書き込んでくれたので、これで成功です。

alt text

今回のトラブルシューティングには、以下の記事を参考にさせていただきました。

https://owani.net/claude-mcp-brave-search/

おまけ:Brave APIを接続して検索機能を組み込む

冒頭で少し述べましたが、ClaudeアプリにBrave APIを連携することで、検索機能を実装できます。

まずBrave Search APIにサインアップして、APIキーを取得します。無料の範囲でも月に2000件のクエリを送信可能です。

https://brave.com/search/api/

先ほどと同じ要領で設定ファイルを編集します:

{
  "mcpServers": {
    "filesystem": {
      "command": "/Users/username/.nodebrew/current/bin/node",
      "args": [
        "/Users/username/.nodebrew/current/lib/node_modules/@modelcontextprotocol/server-filesystem/dist/index.js",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    },
    "brave-search": {
      "command": "/Users/username/.nodebrew/current/bin/node",
      "args": [
        "/Users/username/.nodebrew/current/lib/node_modules/@modelcontextprotocol/server-brave-search/dist/index.js"
      ],
      "env": {
        "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
      }
    }
  }
}

Brave検索用のパッケージもインストールします:

npm i -g @modelcontextprotocol/server-brave-search

Claudeを再起動すると、検索機能が使えるようになります:

Brave検索機能の動作例

まとめ

ということで、ClaudeアプリのMCPセットアップ時のトラブルシューティングについてまとめました。

今回紹介したのはnodebrewでNode.jsを管理している場合の解決方法です。NVMやその他のツールを使っている場合は、設定すべきパスが異なります。

ご自身のNode.jsのパスを確認するには、ターミナルで以下のコマンドを実行してみてください:

which node  # nodeコマンドのパスを表示

このパスを設定ファイルに適切に反映させれば、無事MCPデビューができるはずです。

Discussion