概要
表題の通り、投稿者がMCP公式ページのチュートリアルをやってみたときの小ネタです。
MCP公式のチュートリアル
今後チュートリアル進めて何か記事になりそうな話があったら#2を書く予定です。
環境
Windows11
ClaudeデスクトップでローカルMCPサーバーを使ってみる
チュートリアルの Connect to Local MCP Servers の部分です。
Claudeデスクトップのインストール
Node.jsのインストール
バージョン確認
C:\Users\username>node --version
v22.18.0
設定ファイル変更
チュートリアル通りに進めると、Claudeデスクトップの設定ファイルのフォルダが開くので、チュートリアル通り編集します(usernameはWindowsのユーザーIDに置き換え)。
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\username\\Desktop",
"C:\\Users\\username\\Downloads"
]
}
}
}
Claudeデスクトップ再起動
filesystemサーバー起動に失敗したというエラーメッセージダイアログが表示されました。
トラブルシューティング
ログ確認
エラーメッセージに出てくるログを見ると、内部的には以下のコマンドを実行しているようです。
npx.cmd -y @modelcontextprotocol/server-filesystem "C:\\Users\\username\\Desktop" "C:\\Users\\username\\Downloads"
そしてエラーメッセージ的には C:\\Users\\username\\Desktop をコマンドとして実行して失敗しているようです(エラーメッセージ保持するの忘れましたが、「'C:\Users\username\Desktop' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」だったと思います)。
原因調査
実際前述コマンドを実行するとログに出ていたエラーになります。-yオプションはパッケージのインストールを対話形式で聞かれないようにするものだったはず。事前インストールしておけば不要では?という事で、以下コマンドを実行しておいて、claude_desktop_config.jsonから-yを指定している行を削除します。
npm install -g @modelcontextprotocol/server-filesystem
Claudeデスクトップ再起動したところ、エラーが出なくなり、設定画面でもserver-filesystemが認識されました。
原因調査2
手順や設定が間違ってるなら、絶対指摘されていて修正されると思うので、別の原因があると思いました。実行しているのがnpxだったので、そのバージョンを確認してみます。
C:\Users\username>npx -v
6.13.2
npxの2025/08/17時点でのバージョンは10.2.2の様です。相当古い様です。新しくします。
C:\Users\username>npm install -g npm@latest
・・省略・・
C:\Users\username>npm -v
11.5.2
C:\Users\username>npx -v
11.5.2
新しくなりすぎだったかもしれませんが、-yオプションをつけてもコマンドが失敗しなくなり、ClaudeデスクトップでもローカルMCPサーバーserver-filesystemが認識されました。古いバージョンのnpxだと-yオプション使用時の引数に対応していなかったのだと思います。
感想
もしかしたら、Node.jsのインストールがうまくいっていなかったかもしれません。同じトラブルにはまった人への参考になればと思います。
今回のトラブルシューティングを経ていくつかのポイントを把握することが出来ました。冒頭にも書きましたが、引き続きチュートリアルの残りやっていこうと思います。
- ローカルPC(MCPホストが動いているマシン)上のリソースを扱うためには基本的にローカルMCPサーバーが必要
- ローカルMCPサーバーはhttpではなく、標準入出力(stdio)でデータのやり取りをしている(設定簡略化や、複数のローカルMCPサーバーがあるときのポート競合を避けるためかな?)
- ローカルPCで起動しているhttp通信のMCPサーバーは多分リモートMCPサーバーに分類される
- ローカルMCPサーバーは
npxで動くものがある(pythonではuvxがつかえたり、Dockerベースでの実行も可能なようです) - MCPサーバーの基本的な立ち位置
ちなみに、Claudeデスクトップ使用時チュートリアル通り「PCデスクトップに何か詩を書いて保存してください。」と聞きましたが、ローカルPCファイルへの権限は無いといわれました。が、「filesystemサーバーを使えませんか?」と聞き返したらやってくれました。
後日談
やってみた時の事をYoutube動画にしてみました。