MCP servers give Claude Desktop superpowers. They're programs that run on your computer and let Claude interact with your files, databases, and other local resources. It's like giving Claude hands to actually do things on your machine instead of just talking about them.
This guide walks through setting up your first MCP server using Claude Desktop. We'll get Claude connected to your file system so it can read files, create documents, organize folders, and search through your directories. Every action requires your approval, so you stay in control.
What You'll Need
Before we start, make sure you have these installed.
Claude Desktop - Download it from the official Claude website. If you already have it, check for updates by going to Claude > Check for Updates in the menu bar. You need the latest version for MCP support to work properly.
Node.js - Most MCP servers (including the filesystem one we're using) run on Node. Check if you have it by opening your terminal and running node --version. If you don't see a version number, grab the LTS version from nodejs.org. The LTS version is more stable than the cutting edge releases.
How MCP Servers Actually Work
Think of MCP servers as specialized assistants that run in the background. Each one provides specific tools that Claude can use. The filesystem server we're setting up gives Claude tools for reading files, creating directories, moving stuff around, and searching for files by name or content.
The key thing is that Claude can't just go wild with these tools. Every single action needs your explicit approval. When Claude wants to create a file or move something, you'll see a prompt asking if it's okay. If something looks sketchy, just decline it.
Setting Up the Filesystem Server
Here's how to get Claude Desktop talking to your file system. The configuration happens through a JSON file that tells Claude which servers to start and what they can access.
Open the Configuration File
First, open Claude Desktop's settings. Not the settings inside a chat window, the actual app settings. On Mac, click Claude in the menu bar and select Settings. On Windows, you'll find it in the system tray menu.
Once you're in settings, go to the Developer tab on the left sidebar.
You'll see an "Edit Config" button. Click it. This either opens your existing config file or creates a new one. The file lives at ~/Library/Application Support/Claude/claude_desktop_config.json on Mac or %APPDATA%\Claude\claude_desktop_config.json on Windows.
Add the Filesystem Server Config
Copy this configuration into your file. Make sure to replace username with your actual computer username:
macOS:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
Windows:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\username\\Desktop",
"C:\\Users\\username\\Downloads"
]
}
}
}
Here's an example of my config file (Bright Data is the only remote MCP server I am using):
The paths in the args array are the directories Claude can access. This example gives it Desktop and Downloads, but you can change these to whatever makes sense for you. Just be thoughtful about it. Only give access to folders you're genuinely comfortable with Claude reading and modifying.
Here's what each piece of the config does. The "filesystem" name is just a label that shows up in Claude Desktop. The command tells it to use npx, which comes with Node.js. The -y flag auto-confirms installing the server package. And @modelcontextprotocol/server-filesystem is the actual package name. Everything after that is directories the server can touch.
One thing to watch out for: the server runs with your user permissions. If you can delete or modify something, the server can too. So be selective about which directories you expose.
Restart Claude Desktop
Save your config file and completely quit Claude Desktop. You need to fully restart it, not just close the window. Once it starts back up, look for a small hammer icon in the bottom-right corner of the chat input box. That's your MCP server indicator.
Click the hammer icon to see what tools the filesystem server provides. You should see options for reading files, creating directories, moving files, and searching. If you don't see the hammer icon at all, something went wrong. Check the troubleshooting section below.
Actually Using It
Now the fun part. Try asking Claude to do something with your files. Here are some examples that show off what's possible:
"Can you write a short story and save it to my desktop?" Claude will write the story and create a new file for it. Before saving, you'll see an approval prompt showing exactly what file it wants to create and where.
"What PDFs are in my downloads folder?" Claude will scan downloads and list any PDFs it finds. It can even summarize what they're about if you want.
"Organize all the images on my desktop into a folder called 'Images'" Claude will create the folder and move image files into it. You'll approve each step.
Every time Claude wants to do something with your files, it asks first. You'll see exactly what operation it wants to perform and on which files. Take a second to read these prompts. If something looks weird, deny it and ask Claude why it wanted to do that.
Here's an example of how I use the Yahoo Finance MCP Server:
And here's the final result:
When Things Don't Work
If the filesystem server isn't showing up or tools are failing, here's how to fix it.
Server not connecting - First, completely restart Claude Desktop. Not just closing the window, actually quit the app. Then check your claude_desktop_config.json syntax. JSON is picky about commas and brackets. Make sure all your file paths are absolute, not relative. So /Users/username/Desktop, not just Desktop. Also verify the paths actually exist on your system.
If it's still not working, check the logs. On Mac they're in ~/Library/Logs/Claude, on Windows in %APPDATA%\Claude\logs. The mcp.log file shows general connection info. Files named mcp-server-filesystem.log show errors from the filesystem server specifically.
You can tail the logs on Mac with:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
On Windows:
type "%APPDATA%\Claude\logs\mcp*.log"
Try running the server manually to see if it throws any errors:
npx -y @modelcontextprotocol/server-filesystem /Users/username/Desktop /Users/username/Downloads
Tools failing silently - If Claude tries to use tools but they fail without clear error messages, check the logs first. Then verify the server runs correctly when you start it manually. Sometimes restarting Claude Desktop fixes weird state issues.
Windows path issues - If you're on Windows and seeing errors about ${APPDATA} in paths, you might need to add the expanded value to your config's env section:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\username\\Desktop"],
"env": {
"APPDATA": "C:\\Users\\username\\AppData\\Roaming\\"
}
}
}
}
Also make sure npm is installed globally. You should have a %APPDATA%\npm directory. If not, run npm install -g npm to install it globally.
What's Next
You've got Claude connected to your file system now. That's a solid start, but there's a lot more you can do with MCP.
Check out the official MCP servers repository on GitHub to see what else is available. There are servers for databases, APIs, web scraping, and all sorts of other tools. The community has built some really interesting ones too.
If you've got specific needs, you can build your own MCP server. It's not as hard as it sounds. The MCP documentation has guides for creating custom servers in Python or TypeScript.
You can also connect Claude to remote servers, not just local ones. This opens up possibilities for cloud-based tools and services. Same concept, different connection method.
And if you want to really understand what's happening under the hood, read through the MCP architecture docs. They explain the protocol design and how clients and servers communicate. It's genuinely interesting if you're into that kind of thing.




Top comments (0)