Get started using pre-built servers in Claude for Desktop.
In this tutorial, you will extend Claude for Desktop so that it can read from your computer’s file system, write new files, move files, and even search files.
Don’t worry — it will ask you for your permission before executing these actions!
Start by downloading Claude for Desktop, choosing either macOS or Windows. (Linux is not yet supported for Claude for Desktop.)
Follow the installation instructions.
If you already have Claude for Desktop, make sure it’s on the latest version by clicking on the Claude menu on your computer and selecting “Check for Updates…”
Why Claude for Desktop and not Claude.ai?
Because servers are locally run, MCP currently only supports desktop hosts. Remote hosts are in active development.
To add this filesystem functionality, we will be installing a pre-built Filesystem MCP Server to Claude for Desktop. This is one of dozens of servers created by Anthropic and the community.
Get started by opening up the Claude menu on your computer and select “Settings…” Please note that these are not the Claude Account Settings found in the app window itself.
This is what it should look like on a Mac:
Click on “Developer” in the lefthand bar of the Settings pane, and then click on “Edit Config”:
This will create a configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
if you don’t already have one, and will display the file in your file system.
Open up the configuration file in any text editor. Replace the file contents with this:
Make sure to replace username
with your computer’s username. The paths should point to valid directories that you want Claude to be able to access and modify. It’s set up to work for Desktop and Downloads, but you can add more paths as well.
You will also need Node.js on your computer for this to run properly. To verify you have Node installed, open the command line on your computer.
Once in the command line, verify you have Node installed by entering in the following command:
If you get an error saying “command not found” or “node is not recognized”, download Node from nodejs.org.
How does the configuration file work?
This configuration file tells Claude for Desktop which MCP servers to start up every time you start the application. In this case, we have added one server called “filesystem” that will use the Node npx
command to install and run @modelcontextprotocol/server-filesystem
. This server, described here, will let you access your file system in Claude for Desktop.
Command Privileges
Claude for Desktop will run the commands in the configuration file with the permissions of your user account, and access to your local files. Only add commands if you understand and trust the source.
After updating your configuration file, you need to restart Claude for Desktop.
Upon restarting, you should see a hammer icon in the bottom right corner of the input box:
After clicking on the hammer icon, you should see the tools that come with the Filesystem MCP Server:
If your server isn’t being picked up by Claude for Desktop, proceed to the Troubleshooting section for debugging tips.
You can now talk to Claude and ask it about your filesystem. It should know when to call the relevant tools.
Things you might try asking Claude:
As needed, Claude will call the relevant tools and seek your approval before taking an action:
Server not showing up in Claude / hammer icon missing
claude_desktop_config.json
file syntaxclaude_desktop_config.json
are valid and that they are absolute and not relativeusername
as you did in claude_desktop_config.json
) to see if you get any errors:Getting logs from Claude for Desktop
Claude.app logging related to MCP is written to log files in:
macOS: ~/Library/Logs/Claude
Windows: %APPDATA%\Claude\logs
mcp.log
will contain general logging about MCP connections and connection failures.
Files named mcp-server-SERVERNAME.log
will contain error (stderr) logging from the named server.
You can run the following command to list recent logs and follow along with any new ones (on Windows, it will only show recent logs):
Tool calls failing silently
If Claude attempts to use the tools but they fail:
None of this is working. What do I do?
Please refer to our debugging guide for better debugging tools and more detailed guidance.
ENOENT error and `${APPDATA}` in paths on Windows
If your configured server fails to load, and you see within its logs an error referring to ${APPDATA}
within a path, you may need to add the expanded value of %APPDATA%
to your env
key in claude_desktop_config.json
:
With this change in place, launch Claude Desktop once again.
NPM should be installed globally
The npx
command may continue to fail if you have not installed NPM globally. If NPM is already installed globally, you will find %APPDATA%\npm
exists on your system. If not, you can install NPM globally by running the following command:
Check out our gallery of official MCP servers and implementations
Now build your own custom server to use in Claude for Desktop and other clients