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 を要約して」と尋ねられるようにする用途です。