← Back to Blog

2026-09-22 • Updated 2026-09-26 • 6 min read • Fix

How to Fix an MCP Server That Isn't Connecting

Fix an MCP server that won't connect: use the /api/mcp/ URL, add the token for a private server, prove it with curl, then restart the client.

An MCP server that will not connect almost always has the wrong URL saved in the client, a missing or wrong token on a private server, or a client that was not restarted after the change. The fix is to copy the URL containing /api/mcp/ from your server's setup page, prove it answers with a curl call, then paste that exact URL into the client and restart it.

When you finish, you will know whether the problem was the server or the client, and you will have a curl command you can rerun any time a connection looks wrong.

What a working connection looks like

The client calls the hosted endpoint and receives a tool list. For a server built in Context MCP Studio, that endpoint looks like this:

https://appatools.com/mcp-studio/api/mcp/your-server-name

The wizard page and the dashboard are not MCP addresses. They are pages for you, and they will not accept an MCP call. If one of those is the URL saved in Claude or Cursor, the server was never the problem. Copy the real URL from the server's setup page, and check that the dashboard shows the server as active.

Throughout this post, the example is a support runbook server called support-runbook, marked private because it holds internal escalation steps.

Why curl comes before the client

Curl calls the server directly from a terminal, so it removes the client from the picture. What it returns tells you which half to fix.

A tool list means the server is up. The remaining work is the client: the URL it has saved, the header it sends, and a restart.

A 401 means the token. It is missing, revoked, or issued for a different server. Tokens belong to one server each, so a message reading "That access token is not valid for this MCP server" means a real token was pasted from the wrong server's Access panel.

An empty answer after a tool list is not a connection failure. The server is connected and indexing may still be running. That is covered in Fix an MCP server returning the wrong information.

How to check the server in MCP Studio

MCP Studio is the no-code builder on Appa Tools. Open the server you already deployed. You do not need to rebuild it to test the connection.

  1. Copy the URL from the setup page. It contains /api/mcp/ and the server name, for example support-runbook.
  2. Confirm the server is active on the dashboard.
  3. For a private server, copy a current token from the Access panel. It starts with mcps_live_. A token is shown once, so if you lost it, revoke it and create a new one. The header format is in the private servers guide.
  4. Run curl with the command that matches your server.
  5. Restart the client. Cursor, Claude Desktop, Windsurf, and Codex read MCP config when a session starts, so a saved change does nothing until you restart or open a new session. Codex setup is in How to connect an MCP server to Codex.

For a public server:

curl -X POST https://appatools.com/mcp-studio/api/mcp/your-server \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

For a private server:

curl -X POST https://appatools.com/mcp-studio/api/mcp/your-server \
  -H "Authorization: Bearer mcps_live_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Use the hosted URL, not a local one. Claude on the web calls a URL on the internet, so a server that exists only on your laptop cannot connect that way. MCP Studio hosts the server for you. If you do not have one yet, create it in the wizard.

Check that it works

A tool list in the curl response means the server is answering. Paste that exact URL into the client, add the token header if the server is private, and restart. The client should now show the same tools curl listed.

If curl works and the client does not, the client is not sending the header, has a different URL saved, or was not restarted. Each client has its own walkthrough: not showing up in Claude and not showing up in Cursor.

If it connected yesterday and not today, check whether the token was revoked, or whether the server was switched to private after the client was set up with only a URL. A private server needs the token in every client that calls it.

What to do if it still won't connect

Change one thing at a time. Replace the URL, or replace the token, then run curl again. Leave the client alone until curl lists tools, because editing both at once hides which change mattered.

Once the connection is up and the answers are the next question, follow the longer order in Debug an MCP server.

Frequently asked questions

Why is my MCP server not connecting?

The most common causes are the wrong URL saved in the client, a missing or wrong token on a private server, and a client that was not restarted. The URL must be the MCP endpoint containing /api/mcp/, not the wizard or dashboard page. Prove the URL with a curl call first, then fix the client.

What does a 401 error from my MCP server mean?

A 401 means the server is reachable but refused the token. The token is missing, was revoked, or belongs to a different server, since each token works for one server only. Create a new token in that server's Access panel and replace the header.

Do I need to restart Cursor or Claude Desktop after adding an MCP server?

Yes. Cursor, Claude Desktop, Windsurf, and Codex read MCP config when a session starts, so a change you save has no effect until you restart the client or open a new session. This is one of the most common reasons a correct config appears not to work.

Can I connect an MCP server that runs only on my laptop?

Claude on the web calls servers over the internet, so it cannot reach a server that exists only on your machine. A hosted server has a public URL any client can reach. MCP Studio hosts every server it builds, so the URL from the setup page works from any client.

How do I test an MCP server without an AI client?

Send a tools/list request with curl to the server's URL. If it returns a list of tools, the server is up and any remaining problem is in the client. A private server needs its access token sent as a bearer header in the same request.

Fix the connection with MCP Studio

Open your server in MCP Studio, copy the URL from the setup page, and run the matching curl command above. When it lists tools, paste that same URL into your client and restart. You do not write any code, and the tool list in your client confirms the fix.

Where to go next