🤖
asdf環境でClaude Codeを使うときのMCPサーバー設定
はじめに
最近、Anthropicから提供されている開発支援AI「Claude Code」が注目を集めています。Claude DesktopのMCPとしても利用できるので、API利用料ではなく月額課金のなかで使いたい方にはおすすめです。
ただ、asdf
を使ってNode.jsを管理している環境では、いくつか追加の設定が必要なので、その方法を共有します。
問題点
npm install -g @anthropic-ai/claude
を使ってClaude Codeをインストールした後、Claude Desktopの設定でMCPサーバーを構成する必要があります。しかし、asdf
環境では標準の設定だけではパスが正しく解決されず、以下のようなエラーが発生することがあります:
Error: Claude Code MCP server failed to start
/Users/xxx/.asdf/shims/claude: line 3: exec: asdf: not found
[claude_code] [error] Unexpected token 'o', "nodejs 22.12.0" is not valid JSON {
"context":"connection",
"stack":"SyntaxError: Unexpected token 'o', \"nodejs 22.12.0\" is not valid JSON
}
解決策
settings.json
にMCPサーバーの設定を追加する際、環境変数を明示的に設定する必要があります。特に以下の点に注意しましょう:
-
PATH
環境変数に.asdf/shims
へのパスを含める -
ASDF_DIR
とASDF_DATA_DIR
を設定する - 使用しているNode.jsのバージョンを
ASDF_NODEJS_VERSION
で指定する
具体的な設定例は以下の通りです:
"mcpServers": {
"claude_code": {
"command": "claude",
"args": ["mcp", "serve"],
"env": {
"PATH": "/opt/homebrew/bin:/Users/{ユーザー名}/.asdf/shims:/usr/local/bin:/usr/bin:/bin",
"ASDF_DIR": "/Users/{ユーザー名}/.asdf",
"ASDF_DATA_DIR": "/Users/{ユーザー名}/.asdf",
"ASDF_NODEJS_VERSION": "20.10.0" // 使用しているNodeのバージョンに合わせてください
}
}
}
この設定をVSCodeのsettings.json
に追加することで、Claude CodeのMCPサーバーがasdf
環境で正しく動作するようになります。
注意点
-
ASDF_NODEJS_VERSION
は実際に使用しているNodeのバージョンに合わせてください -
PATH
の設定はシステムによって異なる場合があります。echo $PATH
コマンドで確認してみましょう
まとめ
asdf
を使用してNode.jsを管理している環境では、Claude CodeのMCPサーバー設定において環境変数を明示的に設定することが重要です。この設定を行うことで、VSCode上でClaude Codeを快適に利用できるようになります。
Claude Codeは開発効率を大幅に向上させてくれる強力なツールです。正しく設定して、AIの恩恵を最大限に活用しましょう!
Discussion