Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Opening Cursor appears to eagerly start configured MCP servers even when I am not actively using those tools. Several configured MCP servers use npx / at-latest package references, which creates transient Node/npm execution paths under ~/.npm/_npx/… On macOS this triggers repeated Gatekeeper / code-signing / certificate trust evaluation, and the visible CPU spike shows up mostly under syspolicyd, trustd, securityd, WindowServer, and kernel_task rather than under Cursor alone. The machine can become unusable for several minutes after launching Cursor.
Steps to Reproduce
- Configure several MCP servers in ~/.cursor/mcp.json, including npx-based entries such as Playwright MCP, context7, chrome-devtools-mcp, xcodebuildmcp, vscode-mcp-server, and desktop-commander.
- Quit Cursor.
- Open Cursor.
- Without invoking any MCP tool, observe process startup and macOS CPU usage.
- In Activity Monitor / top, observe Cursor Helper: mcp-process plus many npm exec / node ~/.npm/_npx/… MCP processes.
- During the launch spike, observe syspolicyd/trustd/securityd CPU activity and repeated trust/certificate evaluation in system logs.
Expected Behavior
Cursor should not eagerly start every configured MCP server on app launch. MCP servers should be lazy-started only when a tool from that server is invoked, or Cursor should provide a per-MCP auto-start vs manual/lazy toggle. Cursor should also warn when an MCP command uses npx, at-latest package references, remote package references, or unstable transient execution paths that can trigger repeated macOS trust evaluation.
Operating System
MacOS
Version Information
Cursor IDE Version: 3.7.12
Operating System: macOS 26.5 (25F71)
Hardware: Apple M3, 8 cores
MCP configured in ~/.cursor/mcp.json
For AI issues: which model did you use?
N/A
For AI issues: add Request ID with privacy disabled
N/A
Additional Information
Observed examples of auto-started processes:
- Cursor Helper: mcp-process
- npm exec playwright MCP latest package
- npm exec context7 MCP latest package
- npm exec vscode-mcp-server
- npm exec chrome-devtools-mcp version 0.26.0
- npm exec xcodebuildmcp latest package mcp
- npm exec desktop-commander
- node ~/.npm/_npx/…/node_modules/.bin/playwright-mcp
- node ~/.npm/_npx/…/node_modules/.bin/context7-mcp
- node ~/.npm/_npx/…/node_modules/.bin/xcodebuildmcp
During one spike:
- Load Avg: 127.63 / 69.88 / 50.93
- CPU usage: 65.07% user, 34.92% sys, 0.0% idle
- syspolicyd: 96.5%
- trustd: 35.1%
- WindowServer: 31.8%
- kernel_task: 38.2%
System logs showed repeated SecTrustEvaluateIfNecessary, SecKeyVerifySignature, syspolicyd CFNetwork status 200 requests, and trustd OCSP/certificate validation activity.
Workaround: manually remove unused MCP entries from ~/.cursor/mcp.json, especially npx / latest-package based servers. This helps, but it is not discoverable and requires editing JSON directly. Please do not ask users to paste raw mcp.json because it commonly contains API tokens.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor