About Filesystem MCP Server
Filesystem MCP Server is a Ruby MCP server for clients that need controlled filesystem access. It provides file, directory, search, and metadata tools, with access limited to configured MCP roots and optional API-key authentication.
Key features
- 01Read, write, edit, and move files
- 02Create and list directories
- 03Search with filters and sorting
- 04Retrieve single or bulk metadata
- 05Optional API-key authentication
- 06Restrict access to configured MCP roots
Use cases
- 01Read and update files through an MCP client
- 02Search configured directories by pattern
- 03Inspect metadata for multiple files
- 04Limit filesystem access to selected directories
MCP support
It exposes file, directory, search, and metadata tools to MCP clients. MCP roots restrict access to the directories provided as command-line arguments.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEFilesystem 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+
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.