Skip to main content
Guide7 min read

MCP server not loading in Claude Desktop: 9 fixes that actually work

Hammer icon missing or a server shows red in Claude Desktop? Walk-through of the nine most common causes and the exact fix for each.

You added an MCP server to claude_desktop_config.json, restarted Claude, and... nothing. No hammer icon, or the server shows red in MCP Logs. Nine issues cause ~95% of these, ranked by how often we see them.

0. Open the logs first

Before guessing, open Claude Desktop → Settings → Developer → Open MCP Logs. Each server has a mcp-server-name.log. Scan the last few lines — the error usually names itself.

1. Invalid JSON

Symptom: No hammer icon at all, even after restart.
Cause: trailing comma, missing quote, unescaped backslash.
Fix: paste config into jsonlint.com. Almost always it’s a comma after the last item.

2. Not fully quit

Closing the window keeps Claude in background. Use Cmd+Q (macOS) or Tray → Quit (Windows). Reopen. Otherwise config changes are not picked up.

3. Node / npx not in PATH

Symptom: Logs say spawn npx ENOENT.
Cause: Claude launches from Dock / Start menu, which does not inherit your shell’s PATH. npx lives in .nvm or similar.
Fix (macOS):

sudo ln -s "$(which npx)" /usr/local/bin/npx
sudo ln -s "$(which node)" /usr/local/bin/node

Or pass absolute path in the config: "command": "/Users/you/.nvm/versions/node/v22.0.0/bin/npx".

4. Relative path in args

Filesystem MCP with "args": ["-y", "...", "./docs"] will fail. Claude resolves ./ from its launch directory, not your terminal. Always absolute paths.

5. Secret in wrong place

Env vars go in the env object, not inline in args. Common mistake:

// WRONG
"args": ["-y", "server-x", "--token=ghp_xxx"]

// RIGHT
"env": { "TOKEN": "ghp_xxx" }

6. Docker MCP server: daemon not running

GitHub and a few others ship as Docker images. If Docker Desktop is closed, docker run hangs. Logs will say Cannot connect to the Docker daemon. Start Docker Desktop, relaunch Claude.

7. Server needs a specific Node version

Some MCP servers require Node 20+; you have 18. Run node --version, upgrade via nvm install 22, then either set Claude to use the upgraded binary or nvm alias default 22.

8. Windows path escaping

On Windows, paths need double backslashes in JSON:

// WRONG
"args": ["C:\Users\you\docs"]

// RIGHT
"args": ["C:\\Users\\you\\docs"]

Or use forward slashes — Node accepts C:/Users/you/docs just fine.

9. Server is actually broken

Sometimes it’s not you. Test the server standalone:

npx @modelcontextprotocol/inspector npx -y <package-name> [args]

If the inspector shows the error too, it’s the server, not Claude. Check the server’s GitHub issues — likely a recent breakage.

After trying all nine

If none works, share your log snippet on the r/ClaudeAI subreddit — the community is quick, but make sure you post the relevant lines, not the whole file.

Prevention

  • Version-control your claude_desktop_config.json — you’ll thank yourself after OS reinstalls.
  • Use one server at a time when adding new ones. Add, verify, commit, move on.
  • Keep a directory bookmarks page open — install commands for every major MCP server are one click away.
Loadout

Build your AI agent loadout

Directory
Contact
© 2026 Loadout. Built on Angular 21 SSR.