MCPサーバーが起動しない
spawn npx ENOENT
Clineの自動InstallでMCPサーバーをインストールしようとしたとき、Dockerではうまくいくのに、npxではうまくいかなかったので、その解決用を紹介します。
Windows限定での問題かもしれません。
エラーはspawn npx ENOENTです。
npxコマンドがうまく認識されないことが原因でした。
npxを絶対パスにするとうまくいくという情報もありましたが、Windows11ではうまくいきませんでした。
一般的なMCPサーバーの場合以下のようになっていますが、(例slack)
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
{
"mcpServers": {
"slack": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@modelcontextprotocol/server-slack"
],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567"
}
}
}
}
のようにする必要があります。
これは、npxコマンドはPowerShellではセキュリティの問題で実行できず、コマンドプロンプトで実行できるので、コマンドプロンプトで実行させる必要があるからです。
以下のissueを参考にしています。
MCPサーバーは起動しているのに使えない
MCPサーバーがグリーンではなく、オレンジになっている
APIキーなどが間違っている可能性があります。
上記の場合はTEAM IDを間違えていました。