
Filesystem MCP Server
β 1from sergiobayona
A Ruby server for performing filesystem operations like reading and writing files within specified directories.
π₯π₯π₯β VerifiedFreeQuick setup
Filesystem MCP Server
Ruby server implementing Model Context Protocol (MCP) for filesystem operations using the vector_mcp gem.
Features
- File operations: read, write, edit, move
- Directory operations: create, list
- Advanced search with filtering and sorting
- Bulk metadata operations
- Optional authentication and authorization
- Secure filesystem boundaries using MCP roots
Tools
File Operations
- read_file - Read complete file contents
- read_multiple_files - Read multiple files at once
- write_file - Create/overwrite files
- edit_file - Make precise text replacements with diff preview
- move_file - Move/rename files and directories
Directory Operations
- list_directory - List contents with optional metadata
- create_directory - Create directories recursively
Search Operations
- search_files - Basic recursive search with patterns
- find_files - Advanced search with sorting, filtering, and metadata
Info Operations
- get_file_info - Get detailed file/directory metadata
- get_bulk_file_info - Get metadata for multiple files efficiently
Security
The server enforces filesystem boundaries using MCP roots - it can only access directories specified as command-line arguments.
Optional authentication adds API key verification for all operations.
Installation
- Install Ruby 3.1+ and bundler
- Clone this repository
- Run
bundle install
Usage
Basic Mode
Copy & paste β that's it
ruby file_system_mcp.rb ~/Documents ~/DesktopSecure Mode (with authentication)
Copy & paste β that's it
FILESYSTEM_MCP_API_KEY=your-secret-key ruby file_system_mcp.rb --enable-auth ~/DocumentsClaude Desktop Configuration
Add to your claude_desktop_config.json:
Copy & paste β that's it
{
"mcpServers": {
"filesystem": {
"command": "ruby",
"args": [
"/path/to/file_system_mcp.rb",
"~/Documents",
"~/Desktop"
]
}
}
}For secure mode:
Copy & paste β that's it
{
"mcpServers": {
"filesystem": {
"command": "ruby",
"args": [
"/path/to/file_system_mcp.rb",
"--enable-auth",
"~/Documents"
],
"env": {
"FILESYSTEM_MCP_API_KEY": "your-secret-key"
}
}
}
}Requirements
- Ruby 3.1+
- vector_mcp gem v0.3.1+
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.