Filesystem Official
Give an agent scoped read and write access to directories you choose.
- Transport
- stdio
- Package
- @modelcontextprotocol/server-filesystem
- Registry id
- —
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
The reference filesystem server, and the one most people meet first. It exposes reading, writing, moving and searching files as MCP tools, restricted to the directories you list when you start it.
Why the scoping matters more than the features
An agent with unscoped filesystem access is an agent that can read your SSH keys because a web page told it to. The allow-list is the whole security model here: the server refuses paths outside it, so the blast radius of a bad instruction is whatever you handed over and nothing else. Point it at a project directory, not at a home directory.
Where it fits
Best for an agent that has to work across a codebase or a document set — reading several files to answer, then writing the change back. If all you need is "read this one file", your client probably already does that without a server.
Worth knowing
- Writes are real and immediate. Run it against a directory under version
control, so a wrong edit is a
git diffrather than an archaeology exercise. - Search is content-based and will happily read every file in scope; a directory
with a large
node_modulesin it is a slow directory.