Filesystem MCP Server
A Ruby server for performing filesystem operations like reading and writing files within specified directories.
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
Installation
- Install Ruby 3.1+ and bundler
- Clone this repository
- Run
bundle install
Usage
Basic Mode
ruby file_system_mcp.rb ~/Documents ~/Desktop
Secure Mode (with authentication)
FILESYSTEM_MCP_API_KEY=your-secret-key ruby file_system_mcp.rb --enable-auth ~/Documents
Claude Desktop Configuration
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"
}
}
}
}
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.
Requirements
- Ruby 3.1+
- vector_mcp gem v0.3.1+
Related Servers
mini_mcp
A lightweight plugin to list all files and folders on the current macOS user's desktop.
302AI File Parser
Parses various file formats using the 302.AI API, requiring a 302AI_API_KEY.
MCP File Edit
Perform file system operations such as reading, writing, patching, and managing directories.
ZIP MCP Server
Compress and decompress ZIP files, with support for multi-file packaging, password protection, and encryption.
FTP Access
Provides access to an FTP server for file operations.
MCP Apple Notes
Perform semantic search and retrieval augmented generation over your Apple Notes.
File Convert MCP Server
Convert files between various formats, including images, documents, audio, video, and more.
Transmission MCP Server
An MCP server for controlling the Transmission torrent daemon.
Filesystem MCP Server for WSL
A filesystem server for Windows Subsystem for Linux (WSL), using native commands for faster file operations.
PDF Splitter
Provides random access to PDF contents, allowing selective extraction of pages and content to reduce reading costs.