How to add an MCP server to Cursor
Cursor reads its MCP servers from ~/.cursor/mcp.json and connects to them over stdio (a local process), Streamable HTTP and HTTP+SSE.
123,088 of the 123,088 servers we can write a config for work in it.
A local server
A local server runs on your machine, started by Cursor from its package. It needs Node.js installed first. For example, Azure MCP Server goes in ~/.cursor/mcp.json:
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "@azure/[email protected]", "server", "start"]
}
}
} A remote server
A remote server runs on its publisher's machines, and Cursor connects to its address. Nothing needs installing. For example, Context7 goes in ~/.cursor/mcp.json:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp"
}
}
} Which servers work in Cursor
Cursor can send a key in a header, so the 3,253 servers that need one work in it.
| Runs | Servers | In Cursor? |
|---|---|---|
| Local (stdio) | 85,196 | Works |
| Remote, Streamable HTTP | 30,928 | Works |
| Remote, Streamable HTTP, key in a header | 3,206 | Works |
| Remote, HTTP+SSE | 3,711 | Works |
| Remote, HTTP+SSE, key in a header | 47 | Works |
If the server does not show up
- A remote server that does not connect
- The environment variables servers ask for
- Cursor's own MCP documentation
Matches the official docs The configs follow Cursor's MCP docs, read on 2026-10-31.