Every AI coding editor now supports MCP (Model Context Protocol). But they all have different config file locations, different field names, and different gotchas. Here's the cheat sheet for connecting a remote MCP server to all three major editors.
Cursor
Config location: ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project)
Remote server (Streamable HTTP):
{
"mcpServers": {
"nucleus": {
"url": "https://relay.nucleusos.dev/mcp-readonly",
"type": "streamableHttp"
}
}
}
Local server (stdio):
{
"mcpServers": {
"nucleus": {
"command": "python3",
"args": ["-m", "mcp_server_nucleus"],
"env": {
"NUCLEAR_BRAIN_PATH": "/path/to/.brain"
}
}
}
}
Gotcha: You must completely quit and restart Cursor after editing the config. MCP servers only load at startup.
UI path: Settings → Tools & MCP → Add new MCP server
Windsurf
Config location: ~/.codeium/windsurf/mcp_config.json (global only — no per-project)
Remote server (Streamable HTTP):
{
"mcpServers": {
"nucleus": {
"serverUrl": "https://relay.nucleusos.dev/mcp-readonly"
}
}
}
Local server (stdio):
{
"mcpServers": {
"nucleus": {
"command": "python3",
"args": ["-m", "mcp_server_nucleus"],
"env": {
"NUCLEAR_BRAIN_PATH": "/path/to/.brain"
}
}
}
}
Gotcha #1: Windsurf uses serverUrl instead of url. If you copy a Cursor config, it silently fails — no error, no connection.
Gotcha #2: The path is .codeium/windsurf/, not .windsurf/.
Gotcha #3: Windsurf supports variable interpolation: ${env:VAR_NAME} and ${file:/path} in config fields.
UI path: Plugins icon → Manage plugins → View raw config
Google Gemini / Antigravity
Config location: ~/.gemini/config/mcp_config.json
Remote server (Streamable HTTP):
{
"mcpServers": {
"nucleus": {
"serverUrl": "https://relay.nucleusos.dev/mcp-readonly"
}
}
}
Local server (stdio):
{
"mcpServers": {
"nucleus": {
"command": "python3",
"args": ["-m", "mcp_server_nucleus"],
"env": {
"NUCLEAR_BRAIN_PATH": "/path/to/.brain"
}
}
}
}
Gotcha: Gemini Enterprise only accepts Streamable HTTP (not deprecated SSE). The Antigravity MCP Store is a closed curated list — no public submission. Users configure custom servers via the raw config file.
UI path: Antigravity → ... menu → MCP Store → Manage MCP Servers → View raw config
Comparison table
| Editor | Config path | Remote field | Per-project? |
|---|---|---|---|
| Cursor | ~/.cursor/mcp.json |
url |
Yes (.cursor/mcp.json) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
serverUrl |
No (global only) |
| Antigravity | ~/.gemini/config/mcp_config.json |
serverUrl |
No (global only) |
The one that catches everyone
If your MCP server works in Cursor but not in Windsurf, check the field name. Cursor uses url, Windsurf uses serverUrl. Same JSON structure, different key. Silent failure, no error message.
If it works in Windsurf but not in Antigravity, check the transport. Antigravity rejects deprecated SSE — it only accepts Streamable HTTP.
Full guides
Building Nucleus — persistent memory for AI coding agents. Open source on GitHub. Install: pip install nucleus-mcp && nucleus-init --scan.
Top comments (0)