Why does Cursor's MCP run locally but not remotely? Usually it's not that the cursor is broken, but that you chose the wrong transport. The official Cursor documentation divides MCP into three ways: 'stdio', 'SSE' and 'Streamable HTTP': 'stdio' is more suitable for local single users, and 'SSE' and 'Streamable HTTP' are more suitable for deploying as a service for multiple users. The official documentation is here: Cursor MCP.
Let's take a look at mcp.json first
The local MCP must first make sure that '.cursor/mcp.json' or '~/.cursor/mcp.json' can be read by the cursor and that the command can be started properly in its running environment. Remote MCPs check that URLs, authentication methods, and endpoints are exactly aligned. The root cause of many problems of "local use and remote disconnection" is that you treat local commands as remote services to connect.
Official recommended order of investigation
- First, check whether the transport type is paired.
- See if the 'mcp.json' is loaded correctly.
- Finally, check whether the environment variables and authentication headers are transmitted.
Cursor's MCP is not just "ready to use", but first aligns the three things of transport method, configuration file, and server capabilities.