MCP Server Not Working? Common Errors and Fixes

Updated November 5, 2026

Short answer: Start with the error code. A 401 usually means you need to sign in. A 404 or 405 usually means the URL is wrong. A 406 means the client sent the wrong headers. A 500 is a problem on the server. For local servers, the usual causes are a missing runtime, invalid JSON or output printed to stdout.

We test every hosted server in our directory each day, so we see these failures constantly. Right now 13 of our 456 hosted servers aren't responding.

What does each error mean?

ErrorUsually meansWhat to do
401Sign-in required. This is normal for many servers.Complete the sign-in, or add the API key as a header. In Claude Code, run /mcp.
403You are signed in but not allowed.Check your plan, scopes and any IP allow list.
404Wrong path.Check the docs. Common paths are /mcp, /api/mcp and /sse.
405The URL exists but doesn't accept MCP requests. It is often a web page at that address.Find the real endpoint in the docs. We've seen a human-readable page at /mcp with the real server elsewhere.
406The client didn't send the headers the server wants.Send Accept: application/json, text/event-stream. Most apps do this for you, so it mainly affects custom clients.
429Rate limited.Wait and retry, or check your plan's limits.
500The server crashed or has a bug.Try again later. Some servers return 500 instead of 401 when you aren't signed in, so try signing in too.
TimeoutThe server is slow or asleep.Retry. Free hosting often sleeps until the first request arrives.

The server connects but no tools appear

A local server won't start

How can I test a server myself?

Send a real initialize request. A healthy server returns JSON or an event stream, and a server that needs sign-in returns 401 with a WWW-Authenticate header.

curl -i -X POST https://example.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'

Our security and testing picks also include servers that check other servers for you.

Frequently asked questions

Why does my MCP server say 401 Unauthorized?

It usually just means you need to sign in or provide an API key. A 401 with a WWW-Authenticate header is how a server asks a client to start signing in.

Why does my MCP server return 405 Method Not Allowed?

MCP clients send POST requests. A 405 usually means the URL isn't the MCP endpoint, often because it is a normal web page.

Why are my MCP tools not showing up?

The most common reasons are an unfinished sign-in, an app that needs a restart, or a connector that is not enabled for the conversation.

More guides