ClaudeデスクトップアプリのMCP設定時にハマった話
ClaudeのデスクトップアプリにMCPという仕組みを接続すると、ローカルのファイルの読み込みや書き込みを頼んだり、Web検索機能(Brave API)を組み込んだりできます。
今回はMacのClaudeデスクトップアプリのMCPセットアップ時にハマったのでその備忘録。
ドキュメント通りにやってもうまくいかない
ここにClaudeアプリユーザー向けのインストラクションが載っているのですが、この通りに設定を行ってもサーバーにつなぐことができませんでした。
ここで求められていることは大きく
- Claudeデスクトップアプリの設定ファイルを作る
- 設定ファイルの内容を更新する
- Claudeアプリを再起動する
の3点です。
アプリの設定ファイル(claude_desktop_config.json)はメニューバーの Claude -> Settings -> Developer -> Edit Config
の順にアクセスすると見つけることができます。
まず、ドキュメントにしたがってjsonを以下のように編集します。usernameは自身のPCのユーザー名に置換します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
JSONを更新した後、Claudeアプリを再起動するとこんな画面になりました。
npxでの実行に問題があるようです。
解決策:nodeコマンドで直接実行する
他の方の事例を調査したり、Claudeと相談したりする中で、nodeコマンドで直接実行するアプローチが有効そうだとわかりました。
私の環境では、nodebrewでNode.jsを管理しているため、設定ファイルを以下のように書き換えました:
{
"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
するとエラーが解消され、ダイアログウインドウの右下にトンカチマークが出てきました。
自分のPCのDownloadsフォルダにファイルを書き込んでくれたので、これで成功です。
今回のトラブルシューティングには、以下の記事を参考にさせていただきました。
おまけ:Brave APIを接続して検索機能を組み込む
冒頭で少し述べましたが、ClaudeアプリにBrave APIを連携することで、検索機能を実装できます。
まずBrave Search APIにサインアップして、APIキーを取得します。無料の範囲でも月に2000件のクエリを送信可能です。
先ほどと同じ要領で設定ファイルを編集します:
{
"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を再起動すると、検索機能が使えるようになります:
まとめ
ということで、ClaudeアプリのMCPセットアップ時のトラブルシューティングについてまとめました。
今回紹介したのはnodebrewでNode.jsを管理している場合の解決方法です。NVMやその他のツールを使っている場合は、設定すべきパスが異なります。
ご自身のNode.jsのパスを確認するには、ターミナルで以下のコマンドを実行してみてください:
which node # nodeコマンドのパスを表示
このパスを設定ファイルに適切に反映させれば、無事MCPデビューができるはずです。
Discussion