Ruby server implementing Model Context Protocol (MCP) for filesystem operations using the vector_mcp gem.
- 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
- Install Ruby 3.1+ and bundler
- Clone this repository
- Run
bundle install
ruby file_system_mcp.rb ~/Documents ~/Desktop
FILESYSTEM_MCP_API_KEY=your-secret-key ruby file_system_mcp.rb --enable-auth ~/Documents
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"filesystem": {
"command": "ruby",
"args": [
"/path/to/file_system_mcp.rb",
"~/Documents",
"~/Desktop"
]
}
}
}
For secure mode:
{
"mcpServers": {
"filesystem": {
"command": "ruby",
"args": [
"/path/to/file_system_mcp.rb",
"--enable-auth",
"~/Documents"
],
"env": {
"FILESYSTEM_MCP_API_KEY": "your-secret-key"
}
}
}
}
- 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
- list_directory - List contents with optional metadata
- create_directory - Create directories recursively
- search_files - Basic recursive search with patterns
- find_files - Advanced search with sorting, filtering, and metadata
- get_file_info - Get detailed file/directory metadata
- get_bulk_file_info - Get metadata for multiple files efficiently
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.
- Ruby 3.1+
- vector_mcp gem v0.3.1+