Removal of Custom Modes prevents unloading MCP tools (Context Bloat)

Feature request for product/service

Cursor IDE

Describe the request

Description: With the deprecation of Custom Modes in favor of Slash Commands/Rules, we have lost the ability to physically unload MCP tools from the context window per chat.

The Problem: Slash commands (/backend) only provide prompt instructions to ignore a tool. They do not remove the tool’s schema from the system prompt.

  • Token Cost: I have heavy MCP servers (Postgres, Figma) that consume significant context just by being enabled.

  • Hallucinations: The Agent still “sees” the tools and sometimes tries to call them despite instructions.

  • Friction: The only workaround currently is to manually toggle MCP servers On/Off in global settings every time I switch tasks.

The Request: Please allow Slash Commands or .cursorrules to programmatically enable/disable specific MCP servers.

  • Example: A config in .cursor/commands/backend.md like mcp_enabled: [‘postgres’] that ensures ONLY Postgres tools are loaded into the context window for that chat.
1 Like

In general, I think there are a lot of opportunities to expand the project .cursor configuration capabilities. I think the big challenge is going to be balancing the natural language approach used there with the definitive lock down capabilities we want/don’t want. If we cant do that with a rule .mdc or a command .md, MAYBE we could add a .cursor/commands/backend.cfg as json/xml with block/allow logic.. easily expandable, but explicit enough to contain token bloat and mitigate workflow friction? If the matching rule or command is used/called, the associated .cfg is honored by the IDE (not the LLM) and tool access is constrained while tokens are preserved.