Secure file operations with configurable access controls
Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
Note: The server will only allow operations within directories specified via args
.
file://system
: File system operations interfacepath
(string)paths
(string[])path
(string): File locationcontent
(string): File contentpath
(string): File to editedits
(array): List of edit operationsoldText
(string): Text to search for (can be substring)newText
(string): Text to replace withdryRun
(boolean): Preview changes without applying (default: false)path
(string)path
(string)source
(string)destination
(string)path
(string): Starting directorypattern
(string): Search patternexcludePatterns
(string[]): Exclude any patterns. Glob formats are supported.path
(string)Add this to your claude_desktop_config.json
:
Note: you can provide sandboxed directories to the server by mounting them to /projects
. Adding the ro
flag will make the directory readonly by the server.
Note: all directories must be mounted to /projects
by default.
{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop", "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro", "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt", "mcp/filesystem", "/projects" ] } } }
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } } }
Docker build:
docker build -t mcp/filesystem -f src/filesystem/Dockerfile .
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.