MCP File System Server
Click on "Install 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., "@MCP File System Serverlist files in my sandbox directory"
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.
๐ MCP File System Server
A secure, sandboxed file system server for the Model Context Protocol. Read, write, search, and manage files through any MCP-compatible AI client โ with path traversal protection, hidden file controls, and size limits.
โจ Features
๐ง 5 Tools:
read_file,write_file,list_directory,search_files,get_file_info๐ 1 Resource:
file://{path}โ read files via MCP resource URIs๐ก๏ธ Security-First Architecture: Sandbox isolation, path traversal prevention, max size limits
๐ฅ Hidden File Control: Block
.hiddenfiles by default, opt-in with--allow-hidden๐ Glob-Based Search: Search by pattern (
*.py,*.md,data_*.csv)๐ Rich Metadata: File size, timestamps, permissions, text/binary detection
๐ฅ๏ธ Dual Transport: stdio and Streamable HTTP
Related MCP server: FS Context MCP Server
๐ Quick Start
# 1. Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 2. Create sandbox and run
mkdir -p /tmp/mcp-sandbox
python filesystem_server.py --sandbox /tmp/mcp-sandbox๐ ๏ธ Tools Reference
read_file(path: str) -> str
Read a file and return its contents with metadata (size, modified time, SHA256).
write_file(path: str, content: str) -> str
Write content to a file. Creates parent directories automatically.
list_directory(path: str) -> str
List files and directories with sizes and type indicators.
search_files(pattern: str, base_path: str = "") -> str
Search by glob pattern across the entire sandbox.
get_file_info(path: str) -> str
Get detailed metadata: type, size, timestamps, permissions, text/binary detection.
๐ก๏ธ Security Controls
--sandbox PATH # Required: root directory (all operations restricted)
--allow-hidden # Allow access to .hidden files and directories
--max-size N # Max file size in MB (default: 10)Attack Vector | Protection |
| โ Path traversal prevented |
| โ Outside sandbox |
| โ Blocked by default |
100GB file read | โ Size limit (configurable) |
Hidden directory listing | โ Filtered by default |
๐ Resources
file://{path}
Read a file's raw content via MCP resource protocol.
๐ Connecting to Clients
Claude Desktop
{
"mcpServers": {
"filesystem": {
"command": "python",
"args": ["/ABSOLUTE/PATH/mcp-file-system-server/filesystem_server.py", "--sandbox", "/tmp/mcp-sandbox"]
}
}
}Cursor
Settings โ Features โ MCP โ Add Server:
Name:
filesystemType:
commandCommand:
python /ABSOLUTE/PATH/mcp-file-system-server/filesystem_server.py --sandbox /tmp/mcp-sandbox
๐ Project Structure
mcp-file-system-server/
โโโ filesystem_server.py # Main server (FastMCP + security)
โโโ requirements.txt
โโโ setup.sh
โโโ README.md
โโโ .gitignore๐งช Example Usage
# Read a file
read_file("/tmp/mcp-sandbox/data.txt")
# โ "๐ File: /tmp/mcp-sandbox/data.txt\nSize: 1,234 bytes\n..."
# Write a file
write_file("/tmp/mcp-sandbox/output/report.md", "# Report\n\nHello world!")
# โ "โ
Written 28 bytes to /tmp/mcp-sandbox/output/report.md"
# Search for Python files
search_files("**/*.py")
# โ "๐ 5 file(s) matching **/*.py:\n ๐ scripts/process.py (1,234 bytes)\n..."๐ License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/moaaz01/mcp-file-system-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server