Learn how to extend Claude Desktop with local MCP servers to enable file system access and other powerful integrations
Model Context Protocol (MCP) servers extend AI applications’ capabilities by providing secure, controlled access to local resources and tools. Many clients support MCP, enabling diverse integration possibilities across different platforms and applications.This guide demonstrates how to connect to local MCP servers using Claude Desktop as an example, one of the many clients that support MCP. While we focus on Claude Desktop’s implementation, the concepts apply broadly to other MCP-compatible clients. By the end of this tutorial, Claude will be able to interact with files on your computer, create new documents, organize folders, and search through your file system—all with your explicit permission for each action.
Download and install Claude Desktop for your operating system. Claude Desktop is available for macOS, Windows, and Linux.If you already have Claude Desktop installed, verify you’re running the latest version by clicking the Claude menu and selecting “Check for Updates…”
The Filesystem Server and many other MCP servers require Node.js to run. Verify your Node.js installation by opening a terminal or command prompt and running:
node --version
If Node.js is not installed, download it from nodejs.org. We recommend the LTS (Long Term Support) version for stability.
MCP servers are programs that run on your computer and provide specific capabilities to Claude Desktop through a standardized protocol. Each server exposes tools that Claude can use to perform actions, with your approval. The Filesystem Server we’ll install provides tools for:
Reading file contents and directory structures
Creating new files and directories
Moving and renaming files
Searching for files by name or content
All actions require your explicit approval before execution, ensuring you maintain full control over what Claude can access and modify.
The process involves configuring Claude Desktop to automatically start the Filesystem Server whenever you launch the application. This configuration is done through a JSON file that tells Claude Desktop which servers to run and how to connect to them.
1
Open Claude Desktop Settings
Start by accessing the Claude Desktop settings. Click on the Claude menu in your system’s menu bar (not the settings within the Claude window itself) and select “Settings…”On macOS, this appears in the top menu bar:
This opens the Claude Desktop configuration window, which is separate from your Claude account settings.
2
Access Developer Settings
In the Settings window, navigate to the “Developer” tab in the left sidebar. This section contains options for configuring MCP servers and other developer features.Click the “Edit Config” button to open the configuration file:
This action creates a new configuration file if one doesn’t exist, or opens your existing configuration. The file is located at:
Replace the contents of the configuration file with the following JSON structure. This configuration tells Claude Desktop to start the Filesystem Server with access to specific directories:
Replace username with your actual computer username. The paths listed in the args array specify which directories the Filesystem Server can access. You can modify these paths or add additional directories as needed.
Understanding the Configuration
"filesystem": A friendly name for the server that appears in Claude Desktop
"command": "npx": Uses Node.js’s npx tool to run the server
"-y": Automatically confirms the installation of the server package
"@modelcontextprotocol/server-filesystem": The package name of the Filesystem Server
The remaining arguments: Directories the server is allowed to access
Security ConsiderationOnly grant access to directories you’re comfortable with Claude reading and modifying. The server runs with your user account permissions, so it can perform any file operations you can perform manually.
4
Restart Claude Desktop
After saving the configuration file, completely quit Claude Desktop and restart it. The application needs to restart to load the new configuration and start the MCP server.Upon successful restart, click the “Add files, connectors, and more /” indicator in the bottom-left corner of the conversation input box:
Click on this indicator, then move the mouse over “Connectors” and click “Manage connectors”. Select “filesystem” from the connector list to view the Filesystem Server’s available tools:
If the Filesystem Server doesn’t connect, refer to the Troubleshooting section for debugging steps.
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 the stderr output from the named server. Stdio servers may use stderr for all their logging, so these files are not limited to errors.
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):
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
type "%APPDATA%\Claude\logs\mcp*.log"
Tool calls failing silently
If Claude attempts to use the tools but they fail:
Check Claude’s logs for errors
Verify your server builds and runs without errors
Try restarting Claude Desktop
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 globallyThe 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: