QAmcp GitHub

MCP server not working? Find the cause

When an MCP server won't connect, doesn't show up, or shows no tools in Cursor, Claude Desktop or VS Code, it's almost always one of the causes below. The fastest way to know which one: test the server directly, outside the app.

Last updated: 27 October 2026

Step 1 · Test the server directly

Test the server outside the app first

An app like Cursor or Claude Desktop often just says the server failed. Testing it directly tells you whether the problem is the server or the app's settings, and QAmcp explains the failure in plain words.

npx qamcp-cli https://your-server.com/mcp
npx qamcp-cli --stdio "npx -y @acme/mcp-server"

A server on the internet can also be tested on the test page, with nothing to install. If the test passes, the server is fine and the problem is in the app's settings: jump to the section for your kind of server below.

Step 2 · A server on the internet

A server on the internet won't connect

Many servers live at an address ending in /mcp, and links copied from a listing often leave it out. A 404 or 405 error usually means the path is wrong. When this happens, QAmcp checks the usual paths and tells you the address where an MCP server really answers.

The server only speaks the old SSE connection

Older servers use the SSE connection type, newer ones use streamable HTTP. Some apps only try one of them. QAmcp tries both and says which one the server speaks, so you can pick the matching setting or link in your app.

It needs a login or an API key

A 401 or 403 error means the server wants you to sign in. Add the key the server's docs ask for (often an Authorization header) or use the app's sign-in option. To check the login setup itself, test with --login: QAmcp opens the login page in your browser and reports what's wrong with the login setup if it fails.

It's too slow

If the server takes many seconds to connect or answer, apps can give up first. QAmcp times connecting, listing tools and every answer, and flags anything slow.

Step 3 · A server on your computer

A server on your computer won't start

The config file has a typo

One missing comma or quote in claude_desktop_config.json or mcp.json breaks every server in it. Paste the file into any JSON checker. Watch for trailing commas, which JSON doesn't allow.

The app can't find npx, node or uvx

Desktop apps often don't see the same PATH as your terminal, especially on macOS, so a command that works in the terminal fails in the app. Use the full path to the program in the config, for example the output of which npx (macOS and Linux) or where npx (Windows).

The server prints logs to stdout

A local server talks to the app over stdout, so any stray line it prints there, like a startup message or a debug log, breaks the connection. Send logs to stderr instead. QAmcp's --stdio test checks for this and shows the lines that don't belong.

A key or setting is missing

Many servers need an API key in an environment variable. Put it in the env section of the server's entry in the config, then test the same way with npx qamcp-cli --stdio "your command" --env NAME=value.

The app wasn't restarted

Most apps only read the config when they start. Fully quit the app (not just close its window) and open it again after every change.

Step 4 · Connected, but something's missing

It connects, but tools are missing or wrong

One broken tool hides the whole server

If a single tool has an invalid definition, some apps refuse to load the server at all. QAmcp checks every tool definition and names the one that breaks the list, while still testing the others.

Too many tools in total

Apps limit how many tools they pass to the AI. Cursor users report a limit of 40 tools across all servers, and some servers alone come close. Turn off servers or tools you don't use. QAmcp's tips also say when a server's tool list is unusually large.

The AI picks the wrong tool, or none

The AI chooses tools from their names and descriptions alone. Missing or vague descriptions, or two tools that read the same, make it guess. QAmcp flags each of these with the exact tool names.

Step 5 · Read the logs

Where the logs are

If a server still fails, the app's logs usually show the real error. Claude Desktop writes its MCP logs to ~/Library/Logs/Claude on macOS and %APPDATA%\Claude\logs on Windows. Cursor shows MCP output in its Output panel. Look for the first error after the server starts; the lines after it are usually just the app giving up.

Questions

Questions

Why does my MCP server work in the terminal but not in Claude Desktop?

Usually because the app doesn't see the same PATH as your terminal, so it can't find npx, node or uvx. Use the full path to the program in the config file, then fully quit and reopen the app.

Where is the Claude Desktop config file?

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows: %APPDATA%\Claude\claude_desktop_config.json.

Where is the Cursor MCP config?

In ~/.cursor/mcp.json for all projects, or .cursor/mcp.json inside a project for that project only.

How do I know if the problem is my server or the app?

Test the server directly with npx qamcp-cli or on qamcp.dev. If the test passes, the server is fine and the app's settings are the problem.