File System
About
Access and update files locally on your machine.
Details
- Author
- Highlight
- Repository
- highlight-ing/mcp-servers
- Downloads
- 1,018
- License
- MIT License
- Categories
- File Management, Search
Jump to
- Read/write files
- Create/list/delete directories
- Move files/directories
- Search files
- Get file metadata
Note: The server will only allow operations within directories specified via args.
Setting up with Highlight
Follow these steps to add this server as a custom Highlight plugin:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
File SystemCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@modelcontextprotocol/server-filesystem -
Argument 3
/Users/username/Desktop -
Argument 4
/path/to/other/allowed/dir
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add this to your claude_desktop_config.json:
read_file
Read complete contents of a file. Input: `path` (string). Reads complete file contents with UTF-8 encoding.
read_multiple_files
Read multiple files simultaneously. Input: `paths` (string[]). Failed reads won't stop the entire operation.
write_file
Create new file or overwrite existing file. Inputs: `path` (string): File location, `content` (string): File content.
edit_file
Make selective edits using advanced pattern matching and formatting. Inputs: `path` (string): File to edit, `edits` (array): List of edit operations, `dryRun` (boolean): Preview changes without applying (default: false), `options` (object): Optional formatting settings.
create_directory
Create new directory or ensure it exists. Input: `path` (string). Creates parent directories if needed.
list_directory
List directory contents with [FILE] or [DIR] prefixes. Input: `path` (string).
move_file
Move or rename files and directories. Inputs: `source` (string), `destination` (string). Fails if destination exists.
search_files
Recursively search for files/directories. Inputs: `path` (string): Starting directory, `pattern` (string): Search pattern, `excludePatterns` (string[]): Exclude any patterns.
get_file_info
Get detailed file/directory metadata. Input: `path` (string). Returns size, creation time, modified time, access time, type, and permissions.
list_allowed_directories
List all directories the server is allowed to access. No input required. Returns directories that this server can read/write from.
- read_file
- Read complete contents of a file
- Input: path (string)
- Reads complete file contents with UTF-8 encoding
- read_multiple_files
- Read multiple files simultaneously
- Input: paths (string[])
- Failed reads won't stop the entire operation
- write_file
- Create new file or overwrite existing (exercise caution with this)
- Inputs:
- path (string): File location
- content (string): File content
- edit_file
- Make selective edits using advanced pattern matching and formatting
- Features:
- Line-based and multi-line content matching
- Whitespace normalization with indentation preservation
- Fuzzy matching with confidence scoring
- Multiple simultaneous edits with correct positioning
- Indentation style detection and preservation
- Git-style diff output with context
- Preview changes with dry run mode
- Failed match debugging with confidence scores
- Inputs:
- path (string): File to edit
- edits (array): List of edit operations
- oldText (string): Text to search for (can be substring)
- newText (string): Text to replace with
- dryRun (boolean): Preview changes without applying (default: false)
- options (object): Optional formatting settings
- preserveIndentation (boolean): Keep existing indentation (default: true)
- normalizeWhitespace (boolean): Normalize spaces while preserving structure (default: true)
- partialMatch (boolean): Enable fuzzy matching (default: true)
- Returns detailed diff and match information for dry runs, otherwise applies changes
- Best Practice: Always use dryRun first to preview changes before applying them
- create_directory
- Create new directory or ensure it exists
- Input: path (string)
- Creates parent directories if needed
- Succeeds silently if directory exists
- list_directory
- List directory contents with [FILE] or [DIR] prefixes
- Input: path (string)
- move_file
- Move or rename files and directories
- Inputs:
- source (string)
- destination (string)
- Fails if destination exists
- search_files
- Recursively search for files/directories
- Inputs:
- path (string): Starting directory
- pattern (string): Search pattern
- excludePatterns (string[]): Exclude any patterns. Glob formats are supported.
- Case-insensitive matching
- Returns full paths to matches
- get_file_info
- Get detailed file/directory metadata
- Input: path (string)
- Returns:
- Size
- Creation time
- Modified time
- Access time
- Type (file/directory)
- Permissions
- list_allowed_directories
- List all directories the server is allowed to access
- No input required
- Returns:
- Directories that this server can read/write from
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"file system": {
"env": {},
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
"shell": false,
"command": "npx"
}
}
}
Linux
{
"env": [],
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
"shell": false,
"command": "npx"
}
Macos
{
"env": [],
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
"shell": false,
"command": "npx"
}
Windows
{
"env": [],
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
],
"shell": false,
"command": "npx"
}
Filesystem MCP Server
Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
Features
- Read/write files
- Create/list/delete directories
- Move files/directories
- Search files
- Get file metadata
Note: The server will only allow operations within directories specified via args.
API
Resources
- file://system: File system operations interface
Tools
- read_file
- Read complete contents of a file
- Input: path (string)
- Reads complete file contents with UTF-8 encoding
- read_multiple_files
- Read multiple files simultaneously
- Input: paths (string[])
- Failed reads won't stop the entire operation
- write_file
- Create new file or overwrite existing (exercise caution with this)
- Inputs:
- path (string): File location
- content (string): File content
- edit_file
- Make selective edits using advanced pattern matching and formatting
- Features:
- Line-based and multi-line content matching
- Whitespace normalization with indentation preservation
- Fuzzy matching with confidence scoring
- Multiple simultaneous edits with correct positioning
- Indentation style detection and preservation
- Git-style diff output with context
- Preview changes with dry run mode
- Failed match debugging with confidence scores
- Inputs:
- path (string): File to edit
- edits (array): List of edit operations
- oldText (string): Text to search for (can be substring)
- newText (string): Text to replace with
- dryRun (boolean): Preview changes without applying (default: false)
- options (object): Optional formatting settings
- preserveIndentation (boolean): Keep existing indentation (default: true)
- normalizeWhitespace (boolean): Normalize spaces while preserving structure (default: true)
- partialMatch (boolean): Enable fuzzy matching (default: true)
- Returns detailed diff and match information for dry runs, otherwise applies changes
- Best Practice: Always use dryRun first to preview changes before applying them
- create_directory
- Create new directory or ensure it exists
- Input: path (string)
- Creates parent directories if needed
- Succeeds silently if directory exists
- list_directory
- List directory contents with [FILE] or [DIR] prefixes
- Input: path (string)
- move_file
- Move or rename files and directories
- Inputs:
- source (string)
- destination (string)
- Fails if destination exists
- search_files
- Recursively search for files/directories
- Inputs:
- path (string): Starting directory
- pattern (string): Search pattern
- excludePatterns (string[]): Exclude any patterns. Glob formats are supported.
- Case-insensitive matching
- Returns full paths to matches
- get_file_info
- Get detailed file/directory metadata
- Input: path (string)
- Returns:
- Size
- Creation time
- Modified time
- Access time
- Type (file/directory)
- Permissions
- list_allowed_directories
- List all directories the server is allowed to access
- No input required
- Returns:
- Directories that this server can read/write from
Usage with Claude Desktop
Add this to yourclaude_desktop_config.json:Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.
