Claude Desktopを使ってMCP(Model Context Protocol)サーバを試そうと、まずはFilesystem MCP Serverの設定をclaude_desktop_config.jsonに書いて、Claud Desktopを起動したがエラーが発生した。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/htakeuchi/Downloads"
      ]
    }
  }
}

ログを確認すると、

command not found: /Users/htakeuchi/Downloads

とあり、オプションをコマンドとして実行しようとして失敗しているっぽい。

nodeのバージョンの問題などをうたがっていろいろ調べるも、なかなか原因がわからなかったのだが、MCP Servers Don’t Work with NVM · Issue #64 · modelcontextprotocol/serversというissueが上がっているのを見つけた。

どうやらNVMで入れたnodeだとうまく動かないらしい。このページを参考に/usr/local/bin/npx-for-claudeを作成して実行権限を与え、

#!/usr/bin/env bash
export PATH="/Users/htakeuchi/.nvm/versions/node/v20.10.0/bin/:$PATH"
exec npx "$@"

claude_desktop_config.jsonを以下のように書き換えたら無事動いた。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx-for-claude",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/htakeuchi/Downloads"
      ]
    }
  }
}