Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Summary
On Windows, Cursor’s MCP feature never connects. Cursor forks the MCP host as an
Electron utility process (Cursor.exe --type=utility, entry point
vs/code/electron-utility/mcpProcess/mcpProcessMain). The child process starts
successfully and does not crash, but never completes its IPC handshake back
to the main process. After a 10s timeout Cursor retries 5x with backoff, then
gives up. This affects every MCP server, including the built-in
cursor-ide-browser, and an HTTP-type server (Glean) that spawns no shell.
Environment
- Cursor version: 3.7.27
- Commit:
e48ee6102a199492b0c9964699bf011886708ba3 - OS: Windows 10.0.26100 (x64), corporate-managed
- Install type: per-user (
%LOCALAPPDATA%\Programs\cursor)
Symptoms / log evidence
Renderer (MCP service log):
[MCPService] createClient: identifier="user-glean_default", serverName="glean_default"
[MCPService] Error creating client: Failed to acquire MessagePort for response channel 'vscode:createMcpProcessChannelConnectionResult'
Main process (logs/<session>/main.log), repeats every launch:
[McpProcess] ipcReady wait failed; entryPoint=vs/code/electron-utility/mcpProcess/mcpProcessMain
waitingFor=ipcReady lastPhase=<none> lastMessage=<none> lastPhaseElapsedMs=<none>
spawnPid=20572 startReturned=true crashEventReceived=false restartCount=0
coldStartTimeoutMs=10000 elapsedMs=10010
[McpProcess] timed out waiting for ipcReady after 10000ms
[McpProcess] whenReady rejected, dropping window connection
[McpProcess] initial main connect failed
Then retries at restartCount 1..4 (1s,2s,4s,8s,16s backoff), all identical.
Key fields: startReturned=true (fork succeeded), crashEventReceived=false
(no crash), lastPhase=<none> lastMessage=<none> (zero bytes ever traverse the
IPC pipe). The process is alive but silent for the full 10s, then is killed by
the timeout.
Independent confirmation via Sysmon (OS-level, vendor-neutral)
- The MCP utility process DID launch as a real OS process: Sysmon ProcessCreate
(ID 1) at the exactspawnPidand time from main.log
(e.g. pid 20572,sub=node.mojom.NodeService). - That MCP pid made zero network connections (Sysmon ID 3) — so it never
reaches networking; this is not a proxy/DNS/Zscaler stall on its own traffic. - Other Cursor utility processes of the SAME type (
node.mojom.NodeService),
spawned seconds apart by the same parent, initialize fine and network
normally. Only the MCP-host node process hangs at theipcReady/MessagePort
handshake. This suggests the issue is specific to the MCP process-channel /
MessagePort bootstrap path, not a blanket child-process block.
Already ruled out (extensive)
- Full machine reboot.
- Latest version (3.7.27); clean full reinstall (uninstall + fresh install,
verified new install dir/registry InstallDate) — identical failure. - Launched with
--no-sandbox. - Cleared all caches (Cache, Code Cache, GPUCache, Dawn caches).
- Reset MCP OAuth state (
globalStorage\mcp-oauth-attempts). - Removed & re-added the server; toggled off/on.
- No PowerShell profile and no cmd AutoRun (ruled out stdout-pollution of stdio
transport). Also irrelevant since failure also hits the built-in server and an
HTTP server. - No block/audit events in WDAC CodeIntegrity, AppLocker, or Windows
Application error/hang logs for Cursor.
Steps to Reproduce
Try to add any any HTTP-based MCP server on Windows.
Operating System
Windows 10/11
Version Information
- Cursor version: 3.7.27
- Commit:
e48ee6102a199492b0c9964699bf011886708ba3 - OS: Windows 10.0.26100 (x64), corporate-managed
- Install type: per-user (
%LOCALAPPDATA%\Programs\cursor)
Does this stop you from using Cursor
Yes - Cursor is unusable