Cursor MCP Server Toggle Bug Report

Describe the Bug

Cursor’s MCP server management system fails to respect both UI toggle switches and configuration-based disabling, resulting in all configured MCP servers being loaded and consuming resources regardless of their disabled state.

Steps to Reproduce

1. Configure Multiple MCP Servers

  • Add 10+ MCP servers to .cursor/mcp.json in the mcpServers section
  • Add some servers to disabledServers section
  • Configure servers in Settings > Tools & Integrations

2. Attempt to Disable Servers

  • Toggle servers to “disabled” in Settings > Tools & Integrations UI
  • Add servers to disabledServers section in mcp.json
  • Restart Cursor

3. Observe the Problem

  • All MCP servers load regardless of toggle state
  • High disk utilization from multiple server processes
  • Performance degradation due to resource consumption
  • Toggle switches appear to work in UI but have no effect on actual server loading

Expected Behavior

When an MCP server is disabled (either via UI toggle or configuration):

  1. Cursor should NOT start that server process
  2. Cursor should NOT allocate resources to it
  3. Cursor should NOT perform disk I/O for that server
  4. The toggle should actually control server loading

Actual Behavior

  • All MCP servers in mcpServers section are loaded regardless of UI toggle state
  • disabledServers section is completely ignored
  • UI toggles are cosmetic only - they change UI state but don’t affect server loading
  • 13+ MCP server processes running simultaneously causing disk utilization issues

Screenshots / Screen Recordings

CURSOR_MCP_BUG_REPORT.txt (4.66 KB)

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.4.3 (user setup)
VSCode Version: 1.99.3
Commit: e50823e9ded15fddfd743c7122b4724130c25df0
Date: 2025-08-08T17:34:53.060Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Windows_NT x64 10.0.19045

Additional Information

Cursor MCP Server Toggle Bug Report

Bug Title

MCP Server Toggle Switches Ignored - All Servers Loaded Regardless of Disabled State

Severity

CRITICAL - Causes excessive disk utilization and performance degradation

Issue Description

Cursor’s MCP server management system fails to respect both UI toggle switches and configuration-based disabling, resulting in all configured MCP servers being loaded and consuming resources regardless of their disabled state.

Steps to Reproduce

1. Configure Multiple MCP Servers

  • Add 10+ MCP servers to .cursor/mcp.json in the mcpServers section
  • Add some servers to disabledServers section
  • Configure servers in Settings > Tools & Integrations

2. Attempt to Disable Servers

  • Toggle servers to “disabled” in Settings > Tools & Integrations UI
  • Add servers to disabledServers section in mcp.json
  • Restart Cursor

3. Observe the Problem

  • All MCP servers load regardless of toggle state
  • High disk utilization from multiple server processes
  • Performance degradation due to resource consumption
  • Toggle switches appear to work in UI but have no effect on actual server loading

Expected Behavior

When an MCP server is disabled (either via UI toggle or configuration):

  1. Cursor should NOT start that server process
  2. Cursor should NOT allocate resources to it
  3. Cursor should NOT perform disk I/O for that server
  4. The toggle should actually control server loading

Actual Behavior

  • All MCP servers in mcpServers section are loaded regardless of UI toggle state
  • disabledServers section is completely ignored
  • UI toggles are cosmetic only - they change UI state but don’t affect server loading
  • 13+ MCP server processes running simultaneously causing disk utilization issues

Impact

  • Performance: Significant disk I/O and memory usage from unnecessary server processes
  • User Experience: Toggle switches don’t work as advertised
  • Resource Waste: System resources consumed by disabled servers
  • Confusion: Users expect UI controls to work as designed

Technical Details

Configuration Example

{
  "mcpServers": {
    "server1": {
      /* config */
    },
    "server2": {
      /* config */
    },
    "server3": {
      /* config */
    }
  },
  "disabledServers": {
    "server2": {
      /* config */
    },
    "server3": {
      /* config */
    }
  }
}

Problem

  • All 3 servers load despite server2 and server3 being in disabledServers
  • UI toggles for server2 and server3 have no effect on actual loading

Environment

  • Application: Cursor IDE
  • Feature: MCP (Model Context Protocol) Server Management
  • Components Affected:
    • Settings > Tools & Integrations UI
    • MCP server loading system
    • Configuration file parsing

Suggested Fixes

1. Fix UI Toggle Functionality

  • Ensure UI toggles properly communicate with MCP server management
  • Implement proper server start/stop based on toggle state
  • Add visual feedback when toggles are actually applied

2. Implement disabledServers Support

  • Add proper parsing and respect for disabledServers section
  • Prevent loading of servers listed in disabledServers
  • Maintain configuration for easy re-enabling

3. Add Server Process Management

  • Implement proper process lifecycle management
  • Add ability to stop/start servers without restarting Cursor
  • Add resource monitoring for MCP servers

4. Improve Error Handling

  • Add validation for MCP server configurations
  • Provide clear error messages when servers fail to load
  • Add logging for server loading/unloading events

Testing Recommendations

  1. Test with various numbers of MCP servers (1, 5, 10, 15+)
  2. Test UI toggle functionality with server restart
  3. Test disabledServers section functionality
  4. Monitor system resources during server loading
  5. Test configuration file modifications

Priority

This should be treated as a high priority bug due to:

  • Impact on user experience
  • Resource consumption issues
  • Failure of advertised functionality
  • Potential for system performance degradation

Additional Notes

  • This appears to be a fundamental failure in the MCP server management architecture
  • The disconnect between UI state and actual server loading suggests deeper architectural issues
  • Users should not need to manually edit configuration files to disable servers that have UI controls

Reported by: User experiencing high disk utilization due to unnecessary MCP server loading
Date: Current
Status: Needs immediate attention from development team

Does this stop you from using Cursor

Yes - Cursor is unusable