Scoped local file access — read, write, search and reorganise files in directories you explicitly allow.
The Filesystem MCP server is the workhorse of local AI assistance: it lets your assistant read, write, edit, move and search files — but only inside directories you explicitly allow at startup. That allowlist model is the whole design. Grant access to ~/Documents/projects and the model can work freely there while the rest of your disk simply doesn't exist to it.
The tool set is more thoughtful than a naive fs wrapper. read_multiple_files pulls a batch in one call, which matters for context efficiency. edit_file does targeted find-and-replace edits with a dry-run mode, so the assistant can propose a diff before touching anything. search_files recursively hunts filename patterns, directory_tree maps structures as JSON, and head/tail options on reads keep giant log files from flooding the context window.
What do people actually do with it? Organise the download-folder midden into dated subfolders. Batch-rename a photo dump. Read a project directory and write documentation. Refactor config files across a repo. Draft-edit-review loops on documents where the assistant does the typing and you keep approval. In shell-less clients like Claude Desktop, this server is file access — it's the difference between an assistant that talks about your files and one that works with them.
One habit worth keeping: grant the narrowest directories that cover the task, not your home folder. The allowlist is enforced honestly (symlink escapes are blocked), but write tools mean mistakes are possible within scope — version-control or back up anything precious first.
edit_file in dry-run mode first. It returns a git-style diff of the proposed change, which is a far better review surface than a rewrite you never saw.search_files matches names, not contents. Finding a string inside files means reading them, so narrow with a filename pattern or an exclude list before the assistant starts opening everything.move_file refuses to clobber an existing destination while write_file overwrites silently — an asymmetry worth remembering during folder reorganisation.list_allowed_directories is the fastest way to see what is genuinely in scope.Sort downloads, batch-rename files and impose order on chaotic directories.
The assistant drafts and edits files in place while you review diffs.
Read a codebase or notes folder and produce summaries, docs or reorganisation plans.
| Tool | What it does |
|---|---|
| read_text_file / read_multiple_files | Read one or many files, with head/tail options for big ones |
| write_file | Create or overwrite a file |
| edit_file | Targeted find-and-replace edits with dry-run diffs |
| create_directory / move_file | Make folders, move and rename files |
| search_files | Recursive filename pattern search |
| directory_tree | JSON tree view of a directory structure |
| get_file_info | Size, timestamps and permissions metadata |
| list_allowed_directories | Show which roots the server may touch |
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/you/Documents/projects",
"/Users/you/Desktop"
]
}
}
}Every path listed after the package name becomes an allowed root. Grant narrowly.
Node.js 18+. Access is limited to directories passed at startup (or granted via client Roots).
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Chat with your second brain — search, read and write vault notes through the Local REST API.
Model Context Protocol (MCP) tool to interact with Claude Desktop on macOS
Upload, search, transform and organise your Cloudinary media library from a chat window
Run an M&A data room — projects, folders, permissions and diligence Q&A — from an AI conversation.