An MCP server for reading and writing files from your local file system. This server can be used with Claude for Desktop or any other MCP client to provide file system access for AI assistants.
- List files and directories
- Read file contents
- Write content to files
- Delete files and directories
- Docker installed on your system
- Git (optional, for cloning the repository)
-
Clone this repository:
git clone https://github.com/abhishekloiwal/mcp-file-server.git cd mcp-file-server
-
Edit the
docker-compose.yml
file to update the volume mount path if needed. By default, it's set to:volumes: - /Users/abhishekloiwal/CascadeProjects/ClaudeProjects:/data
Replace with your desired local path if different.
-
Deploy with Docker Compose:
docker-compose up -d
-
Clone the repository:
git clone https://github.com/abhishekloiwal/mcp-file-server.git cd mcp-file-server
-
Build the Docker image:
docker build -t mcp-file-server .
-
Run the container with your local directory mounted:
docker run -d --name mcp-file-server -v /Users/abhishekloiwal/CascadeProjects/ClaudeProjects:/data mcp-file-server
Replace the path with your desired local directory path.
-
Create or update your Claude for Desktop configuration file at:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- Mac:
-
Add the mcp-file-server to your configuration:
{ "mcpServers": { "file-server": { "command": "docker", "args": ["exec", "-i", "mcp-file-server", "python", "server.py"] } } }
-
Restart Claude for Desktop.
-
You should now see the file-server tools available in Claude.
The following tools are available through this MCP server:
list_files
: List all files in a directoryread_file
: Read the contents of a filewrite_file
: Write content to a filedelete_file
: Delete a file or directory
MIT
-
If Claude for Desktop doesn't connect to the server, check the Docker container status:
docker ps -a | grep mcp-file-server
-
View server logs:
docker logs mcp-file-server
-
Make sure the volume is correctly mounted:
docker inspect mcp-file-server | grep -A 10 Mounts