
This guide is part of our MCP setup guides, within The MCP Guide. Paths are checked against each app's documentation on the date shown.
To add an MCP server to Claude Desktop on a Mac, install it as a desktop extension from Settings, or add it by hand to ~/Library/Application Support/Claude/claude_desktop_config.json and restart the app. Remote servers with a URL go in Customize > Connectors instead.
MCP (Model Context Protocol) servers give Claude tools, such as reading files or querying an app. This guide walks through each route on macOS, shows a minimal config that works, and explains how to check it loaded.
Checked against: the MCP project's local server guide, Anthropic's desktop extensions article and Anthropic's custom connector article on 2 November 2026.
Key Takeaways
- Desktop extensions are one-click installs and store secrets in the macOS Keychain, per Anthropic.
- The manual config file is
~/Library/Application Support/Claude/claude_desktop_config.json; open it with Settings > Developer > Edit Config. - You must quit Claude with Cmd+Q and reopen it after editing the file.
- Logs live in
~/Library/Logs/Claude, andtail -fshows failures as they happen. - Most Mac failures are a wrong
npxpath, invalid JSON or a relative folder path.
What you need
- Claude Desktop for macOS from the download page. If it is already installed, use the Claude menu > Check for Updates....
- Node.js for servers that start with
npx. Runnode --versionin Terminal. The MCP guide recommends the LTS release from nodejs.org. - A server to add. Our MCP server finder helps you pick one.
Option 1: Install a desktop extension
- Open Claude's Settings, then Desktop app, and select Manage next to Extensions. Older layouts show Settings > Extensions.
- Click Browse extensions.
- Choose an extension and click Install.
- Enter any required settings, such as an API key.
For a .mcpb file from a vendor, click Advanced settings, find Extension Developer and choose Install Extension.... Anthropic says fields marked sensitive are kept in the Keychain on macOS. If macOS blocks something, Anthropic's article points to the Security & Privacy area of System Settings.
Option 2: Edit the config file
- Click the Claude menu in the macOS menu bar and choose Settings.... This is the app's settings window, not your account settings.
- Open the Developer tab and click Edit Config.
- Add a server block, save, and quit Claude with Cmd+Q.
- Reopen Claude.
Here is the macOS example from the MCP quickstart, which runs the official Filesystem server:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
Replace username with your short user name (run whoami in Terminal if unsure). The quickstart explains that -y "automatically confirms the installation of the server package," and the folder paths are the only places the server may touch. Checked against the MCP quickstart on 2 November 2026.
To add a second server, add another entry inside mcpServers, separated by a comma. Our free MCP config generator writes valid blocks if you want to skip hand-editing.
Passing an API key
Most servers read keys from environment variables. Add an env object to the server entry:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-key-here"
}
}
}
}
The file is plain text, so anyone with access to your Mac account can read the key. A desktop extension is the safer choice for secrets where one exists.
Option 3: Add a remote server
If the vendor gives you a URL, go to Customize > Connectors, click + Add and choose Add custom connector. Enter the name and URL, then sign in when prompted. Anthropic says custom connectors work on Free through Enterprise, with Free limited to one. These connectors also show up in Claude on the web, which local servers do not.
Verify the server loaded
After restarting, click the "Add files, connectors, and more" button at the bottom left of the message box. Hover over Connectors and click Manage connectors. Select your server to see its tools.
When Claude wants to use a tool, it asks for approval first. The MCP quickstart says "all actions require your explicit approval before execution."
Read the logs
If the server is missing, open Terminal and run:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
The quickstart says mcp.log covers "general logging about MCP connections and connection failures," and mcp-server-SERVERNAME.log holds the server's stderr. Next, run the server command yourself to see its errors directly:
npx -y @modelcontextprotocol/server-filesystem /Users/username/Desktop
Common Mac mistakes
npxnot found by Claude. Apps launched from the Dock do not always see the PATH your shell sets, especially with Node version managers. Put the full path fromwhich npxincommand. Our macOS PATH fix covers this.- Closing the window instead of quitting. Claude keeps running. Use Cmd+Q.
- Relative paths. The quickstart says folder paths must be absolute.
- Broken JSON. One trailing comma stops every server in the file from loading.
- Expecting local servers in Cowork or on the web. Anthropic says servers in this file "aren't available in Cowork or claude.ai."
Keep it safe
A local server runs with your macOS user's permissions. Grant only the folders a task needs, and read what a server does before installing it. Our MCP server risk checklist is a quick pre-install review.
Next step
Once your first server works, connect a business app. Our Claude connect guides cover Notion, Slack, HubSpot and more, such as connecting Claude to Notion. If developers on your team need servers shared through a repository, see the Claude Code mcp add guide.
More in the MCP Guide
Free tools: MCP Config Generator · Client Support Matrix
Latest research: State of MCP: October 2026
Frequently asked questions
How do I open claude_desktop_config.json on a Mac?
From Claude, open Settings > Developer > Edit Config. Or in Finder, choose Go > Go to Folder and paste ~/Library/Application Support/Claude/.
Do I need to restart Claude after editing the file?
Yes. The MCP quickstart says to "completely quit Claude Desktop and restart it." On a Mac, use Cmd+Q, because closing the window leaves the app running.
Why does my server work in Terminal but not in Claude?
Usually because Claude cannot find the same npx or node your shell uses. Use the full path to the executable in the command field, then restart.
Is a desktop extension better than the JSON file?
For most people, yes. It installs in one click, updates automatically if it comes from the official directory, and stores secrets in the Keychain. Use the JSON file when a server has no extension or needs custom arguments.











