Filesystem MCP サーバ(基本セットアップ)

@modelcontextprotocol/server-filesystem を使って Claude Desktop や Cursor にローカルフォルダの読み取りアクセスを付与します。すべての MCP ユーザーが最初に設定する基本構成です。

Presets

詳細な説明

Filesystem サーバ:基本中の基本

filesystem サーバは公式 MCP サーバの中で最もシンプルで、ほとんどの人が最初に設定するものです。1 つ以上のディレクトリをルートとしてマウントし、モデルにその中のファイルを読ませます。デフォルトでは書き込み権限もシェル実行もありません。

最小構成

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/your-name/Documents"
      ]
    }
  }
}

args の意味

  • -y は npm のインストール確認プロンプトを自動承認し、初回起動でも非対話で spawn できるようにします。
  • @modelcontextprotocol/server-filesystem は npm パッケージ名で、npx が取得して実行します。
  • パッケージ名以降の引数はすべて ルートパス です。サーバは各ルートを独立した分離マウントとして扱い、.. で兄弟ディレクトリに抜け出すことはできません。

複数ルート

任意の数のパスを渡せば複数ルートをマウントできます:

"args": [
  "-y",
  "@modelcontextprotocol/server-filesystem",
  "/Users/me/projects/api",
  "/Users/me/projects/web"
]

保存先

macOS の Claude Desktop なら ~/Library/Application Support/Claude/claude_desktop_config.json に保存して再起動。Cursor ならプロジェクトルートの .cursor/mcp.json、もしくはグローバル用の ~/.cursor/mcp.json です。

安全上の注意

サーバは読み取り専用ですが、マウントしたルート内の すべて が見えます。.env ファイル、SSH 鍵、コマンド履歴がそこにあれば全部です。ホームディレクトリ全体ではなく、プロジェクト単位の狭いフォルダだけをマウントしてください。

ユースケース

Claude や Cursor にプロジェクトフォルダをインデックスさせ、ソースをチャットに毎回貼らずに「X を処理する関数はどこ?」「/apps の README を要約して」と尋ねられるようにする用途です。

試してみる — MCP Server Config Generator

フルツールを開く