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

hi @LimitlessTrader thank you for your bug report.

We do not have a disabledServers config section from what I see.

  • When I manually disable all MCP servers and restart Cursor they are not shown in logs as running.
  • You can see that in bottom pane > Output > MCP Logs

If the issue repeats for you could you check if it also occurs on 1.4.6 (Early Access).

Hi Condor,

Thank you for your feedack. Here are some additional points of note:

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.