結論
npxコマンドをフルパスで指定すれば解決します。
npxとは別の話ですがIssueが上がっており、そちらを参考に解決しました!
問題
MCPのキャッチアップおよび、ClaudeにWebサーチの機能を付与するため、BraveのMCPサーバーとClaudeDesktopを接続しようと試みましたが、以下のようなENOENT
エラーが発生し設定が失敗しました。
[error] spawn npx ENOENT
このエラーは、Claudeがnpx
コマンドのパスを解決できずに発生しているようです
解決方法
失敗例
以下のような設定では、エラーが発生しました。
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "<Your_API_KEY>"
}
}
}
}
成功例
npxコマンドをフルパスで指定することにより解決できました⭐️
※フルパスはユーザー環境によって異なります
{
"mcpServers": {
"brave-search": {
"command": "/Users/<Username>/.anyenv/envs/nodenv/shims/npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
まとめ
相対パスでのコマンド指定では、npxコマンドのパスが解決できなかったようです。
そのため、npxの実行ファイルまでのフルパスを取得し、設定ファイルに書き込んであげることで解決しました
ご自身の環境でnpxのフルパスを確認するには、ターミナルで以下のコマンドを実行してください:
which npx