🤖

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サーバーの設定を追加する際、環境変数を明示的に設定する必要があります。特に以下の点に注意しましょう:

  1. PATH環境変数に.asdf/shimsへのパスを含める
  2. ASDF_DIRASDF_DATA_DIRを設定する
  3. 使用している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の恩恵を最大限に活用しましょう!

ABEL, Inc.

Discussion