The most common problem with Cursor's MCP not connecting is not the tool itself, but the mismatch in configuration and transmission. The official Cursor MCP documentation divides MCP into three types: 'stdio', 'SSE', and 'Streamable HTTP', which have different requirements for local, remote, authentication, and input formats. Official documentation: Cursor MCP.
Let's take a look at the most error-prone areas
If you're using a local MCP, the commands in the 'mcp.json' must be able to run in an environment that Cursor can access; If you are using a remote MCP, the URL, authentication header, and endpoint must be consistent. Many people "feel that it is already configured" and actually just set up the service, but Cursor did not get the correct transport or token.
What else did the official remind?
The Cursor note also mentions that MCP needs to output to 'stdout' via executable commands, or expose HTTP endpoints. In other words, the server-side writing, log output, and authentication cannot be messed up. One small detail is wrong, and Cursor probably won't treat it as a usable tool.
Troubleshooting order
- Make sure that 'mcp.json' is read by Cursor.
- Make sure you choose the correct transfer method.
- Check the authentication token, environment variables, and endpoint.
- If it is a remote service, first verify that it can pass with a minimum request at the terminal.
Many MCPs are not connected, essentially one step away from "the server is running" and "Cursor is really connecting". Fill in this step, and the problem is usually gone.