MCP Server Not Working? Fix Claude Desktop MCP Connection Errors

5 min fix · Claude Desktop · MCP · stdio · HTTP

MCP servers that silently refuse to connect are one of the most common Claude Desktop setup frustrations. Claude shows no error — the tools just don't appear. This guide covers the most common causes and how to diagnose each one.

Quick sanity check — test with a working MCP server

Add this to your config and restart Claude Desktop. If it works, your setup is fine and the issue is with your specific server:

{
  "mcpServers": {
    "prismix-status": {
      "url": "https://prismix.dev/api/v1/mcp"
    }
  }
}

Then ask Claude: "Is OpenAI down right now?" — it will use the tool and answer from live data.

Config file location

Platform Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json

Diagnose and fix

1

Update Claude Desktop

MCP support requires Claude Desktop ≥ 0.7.x. Help → Check for Updates. Older versions silently ignore the mcpServers block with no warning.

2

Validate JSON syntax

Paste your config into jsonlint.com. Common mistakes:

  • • Trailing comma after last item in object or array
  • • Single quotes instead of double quotes
  • • Missing mcpServers wrapper object
  • • Backslashes in Windows paths need escaping: C:\\Users\\ not C:\Users\
// Correct format for stdio server
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["/absolute/path/to/server.js"],
      "env": { "API_KEY": "your-key" }
    }
  }
}

// Correct format for HTTP server
{
  "mcpServers": {
    "my-http-server": {
      "url": "http://localhost:3000"
    }
  }
}
3

Check Claude Desktop logs

Help → Claude Logs shows MCP connection errors. Look for lines starting with [MCP]:

  • spawn ENOENT → command path is wrong. Use the absolute path to node/python/etc.
  • ECONNREFUSED → HTTP server isn't running on the configured port
  • parse error → server is returning non-JSON or malformed JSON-RPC
  • timeout → server is starting but not responding fast enough (increase timeout or fix slow init)
4

For stdio servers: test the command manually

Copy the exact command from your config and run it in a terminal. If it errors or doesn't start, Claude Desktop can't start it either. Common fixes:

  • • Use which node / which python3 to get the absolute path
  • • Run npm install in the server directory if dependencies are missing
  • • For uvx/npx commands, Claude Desktop may not have the same PATH as your shell
5

Always restart Claude Desktop after config changes

Claude Desktop reads claude_desktop_config.json only at startup. Fully quit (Cmd+Q / Alt+F4, not just close the window) and relaunch after any config change. On macOS, check the Dock to confirm it's not still running in the background.

FAQ

Why does Claude say it doesn't have any tools even after setup?

Tools are only available when Claude Desktop successfully connects to the MCP server at startup. If the connection fails (wrong path, server crashed, bad JSON), Claude starts without tools and never retries until you quit and relaunch. Check the logs, fix the issue, and restart.

Can I use MCP servers with Claude.ai in the browser?

Yes, via the Integrations panel in claude.ai settings — HTTP/SSE servers with a public URL work. The claude_desktop_config.json only applies to the desktop app. The Prismix MCP server (https://prismix.dev/api/v1/mcp) works in both.

How do I know if my MCP server is actually receiving requests?

Add logging to your server for incoming JSON-RPC messages. For HTTP servers, watch the access log — Claude Desktop sends a GET for the manifest on connect, then POST for each tool call. If you see no requests at all, the connection isn't established — re-check config and logs.

Browse curated MCP servers

Looking for MCP servers to add? Prismix tracks and curates servers across categories — files, web, databases, AI status, and more.

Browse MCP servers →