Where apps hide your files
The file that lists your MCP servers is claude_desktop_config.json, in a Library folder Finder hides by default. There is a button in the app that opens it, and a folder of logs that explains why a server fails to start.
~/Library/Application Support/Claude/claude_desktop_config.json
This is the file the Model Context Protocol documentation points to for macOS. The quickest way in is from the app itself: click the Claude menu in the menu bar (not the settings inside the chat window), choose Settings, open the Developer tab and click Edit Config. That opens the file, and creates it if it does not exist yet.
To reveal it in Finder instead, press ⇧⌘G, paste the folder path and press Return:
~/Library/Application Support/Claude
Or from Terminal, which selects the file in Finder:
open -R ~/Library/Application\ Support/Claude/claude_desktop_config.json
The Library folder itself is hidden. In Finder, hold ⌥ while opening the Go menu and "Library" appears, or press ⇧⌘. to show hidden items.
On the Mac checked for this guide the file had owner-only permissions (-rw-------), and for a good reason. Each entry under mcpServers can carry an env block, and people often paste API keys and tokens there. Before you share it in a forum post or a bug report, remove every value in env. Do not put it in a synced or public folder.
A harmless way to confirm it exists without reading it:
ls -l ~/Library/Application\ Support/Claude/claude_desktop_config.json
If you edit it, copy it first (for example to claude_desktop_config.backup.json in a folder of your own), because a stray comma makes the whole file invalid JSON and Claude will not load any servers from it.
Claude reads the file at launch. The MCP documentation says to quit the app completely and reopen it after saving, so press ⌘Q with Claude in front (closing the window is not enough). Then click the "Add files, connectors, and more" button at the bottom left of the message box, go to Connectors and Manage connectors, and check that your server is listed.
The log files are in a separate folder:
~/Library/Logs/Claude
According to the MCP documentation, mcp.log records connection activity and failures, and each server gets its own mcp-server-NAME.log holding everything that server writes to its error output, which is often all of its logging. Other logs such as main.log sit beside them. These can contain command lines and error text, so read them yourself in Terminal and be careful about pasting them anywhere. To follow the MCP logs live while you restart:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
The documentation's checklist for a missing server: restart Claude completely, check the file's JSON syntax, make sure every path in it is absolute rather than relative, read the logs, and try running the server's command yourself in Terminal to see its error.
The same Application Support folder is Claude Desktop's working storage. On a Mac running version 1.1617 it held these, among many smaller files:
| Item | What it is |
|---|---|
config.json | A separate, small settings file. Not the MCP file, so do not mix them up. |
Cache, Code Cache, GPUCache | Chromium-style caches for the app's web content. |
Local Storage, IndexedDB, Session Storage, Cookies | Browser-style data, including sign-in state. Leave alone. |
claude-code, claude-code-vm, vm_bundles | Files for the Claude Code and virtual machine features, present when those features have been used. |
local-agent-mode-sessions | Session data for agent features. |
On that Mac vm_bundles was 9.9 GB of a 10 GB folder, so check it first if the folder is huge. There is no documented way to clear it by hand, so leave it to the app rather than deleting it. Preferences are in ~/Library/Preferences/com.anthropic.claudefordesktop.plist, and a cache lives in ~/Library/Caches/com.anthropic.claudefordesktop.
The Claude Code command line tool does not read claude_desktop_config.json at run time. It keeps MCP servers in ~/.claude.json (or a project's .mcp.json) and its settings under ~/.claude, so adding a server to one app does not add it to the other. Claude Code can copy your Desktop servers once with claude mcp add-from-claude-desktop, which reads the config file from its standard location on macOS.
Copy only the config file. Do not copy the whole Application Support folder to move your setup: it carries sign-in cookies and caches that do not transfer cleanly. Put the file at the same path on the new Mac after installing Claude, and install whatever Node or Python tools the servers call, since the file only names commands and does not contain them. Absolute paths inside it that include your old username will need editing.
Spotlight does not return results from ~/Library, so typing claude_desktop_config into it will usually return nothing, even though the file is right where the documentation says.
Typing claude_desktop into Everywhere lists the config file directly, even though it sits inside ~/Library, along with any backup copy you saved under a similar name; ⌘↵ reveals it in Finder so you can drag a copy elsewhere. It matches names only, so it cannot tell you which MCP servers a file defines. Open the file for that.
At ~/Library/Application Support/Claude/claude_desktop_config.json. In Claude Desktop, Settings > Developer > Edit Config opens it directly.
Yes. Quit the app fully with ⌘Q and reopen it so it reloads the file and starts your MCP servers.
In ~/Library/Logs/Claude: mcp.log for connection problems and mcp-server-NAME.log for each server's own output.
Not without checking. The env section of a server entry often holds API keys, so remove those values first.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised