Filesystem MCP Server
ファイルシステムMCPサーバー
包括的な権限制御と強化された機能を備えたファイルシステム操作用のモデル コンテキスト プロトコル (MCP) を実装する Node.js サーバー。
特徴
きめ細かな権限制御(読み取り専用、フルアクセス、または特定の操作権限)
許可されたディレクトリ内での安全なファイル操作
ファイル操作:
ファイルの読み取り/書き込み/変更
ディレクトリの作成/一覧表示/削除
ファイル/ディレクトリを移動する
名前または拡張子でファイルを検索する
ファイルのメタデータを取得する
ディレクトリ操作:
ディレクトリ構造のツリービュー
除外パターンを使用した再帰操作
ユーティリティ関数:
XMLからJSONへの変換
1回の呼び出しで複数のファイル操作
パターンマッチングによる高度なファイル編集
セキュリティ機能:
シンボリックリンク制御
パス検証
サンドボックス化された操作
注意: サーバーは、設定された権限に従って、 argsで指定されたディレクトリ内でのみ操作を許可します。
Related MCP server: MCP Filesystem Server
API
リソース
file://system: ファイルシステム操作インターフェース
ツール
読み取りファイル
ファイルの完全な内容を読み取る
入力:
path(文字列)UTF-8エンコードでファイル内容全体を読み取ります
複数のファイルを読み取る
複数のファイルを同時に読み取る
入力:
paths(文字列[])読み取りに失敗しても操作全体が停止することはない
ファイルの作成
コンテンツを含む新しいファイルを作成する
入力:
path(文字列): ファイルの場所content(文字列): ファイルの内容
ファイルが既に存在する場合は失敗します
create権限が必要です
ファイルの変更
既存のファイルを新しいコンテンツで変更する
入力:
path(文字列): ファイルの場所content(文字列): 新しいファイルの内容
ファイルが存在しない場合は失敗します
edit権限が必要です
編集ファイル
パターンマッチングと書式設定を使用して選択的な編集を行う
特徴:
行ベースおよび複数行のコンテンツマッチング
インデントを保持した空白の正規化
正しい位置で複数の編集を同時に行う
インデントスタイルの検出と保存
コンテキスト付きのGitスタイルのdiff出力
ドライランモードで変更をプレビューする
入力:
path(文字列):編集するファイルedits(配列):編集操作のリストoldText(文字列): 検索するテキスト(完全一致)newText(文字列): 置換するテキスト
dryRun(ブール値): 変更を適用せずにプレビューします (デフォルト: false)
ドライランの詳細な差分を返し、それ以外の場合は変更を適用します
edit権限が必要ですベストプラクティス: 変更をプレビューするには、必ず最初に dryRun を使用してください。
ディレクトリの作成
新しいディレクトリを作成するか、存在することを確認します
入力:
path(文字列)必要に応じて親ディレクトリを作成します
ディレクトリが存在する場合は、何もせずに成功します
create権限が必要です
リストディレクトリ
[FILE]または[DIR]プレフィックスを持つディレクトリの内容を一覧表示します
入力:
path(文字列)ファイルとディレクトリの詳細なリストを返します
ディレクトリツリー
ディレクトリ構造の再帰ツリービューを取得する
入力:
path(文字列)ファイルとディレクトリを含むJSON構造を返します
各エントリには、名前、タイプ、子(ディレクトリの場合)が含まれます。
ファイルの移行
ファイルとディレクトリの移動または名前の変更
入力:
source(文字列): ソースパスdestination(文字列): 宛先パス
宛先が存在する場合は失敗します
ファイルとディレクトリの両方で動作します
move権限が必要です
ファイルを削除
ファイルを削除する
入力:
path(文字列)ファイルが存在しない場合は失敗します
delete権限が必要です
ディレクトリの削除
ディレクトリを削除する
入力:
path(文字列): 削除するディレクトリrecursive(boolean): コンテンツを削除するかどうか (デフォルト: false)
ディレクトリが空でなく、再帰が偽の場合、失敗します
delete権限が必要です
検索ファイル
ファイル/ディレクトリを再帰的に検索する
入力:
path(文字列):開始ディレクトリpattern(文字列): 検索パターンexcludePatterns(string[]): 除外パターン(glob形式をサポート)
大文字と小文字を区別しないマッチング
一致するフルパスを返します
拡張子でファイルを検索する
特定の拡張子を持つすべてのファイルを検索する
入力:
path(文字列):開始ディレクトリextension(文字列):検索するファイル拡張子excludePatterns(string[]): オプションの除外パターン
大文字と小文字を区別しない拡張子のマッチング
一致するファイルへのフルパスを返します
ファイル情報を取得する
詳細なファイル/ディレクトリのメタデータを取得する
入力:
path(文字列)戻り値:
サイズ
作成時間
修正時間
アクセス時間
タイプ(ファイル/ディレクトリ)
権限
権限の取得
現在のサーバー権限を取得する
入力不要
戻り値:
権限フラグ(読み取り専用、フルアクセス、作成、編集、移動、削除)
シンボリックリンクのフォローステータス
許可されるディレクトリの数
許可されたディレクトリの一覧
サーバーがアクセスを許可されているすべてのディレクトリを一覧表示します
入力不要
許可されたディレクトリパスの配列を返します
XMLからJSONへ
XMLファイルをJSON形式に変換する
入力:
xmlPath(文字列): ソースXMLファイルjsonPath(文字列): 宛先JSONファイルoptions(オブジェクト): オプション設定ignoreAttributes(ブール値): XML属性をスキップします(デフォルト: false)preserveOrder(boolean): プロパティの順序を維持する (デフォルト: true)format(ブール値):JSONをきれいに印刷する(デフォルト:true)indentSize(数値): JSONインデント(デフォルト: 2)
XMLファイルの
read権限が必要ですJSONファイルの
createまたはedit権限が必要です
xml_to_json_string
XMLファイルをJSON文字列に変換する
入力:
xmlPath(文字列): ソースXMLファイルoptions(オブジェクト): オプション設定ignoreAttributes(ブール値): XML属性をスキップします(デフォルト: false)preserveOrder(boolean): プロパティの順序を維持する (デフォルト: true)
XMLファイルの
read権限が必要ですJSON文字列表現を返す
xml_クエリ
XPath式を使用してXMLファイルをクエリする
入力:
path(文字列): XMLファイルへのパスquery(文字列、オプション): 実行するXPathクエリstructureOnly(ブール値、オプション):タグ構造のみを返すmaxBytes(数値、オプション):読み取る最大バイト数(デフォルト:1MB)includeAttributes(ブール値、オプション): 属性情報を含める (デフォルト: true)
XPath の例:
すべての要素を取得:
//tagname特定の属性を持つ要素を取得します:
//tagname[@attr="value"]テキストコンテンツを取得:
//tagname/text()
大きなXMLファイルでもメモリ効率が良い
クエリ結果または構造のJSON表現を返します
XML構造
ファイル全体を読み込まずにXML構造を分析
入力:
path(文字列): XMLファイルへのパスdepth(数値、オプション):分析する深さ(デフォルト:2)includeAttributes(ブール値、オプション): 属性分析を含めるmaxBytes(数値、オプション):読み取る最大バイト数(デフォルト:1MB)
要素、属性、構造に関する統計情報を返します
詳細な分析の前に大規模なXMLファイルを理解するのに便利です
権限とセキュリティ
サーバーは、きめ細かな権限制御を備えた包括的なセキュリティ モデルを実装します。
ディレクトリアクセス制御
操作は、起動時に
argsで指定されたディレクトリに厳密に制限されます。すべての操作(シンボリックリンクのターゲットを含む)は許可されたディレクトリ内でのみ実行する必要があります。
パス検証により、ディレクトリトラバーサルや許可されたパス外へのアクセスが防止されます。
権限フラグ
--readonly : 読み取り専用モードを強制し、他のすべての権限フラグを上書きします
--full-access : すべての操作(作成、編集、移動、削除)を有効にします
個別の権限フラグ (--full-access が設定されていない限り、明示的に有効化する必要があります):
--allow-create : 新しいファイルとディレクトリの作成を許可する
--allow-edit : 既存のファイルの変更を許可する
--allow-move : ファイルとディレクトリの移動/名前変更を許可する
--allow-delete : ファイルとディレクトリの削除を許可する
デフォルトの動作:権限フラグが指定されていない場合、サーバーは読み取り専用モードで実行されます。書き込み操作を有効にするには、 --full-accessまたは特定の--allow-*フラグを使用する必要があります。
シンボリックリンクの扱い
デフォルトでは、シンボリックリンクがたどられます(リンクとターゲットの両方が許可されたディレクトリ内にある必要があります)
--no-follow-symlinks : シンボリックリンクの追跡を無効にする(操作はリンク自体に対して行われる)
Claude Desktopとカーソルの使用
claude_desktop_config.json (Claude Desktop の場合) または.cursor/mcp.json (Cursor の場合) に適切な構成を追加します。
カーソルの設定
.cursor/mcp.jsonの場合:
{
"mcpServers": {
"my-filesystem": {
"command": "node",
"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/path/to/allowed/directory",
"--full-access"
]
}
}
}Dockerの設定
Claude Desktop と Docker の場合:
{
"mcpServers": {
"filesystem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/filesystem",
"--readonly", // For read-only access
"--no-follow-symlinks", // Optional: prevent symlink following
"/projects"
]
}
}
}NPX構成
Claude Desktop または NPX 付き Cursor の場合:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"--full-access", // For full read/write access
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}許可フラグの例
さまざまな権限の組み合わせでサーバーを構成できます。
"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/path/to/allowed/directory",
"--readonly" // Read-only mode
]"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/path/to/allowed/directory",
"--full-access", // Full read/write access
"--no-follow-symlinks" // Don't follow symlinks
]"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/path/to/allowed/directory",
"--allow-create", // Selective permissions
"--allow-edit" // Only allow creation and editing
]注意: --readonly他のすべての権限フラグよりも優先され、 --full-access --readonlyが指定されていない限りすべての操作を有効にします。
複数のディレクトリと権限
複数のディレクトリを指定する場合、権限フラグはすべてのディレクトリにグローバルに適用されます。
"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/first/directory", // Both directories have the same
"~/second/directory", // permission settings (read-only)
"--readonly"
]異なるディレクトリに異なる権限レベルが必要な場合は、複数のサーバー構成を作成します。
{
"mcpServers": {
"readonly-filesystem": {
"command": "node",
"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/sensitive/directory",
"--readonly"
]
},
"writeable-filesystem": {
"command": "node",
"args": [
"/path/to/mcp-filesystem/dist/index.js",
"~/sandbox/directory",
"--full-access"
]
}
}
}コマンドラインの例
読み取り専用アクセス:
npx -y @modelcontextprotocol/server-filesystem --readonly /path/to/dirフルアクセス:
npx -y @modelcontextprotocol/server-filesystem --full-access /path/to/dir特定の権限:
npx -y @modelcontextprotocol/server-filesystem --allow-create --allow-edit /path/to/dirシンボリックリンクが続きません:
npx -y @modelcontextprotocol/server-filesystem --full-access --no-follow-symlinks /path/to/dir建てる
Dockerビルド:
docker build -t mcp/filesystem -f src/filesystem/Dockerfile .ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceNode.js server implementing Model Context Protocol (MCP) for filesystem operations.14443,78089,405Inno Setup
- AlicenseAqualityCmaintenanceA secure Model Context Protocol server that provides controlled filesystem access within predefined directories, enabling AI models to perform file and directory operations with strict path validation.1677MIT
- Alicense-qualityDmaintenanceNode.js server implementing Model Context Protocol for secure read-only filesystem operations, allowing Claude to read files, list directories, search files, and get file metadata within specified directories.226MIT
- -license-quality-maintenanceNode.js server implementing Model Context Protocol (MCP) for filesystem operations, allowing AI systems to read, write, edit files and manage directories within specified allowed paths.443,780
Related MCP Connectors
MCP (Model Context Protocol) server for Appwrite
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rawr-ai/mcp-filesystem'
If you have feedback or need assistance with the MCP directory API, please join our Discord server