A Model Context Protocol (MCP) server that provides filesystem operations for Claude AI.
This MCP server provides the following filesystem operations:
-
read_file: Read complete contents of a file
- Input:
path
(string) - Reads complete file contents with UTF-8 encoding
- Input:
-
read_multiple_files: Read multiple files simultaneously
- Input:
paths
(string[]) - Failed reads won't stop the entire operation
- Input:
-
write_file: Create new file or overwrite existing
- Inputs:
path
(string): File locationcontent
(string): File content
- Inputs:
-
create_directory: Create new directory or ensure it exists
- Input:
path
(string) - Creates parent directories if needed
- Succeeds silently if directory exists
- Input:
-
list_directory: List directory contents with [FILE] or [DIR] prefixes
- Input:
path
(string)
- Input:
-
move_file: Move or rename files and directories
- Inputs:
source
(string)destination
(string)
- Fails if destination exists
- Inputs:
-
search_files: Recursively search for files/directories
- Inputs:
path
(string): Starting directorypattern
(string): Search pattern
- Case-insensitive matching
- Returns full paths to matches
- Inputs:
-
get_file_info: Get detailed file/directory metadata
- Input:
path
(string) - Returns:
- Size
- Creation time
- Modified time
- Access time
- Type (file/directory)
- Permissions
- Input:
-
list_allowed_directories: List all directories the server is allowed to access
- No input required
- Returns directories that this server can read/write from
The server only allows operations within directories specified via command-line arguments.
- Clone this repository
- Install dependencies:
npm install
- Build the project:
npm run build
Run the server with one or more allowed directories:
node build/index.js /path/to/allowed/dir1 /path/to/allowed/dir2
Add the server to your MCP configuration file:
{
"mcpServers": {
"filesystem-server": {
"command": "node",
"args": [
"/path/to/filesystem-server/build/index.js",
"/path/to/allowed/dir1",
"/path/to/allowed/dir2"
],
"disabled": false,
"autoApprove": []
}
}
}
ISC