High-Performance File System MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@High-Performance File System MCP Server Create a new directory called 'backup' and move all files ending with .tmp into it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ High-Performance File System MCP Server
Secure, Dockerized Model Context Protocol (MCP) Server for File & Directory CRUD Operations
Empower your AI assistants (Claude Desktop, Cursor, Codex, Windsurf, Continue.dev) to read, write, edit, search, and manage local files and folders seamlessly via Docker Desktop.
๐ Table of Contents
Related MCP server: local-mcp
โจ Core Capabilities
Feature | Tool Name | Description |
Read File |
| Read text content of any file within mounted folders. |
Read Batch |
| Read multiple files in a single request for fast analysis. |
Create / Overwrite |
| Create new files or overwrite existing files safely. |
Edit & Patch |
| Replace target text blocks (single or |
Delete File |
| Delete specified files from the filesystem. |
Create Folder |
| Create recursive directory trees ( |
List Folder |
| List folder contents with file size, type, & timestamp metadata. |
Delete Folder |
| Remove folders recursively or non-recursively. |
Move / Rename |
| Move or rename files and directories. |
File Metadata |
| Inspect file stats (size, creation/modified dates, attributes). |
Search Files |
| Search files via glob patterns ( |
๐๏ธ How It Works (Architecture)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Client / IDE โ
โ (Claude Desktop, Cursor, Codex, Windsurf, Continue.dev, etc.) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JSON-RPC over Stdio
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Desktop Container โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Node.js MCP Server Runtime โ โ
โ โ - Security validation against allowed directories โ โ
โ โ - Full File & Folder CRUD Operations โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Volume Mount (-v)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Host Filesystem โ
โ (e.g., C:\Users\Username\Desktop โโ> Mounted as /data) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ[!SECURITY NOTE] Containerized Isolation: The AI client can only read and modify files in directories explicitly passed to the container via Docker volume mounts (
-v). Your rest of system remains isolated.
๐ Quick Start Guide
1. Clone Repository
git clone https://github.com/SohailShabbir867/file_mcp_server.git
cd file_mcp_server2. Build Docker Image
Build the container image tagged as file-mcp-server:
docker build -t file-mcp-server .Verify that the image is ready:
docker images | grep file-mcp-server๐ Connecting Files & Folders via MCP
Docker volume mounts (-v) control which local folders on your computer are accessible to the AI through the MCP server. Inside the container, mounted paths map to /data.
Scenario A: Access Desktop Folder Only
Mount only your Windows or macOS Desktop folder:
Windows:
-v "C:\Users\YourName\Desktop:/data"macOS / Linux:
-v "/Users/yourname/Desktop:/data"
Scenario B: Access Entire User Directory
Mount your entire User home folder to allow access to Desktop, Documents, Downloads, Projects, etc.:
Windows:
-v "C:\Users\YourName:/data"macOS / Linux:
-v "/Users/yourname:/data"
Scenario C: Access Specific Workspace or Project
Mount a specific project directory:
Windows:
-v "D:\Projects\MyApp:/data"macOS / Linux:
-v "/Users/yourname/Projects/MyApp:/data"
Scenario D: Access Multiple Folders or Drives
You can pass multiple volume mounts to access multiple paths:
docker run -i --rm \
-v "C:\Users\YourName\Desktop:/data/desktop" \
-v "D:\Projects:/data/projects" \
file-mcp-server /data/desktop /data/projects๐ป Client Integration Guides
1. Claude Desktop
Configuration File Location:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Config File Example:
Open claude_desktop_config.json and add the file-server configuration:
{
"mcpServers": {
"file-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"C:\\Users\\Sohail Shabbir\\Desktop:/data",
"file-mcp-server"
]
}
}
}Windows Path Formatting: Remember to use double backslashes (\\) in claude_desktop_config.json (e.g. C:\\Users\\YourName\\Desktop:/data).
After updating the file, restart Claude Desktop. Look for the hammer icon ๐ ๏ธ to confirm tools are loaded!
2. Cursor IDE
Open Cursor Settings (
Ctrl + ,orCmd + ,).Navigate to Features -> MCP Servers.
Click + Add New MCP Server.
Set the following fields:
Name:
file-serverType:
commandCommand:
docker run -i --rm -v "C:\Users\Sohail Shabbir\Desktop:/data" file-mcp-server
Click Save.
3. Codex / Continue.dev / VS Code
For Continue.dev or VS Code MCP Extensions, add the server to your MCP configuration file (e.g., ~/.continue/config.json or .mcp.json):
{
"mcpServers": [
{
"name": "file-server",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"C:\\Users\\Sohail Shabbir\\Desktop:/data",
"file-mcp-server"
]
}
]
}4. Windsurf / Cline / Roo Code
In your extension settings (cline_mcp_settings.json or Windsurf MCP settings):
{
"mcpServers": {
"file-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"C:\\Users\\Sohail Shabbir\\Desktop:/data",
"file-mcp-server"
],
"disabled": false,
"autoApprove": []
}
}
}๐ ๏ธ Tool Reference & Example Prompts
Tool | Key Parameters | Example Prompt for AI Client |
|
| "Read the content of |
|
| "Compare |
|
| "Create a file |
|
| "Replace |
|
| "Delete temp file |
|
| "Create folder |
|
| "List all files and folders inside |
|
| "Delete directory |
|
| "Rename |
|
| "Check creation date and size of |
|
| "Search for all |
๐ง Local Development (Without Docker)
To run or debug the server directly using Node.js:
# 1. Install dependencies
npm install
# 2. Build TypeScript source
npm run build
# 3. Start server with allowed base directory
node dist/index.js "C:\Users\Sohail Shabbir\Desktop"โ Troubleshooting & FAQ
Q1: docker: command not found or connection error
Solution: Ensure Docker Desktop is installed and running in your taskbar.
Q2: Path permission denied inside Claude or Cursor
Solution: Check your
-vvolume mount path. Ensure the directory exists on your computer and your user account has read/write permissions.
Q3: Cannot find files created by AI
Solution: Files created inside
/datawill appear directly inside the mounted folder on your computer (e.g.C:\Users\YourName\Desktop).
๐ License
This project is licensed under the MIT License. Feel free to use, modify, and distribute!
Available Tools
11 toolscreate_directoryA
Create a directory path recursively.
Inputs: path (required).
delete_directoryB
Delete a directory and optionally all of its contents.
Inputs: path (required), recursive.
delete_fileB
Delete a specific file from the filesystem.
Inputs: path (required).
edit_fileA
Update an existing file by replacing target text with new text.
Inputs: path (required), target (required), replacement (required), replaceAll.
get_file_infoA
Get metadata for a file or directory (size, modification date, path stats).
Inputs: path (required).
list_directoryA
List all items inside a directory with metadata (size, isDirectory, modified date).
Inputs: path (required).
move_fileA
Move or rename a file or directory.
Inputs: source (required), destination (required), overwrite.
read_fileB
Read the complete content of a single text file.
Inputs: path (required), encoding.
read_multiple_filesA
Read the contents of multiple files in a single request.
Inputs: paths (required).
search_filesB
Search for files within a directory matching a glob pattern.
Inputs: pattern (required), directory (required).
write_fileA
Create a new file or overwrite an existing file with text content.
Inputs: path (required), content (required), overwrite.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 11 tools
Each tool targets a distinct operation: read vs. read_multiple, write vs. edit, file vs. directory actions. get_file_info and list_directory might seem similar, but descriptions clarify that one returns metadata for a single path while the other lists directory contents.
Most tool names follow a verb_noun pattern (read_file, write_file, delete_file, create_directory). Minor deviations include read_multiple_files (verb_phrase) and get_file_info (uses 'get' instead of 'read'), but the overall convention is consistent and readable.
With 11 tools, the set is well-scoped for a file system MCP server. Each tool covers a necessary file or directory operation without unnecessary redundancy or bloat.
The tool surface covers core lifecycle operations for files and directories: create, read, update, delete, list, move, and search. A notable gap is the lack of a copy operation, but move_file and edit_file cover most workflows.
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
Nifty's MCP server โ exposes tasks, projects, messages, and files as tools for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโฆ
Browse and manage files in your Moxt AI workspace from any MCP client.
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that enables AI assistants to perform comprehensive file operations including finding, reading, writing, editing, searching, moving, and copying files with security validations.71MIT
- AlicenseNot gradedqualityDmaintenanceA lightweight, stdio-based MCP server enabling AI assistants to perform local file system operations like reading, writing, searching, and executing commands.5,159 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server that enables AI to read, search, and edit local files securely without external data exposure, using local LLMs via Ollama and integrating with Open WebUI or Claude Desktop.-
- AlicenseNot gradedqualityDmaintenanceMCP server enabling ChatGPT to interact with local filesystem via controlled file operations like read, write, edit, and search, with configurable guardrails for safety.MIT