🔨
【Could not connect to MCP server】ClaudeのMCPサーバ接続エラーを解決する
概要
MCPのQuickstartをとりあえずやってみようと以下の公式サイトを見て進めていたところ、
MCPサーバの接続エラーで少し苦戦したので、簡単にですが解決方法をまとめました。
発生したエラーは以下の通りです。
Desktopに表示されたエラー
Could not connect to MCP server <サーバ名>
MCPログに表示されたエラー
2024-12-12T16:46:26.458Z [error] Error in MCP connection to server weather: Error: spawn uv ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:286:19)
at onErrorNT (node:internal/child_process:484:16)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
errno: -2,
code: 'ENOENT',
syscall: 'spawn uv',
path: 'uv',
spawnargs: [Array]
}
結論
先に結論を書くと、claude_desktop_config.jsonを修正することで解決しました。
MCPログに表示されたエラーを見ると、"uv"コマンドが見つからなかったようなので以下のような感じでフルパスを指定しました。
which uv
でフルパスを取得できます。
claude_desktop_config.json
{
"mcpServers": {
"weather": {
- "command": "uv",
+ "command": "/usr/local/Cellar/uv/0.5.8/bin/uv",
"args": [
"--directory",
"/Users/USERNAME/weather",
"run",
"weather"
]
}
}
}
詳しい原因まではわかりませんが、こちらはおそらく私の環境に起因しているんじゃないかと思います。
MCPのエラーが出ているのであればとりあえずMCPのログは見るべきでしょう。
以下のコマンドもしくはDesktopアプリでMCPのログを確認できます。
コマンド
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Desktopアプリからログファイルを開く
調べたこと・試したこと
さて、ついでに解消するまでに調べたことや試したことをまとめます。
自分とは違う原因でエラーが出ている方の助けになれば幸いです。
- Claudeの再起動
- configを変更したら一旦再起動はしておいた方が良さそうです
- pythonのバージョンの確認
- 古いとダメだとの情報をどこかで見ました
- nodeのバージョンの確認
- 以下の記事を参考にしたところ、nodeのバージョンが関係しているのではないかと思い、実際少し古そうだったので上げてみました
- 管理者権限で起動し直す
- 以下記事にそのように記載されていたため試してみました
最後に
Quickstartなのにquickに進められなかったのは少し悔しいですが、とりあえずMCPを触れて良かったです。使いこなせれば様々な可能性がありますが、まだまだ設定の部分でハードルがありそうだなと感じました。
次はローカルファイルのアクセスや、Brave Search APIによるWeb検索、GitHubとの連携なども試してみたいと思います!
Discussion