When you add an MCP server to Cursor and nothing happens, it can be confusing because the problem may not be obvious at first. The server might show as disconnected, stay stuck while loading, fail to start, or connect but still not show any tools inside Agent.

Most of the time, the issue comes from the MCP config, the command Cursor is trying to run, authentication, or the server itself. This article is for you if you added an MCP server to Cursor but it will not connect, its tools are missing, or it keeps failing when Agent tries to use it.

What Causes Cursor MCP to Stop Working?

What Causes Cursor MCP to Stop Working?

Cursor MCP problems can come from a few different places, and that is why one random fix does not work for everyone. Sometimes the config file is wrong. Other times the MCP server starts fine in a terminal but Cursor cannot find the same runtime or environment variables.

Some common causes are:

  • Invalid JSON in mcp.json
  • Wrong command or arguments
  • Missing Node.js, npx, Python, or another runtime
  • Missing API key or environment variable
  • OAuth login that was never completed
  • Wrong MCP server URL
  • Using the wrong transport type
  • MCP server crashing after launch
  • The server being disabled in Cursor
  • Old or broken MCP package
  • Project config being loaded from the wrong workspace

The good thing is that Cursor gives you logs, and those usually tell you where to start.

How to Fix Cursor MCP Not Working

If your MCP server is not working in Cursor, follow these fixes one by one. Start with the logs because they usually tell you whether the problem is Cursor, the server, or your configuration.

1. Check Cursor MCP Logs First

This should be the first thing you do.

Open Cursor and press:

Ctrl + Shift + U

That opens the Output panel on Windows and Linux. Then use the dropdown and select MCP Logs.

Now restart or reconnect the MCP server and watch what appears.

Look for messages like:

  • command not found
  • authentication failed
  • connection refused
  • timeout
  • server exited
  • invalid configuration
  • missing environment variable

This is usually much better than guessing. If the log says the command cannot be found, you know the problem is probably runtime or PATH. If it says authentication failed, then changing Node.js will not help.

Honestly, the logs save a lot of time here.

2. Make Sure the MCP Server Is Enabled

Sometimes the server is configured correctly but simply turned off inside Cursor.

Open Customize > MCPs and find the server you added. Make sure it is enabled.

Also check whether its tools are available in Agent. A server can exist in your config but still not be active in the current session.

If the server is disabled, Cursor will not load it and the tools will not appear in chat.

This sounds obvious, but it happens more often than you would think, especially after changing workspaces or testing multiple MCP servers.

3. Check Your mcp.json for Errors

A small mistake in mcp.json can stop the whole server from loading.

For example:

{
“mcpServers”: {
“my-server”: {
“command”: “npx”,
“args”: [“-y”, “my-mcp-package”]
}
}
}

Check the file carefully for:

  • missing commas
  • wrong quotes
  • extra brackets
  • wrong server name
  • bad command
  • wrong arguments
  • incorrect URL
  • misspelled environment variables

JSON is strict. One missing comma can break the config.

Also make sure you are editing the correct mcp.json. Cursor can use project-level and global MCP configuration, so changing one file and testing another workspace can make it look like your changes did nothing.

4. Test the MCP Command Outside Cursor

If you are using a local stdio MCP server, Cursor has to launch the command itself.

So if the command does not work in your terminal, it will not work inside Cursor either.

Check your runtime first:

node –version
npx –version
python –version

If one of those commands fails, fix that before touching Cursor.

Then try running the MCP command manually if you know it. For example, if your config uses:

  • npx -y my-mcp-package

run that directly in Command Prompt, PowerShell, or your normal shell.

If it crashes there too, the problem is probably the MCP server or runtime, not Cursor.

There is another small thing here. A command may work in one specially configured terminal but still fail when Cursor launches it. That can happen if Cursor does not get the same PATH or environment variables.

5. Check API Keys and Environment Variables

A lot of MCP servers need an API key, token, or another environment variable.

You may have a config like:

{
“env”: {
“API_KEY”: “${env:API_KEY}”
}
}

That only works if API_KEY actually exists in the environment Cursor can see.

This is where people often get stuck. The variable may exist in one terminal session but not in the environment Cursor was launched from.

Check the variable, restart Cursor, and try again.

Also make sure the token is still valid and belongs to the right service.

Do not paste real API keys directly into screenshots, public repos, or support messages. If a secret was exposed, rotate it.

6. Reauthenticate OAuth-Based MCP Servers

Some remote MCP servers do not use a normal API key. They use OAuth.

If the login was cancelled, expired, or connected to the wrong account, the MCP server may appear in Cursor but fail when it actually tries to use a tool.

Reconnect the server and complete the browser login again.

If you are using Cursor CLI, you may also need to authenticate the MCP server there with the related login command.

The important part is this: if the server logs show an auth error, do not keep changing the URL or runtime first. Fix the login session.

7. Check the MCP Transport and Server URL

Cursor supports different MCP transport types, and they do not all fail in the same way.

Transport Typical Setup
stdio Local process launched by Cursor
SSE Local or remote server URL
Streamable HTTP Local or remote HTTP MCP endpoint

For stdio, the common issue is the command, runtime, PATH, or environment variables.

For SSE or Streamable HTTP, the common issue is usually the URL, authentication, server availability, or endpoint format.

One common mistake is using the service homepage instead of the actual MCP endpoint.

  • For example, a provider might have a normal site like: https://example.com

but the MCP endpoint could be something more like: https://example.com/mcp

If the provider changed from SSE to Streamable HTTP, an old endpoint may also stop working.

Check the MCP provider’s current setup instructions instead of assuming an old URL still works.

8. Update or Reinstall the MCP Server Package

If you are using an npm-based MCP server, the package itself may be outdated or broken.

First, remove and re-add the MCP server. If you suspect npm cache problems, you can also try:

npm cache clean –force

Then restart Cursor and let the package install again.

This can help if an old package version is stuck locally.

But do not make this your first fix. Package updates can also introduce new problems, so it is better to read the MCP logs before changing versions.

If the server stopped working right after an update, you may actually need to check the package changelog or temporarily use the previous working version.

9. Restart Cursor and Test in a Clean Workspace

Cursor can sometimes keep stale state after configuration changes.

Save your mcp.json, fully close Cursor, then open it again.

After reopening:

  • open the correct project
  • check Customize > MCPs
  • make sure the server appears
  • confirm it is enabled
  • test the tool again

If the server works in one workspace but not another, the problem may be project-specific.

That usually means the MCP config is stored at project level, the workspace is using a different config, or one project is missing an environment variable.

Testing in a clean workspace is a good way to separate a Cursor-wide issue from a single-project problem.

How to Prevent Cursor MCP Problems

Once you get MCP working, it is worth keeping the setup simple. A lot of future problems happen after several config edits, package updates, or environment changes.

  • Keep a backup of a working mcp.json
  • Store secrets in environment variables
  • Do not hardcode API keys into public files
  • Update Node.js or Python carefully
  • Update MCP packages one at a time
  • Check MCP Logs before changing several things
  • Note whether your server is project-level or global
  • Restart Cursor after major config changes

The cleaner your config is, the easier it is to find the problem when something breaks later.

Final Thoughts

If Cursor MCP is not working, start with MCP Logs, then check whether the server is enabled and whether your mcp.json is valid. After that, test the command or URL, verify authentication, and only then start changing packages or reinstalling things.

Most MCP problems become much easier once you know the exact error. If your Cursor MCP still is not working, share the message shown in MCP Logs and whether your server uses npx, Python, SSE, or HTTP.