Filesystem MCP server in Claude Desktop give Claude your folders.
Claude Desktop can't touch your files by default. mcp-server-filesystem changes that — read, write, and search on exactly the directories you allow, configured in claude_desktop_config.json.
Of every client this server supports, Claude Desktop benefits most: the app ships with no filesystem access at all, so mcp-server-filesystem (@agent-infra/mcp-server-filesystem, from ByteDance's 36.3k-star ui-tars-desktop project) is what turns Claude from a chat window into something that can organize your downloads, read a folder of contracts, or draft files in your notes directory.
Setup means editing one JSON file and doing one genuinely full restart — the restart being where most first attempts go wrong.
Find the config file on your OS
Claude Desktop reads MCP servers from claude_desktop_config.json. On macOS it's at ~/Library/Application Support/Claude/claude_desktop_config.json; on Windows it's %APPDATA%\Claude\claude_desktop_config.json. The quickest route on either OS is Claude Desktop's Settings > Developer > Edit Config, which opens the right file even if it doesn't exist yet.
Node.js 18+ must be installed, since the server runs via npx.
The mcpServers entry
Add the server under mcpServers, listing the directories Claude may touch after the --allowed-directories flag. Use full absolute paths — Claude Desktop launches the server from a directory you don't control, so relative paths and unexpanded ~ both misbehave:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@agent-infra/mcp-server-filesystem@latest",
"--allowed-directories",
"/Users/you/Documents/projects"
]
}
}
}Restart means quit, not close
Claude Desktop only reads this config at launch, and closing the window does not quit the app — it keeps running in the menu bar (macOS) or system tray (Windows). Quit it properly (Cmd-Q, or right-click the tray icon and Quit), reopen, and the filesystem server spawns.
Once running, the tools indicator in the chat input shows the filesystem server and its tools. Ask Claude to list the files in your allowed folder as a first test.
Decide what Claude should reach
The allowed-directories list is a real boundary: the server rejects any operation outside it. Resist the temptation to allow your whole home directory — a folder like Documents/projects covers most workflows while keeping SSH keys, browser profiles, and credentials out of reach. You can list multiple directories by adding more paths after the flag.
Everything the server can do — the probed tool list — is on its Loomal listing at https://loomal.ai/marketplace/mcp-server-filesystem.
Troubleshooting on the desktop
Server never appears after restart: check the JSON (the file must be a single valid object — a stray comma kills it silently) and confirm you actually quit the app rather than closed the window.
Appears but fails to start: Claude Desktop writes per-server logs you can read — on macOS under ~/Library/Logs/Claude/ (look for mcp-server-filesystem entries), on Windows under %APPDATA%\Claude\logs\. "command not found" there means the app can't see npx; installing Node via the official installer (not only a shell-managed version) fixes the GUI-launch PATH problem.
Runs but refuses every operation: your allowed path has a typo or uses ~. Replace it with the fully spelled absolute path and restart again.
FAQ
How do I set up the filesystem server in Claude Desktop?
Open Settings > Developer > Edit Config, add an mcpServers entry running npx -y @agent-infra/mcp-server-filesystem@latest with --allowed-directories and an absolute path, then fully quit and reopen Claude Desktop. The tools indicator confirms it loaded.
Why didn't my config change take effect?
Claude Desktop reads claude_desktop_config.json only at launch, and closing the window leaves the app alive in the menu bar or tray. Quit it completely and reopen. If it still doesn't load, validate the JSON — silent parse failures are the other usual cause.
Is it safe to give Claude filesystem access?
It's as safe as the directories you allow. The server enforces --allowed-directories on every call, so scope it to a working folder rather than your home directory, and treat write access as something you grant deliberately, not by default.
Where are Claude Desktop's MCP logs?
macOS: ~/Library/Logs/Claude/, with per-server log files for each MCP server. Windows: %APPDATA%\Claude\logs\. Startup errors like a missing npx or a bad package name are spelled out there, making it the first stop when a server won't launch.
More MCP servers for Claude Desktop.
Every Loomal listing shows the server's live-probed tool list.