📕

🚀 難関突破!Claude DesktopにMCPサーバーを接続するチュートリアル実行記録(Windows/Node.js環境の壁)

に公開

はじめに

こんにちは。
今回もMCP(Model Context Protocol)の学習記録です。理論学習を経て、ついにClaude Desktopに外部のMCPサーバーを接続し、AIエージェントによるファイル操作を体験する実践フェーズに挑戦しました。

しかし、前回のポストで「やさしいMCP入門」で簡単に書かれていたセットアップに挑戦しましたが、実際にはWindows環境特有のJSON構文、パスの解釈、そして環境エラーという三つの大きな壁に阻まれてタイムアップという結果となりました。

本記事では、MCPサーバのチュートリアルである「OSのファイルシステムを操作するMCPサーバを設定」において、私が直面した具体的なエラーとその**解決手順(トラブルシューティングログ付き)**を共有し、読者の方がスムーズにMCPを使い始められるようサポートします。

1. 前回の復習:セットアップの目標と前提知識

MCPサーバーのセットアップは、MCPホスト(Claude Desktop)に対して、外部で動作するMCPサーバー(今回はファイルシステムサーバー)の起動コマンドと引数をJSON形式で教えるプロセスです。

サーバー情報(今回設定したもの)
サーバー名: filesystem

機能: OSのファイルシステム操作(フォルダ作成など)

実行環境: Node.js (npx)

最終的な成功設定

セットアップできたJSON設定は以下の通りです。この設定で、Claude Desktopが外部サーバーを起動できるようになります。


{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\Public\\Documents", // ★ アクセス許可ディレクトリ1
        "C:\\Users\\Public\\Downloads"  // ★ アクセス許可ディレクトリ2
      ]
    }
  }
}

2. 遭遇した3つの主要なエラーとその解決策

セットアップ成功に至るまで、私たちは3つの段階で環境依存のエラーに直面しました。

エラー 1: 環境側の実行エラー (ECOMPROMISED)
現象: JSON設定以前に、ターミナルで npx コマンドを実行しようとした際に発生。MCPサーバーパッケージの実行に必要なnpm環境が破損していました。

原因: npmのキャッシュまたはロックファイルの破損。

解決策: npm cache clean --force を実行し、環境側のエラーを修復しました。

エラー 2: パス解釈エラー(空白文字が原因)
現象: サーバーは認識されるが、すぐに「failed」となり、ログに Server disconnected エラーが出力される。

原因: JSON設定で指定したパス(例: C:\Users\Koga Hiroaki\Desktop)に空白文字が含まれていたため、サーバーが起動後のパス検証で失敗(ENOENT: no such file or directory)していました。

解決策:

JSON内のパスを二重引用符で囲む("C:\...")ことを試みるも、サーバーの仕様と合わず。

最終的に、空白文字を含まないシステム共通のパス(C:\Users\Public\Documents)に変更することで、パスの問題を回避しました。

エラー 3: JSON構文のエスケープ漏れ
現象: filesystemサーバー自体がClaude Desktopの「開発者」メニューに表示されない。

原因: Windowsのパス区切り文字 \ (バックスラッシュ)がJSON内で正しくエスケープされていなかった((バックシュラッシュ)ではなく \ (バックシュラッシュ×2)が必要)。

解決策: すべてのバックスラッシュを二重の**\**(バックシュラッシュ×2)にすることで、Claude DesktopがJSONを正しく読み込めるようになりました。

3. サーバー起動とMCP体験

サーバ起動

これらの困難を乗り越え、Claude Desktopにfilesystemサーバーがrunning状態で表示されました。

Claude Desktopのチャット入力ボックス左下の「検索とツール」から、filesystemサーバーのツールが利用可能であることを確認。

MCP体験

Claudeに「ドキュメントフォルダにmcp_test_folderという新しいフォルダを作成してください」と依頼。

filesystemをつかって指示をしたいです。どのように指示するといいでしょうか?
ファイルシステムツールの使い方についてご案内します!
基本的な使い方
まず、アクセス可能なディレクトリを確認しましょう:
"""
F
List allowed directories
"""

アクセス可能なディレクトリは以下の2つです:
"""
C:\Users\Public\Documents
C:\Users\Public\Downloads
"""

指示の例

  1. ファイルの内容を読む

C:\Users\Public\Documents\sample.txtの内容を読んでください
  1. ディレクトリの中身を確認
C:\Users\Public\Documentsの中にあるファイル一覧を教えてください
  1. ファイルを作成
C:\Users\Public\Documents\memo.txtに「こんにちは」と書いたファイルを作成してください
  1. ファイルを編集
sample.txtの中の「古いテキスト」を「新しいテキスト」に置き換えてください
  1. ファイル検索
Documentsフォルダ内で「report」という名前のファイルを探してください

コツ
パスは明確に: フルパスで指定すると確実です
自然な日本語でOK: 「〜を読んで」「〜を作って」など自然に指示してください
複数の操作も可能: 「ファイルを読んで、その内容を分析して」のような複合的な指示も可能です

AIがツール(create_directory)を実行し、OSのファイルシステム上にフォルダが作成されることを確認。

指示:

結果:

この経験は、MCPの学習において、理論だけでなく実践的な環境構築の知識(Node.js, JSON, OSパス)が不可欠であることを教えてくれました。同じ問題に直面している方の助けになれば幸いです。

参考文献

『やさしいMCP入門』(御田 稔、大坪 悠 著)
https://www.shuwasystem.co.jp/book/9784798075730.html
MCP公式ドキュメント: ローカルMCPサーバーに接続する
https://modelcontextprotocol.io/docs/develop/connect-local-servers#troubleshooting

Discussion