Cursor-backend-control is declared but not registered at runtime

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Subject: Managed MCP server cursor-backend-control is declared but not registered at runtime (MCP server does not exist)
Severity: Blocking — cannot use Cursor Automations programmatically via MCP.
Summary: The managed MCP server cursor-backend-control appears in the agent’s static tool context (its tool descriptions are visible: list_automations, get_automation, create_automation, update_automation, build_automation_prefill_url), but it is not registered in the runtime of the agent session. Any call to it fails immediately with:

Error: MCP server does not exist: cursor-backend-control.
Available servers: cursor-app-control, cursor-ide-browser, project-0-TG_parser-tg-parser, user-Ref, user-tg-parser

Notably, the two other managed servers declared in the same context — cursor-app-control and cursor-ide-browser — work fine. cursor-backend-control is the only managed server missing from the runtime “Available servers” list.

Steps to Reproduce

  1. Open an agent chat in Cursor 3.6.21 (macOS) with the managed MCP servers active.

  2. Confirm cursor-backend-control is advertised in the agent’s tool context (tool descriptions for list_automations etc. are visible).

  3. Have the agent call any cursor-backend-control tool (e.g. list_automations with {}).

  4. Observe the immediate error MCP server does not exist: cursor-backend-control — the server is absent from the runtime “Available servers” list.

  5. For contrast, call cursor-app-control → open_automation with {}: it succeeds (Opened Glass Automations), proving other managed servers register normally.

Expected Behavior

Expected behavior:
cursor-backend-control tools (e.g. list_automations) should be callable, since the server is advertised in the tool context and the Automations feature itself is available.

Actual behavior:
The server is absent from the runtime registry; every call returns MCP server does not exist. This is not a permission/allowlist denial (the error is “does not exist”, not “denied”).

Operating System

MacOS

Version Information

Cursor version: 3.6.21

OS: macOS (darwin 25.2.0)

Privacy Mode: PRIVACY_MODE_NO_TRAINING (storage-eligible)

Additional Information

What we verified / ruled out (all local causes excluded):

~/.cursor/permissions.json — does not exist; no mcpAllowlist defined anywhere in ~/.cursor.

Cursor hooks — no hooks.json and no ~/.cursor/hooks/ (global or project); no beforeMCPExecution / failClosed anywhere.

Not a permission-deny — error string is MCP server does not exist, not a block/deny.

Restarting Cursor — already tried, did not help.

Privacy Mode — PRIVACY_MODE_NO_TRAINING (storage-eligible; not NO_STORAGE / UNSPECIFIED), and hasReconciledNewPrivacyModeWithServerOnUpgrade = true, grace period = 0. Per the server’s own docs, only UNSPECIFIED and NO_STORAGE block these tools — so privacy is not the cause.

Automations entitlement — the Glass Automations UI opens successfully via cursor-app-control → open_automation, so the Automations product itself is available to this account.

Cross-check that proves the runtime is otherwise healthy:
cursor-app-control → open_automation returns Opened Glass Automations successfully. So the managed-MCP invocation path works; only cursor-backend-control fails to instantiate.

Conclusion / hypothesis:
A registration defect for the cursor-backend-control managed MCP server specifically — its tool spec is shipped to the agent context, but the server is not actually instantiated/registered in the session runtime. This is independent of local configuration or account privacy settings.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey there!

cursor-backend-control is currently gated behind a feature flag and not rolled out to all users. Where are you seeing it in the UI?

Thanks — that explains the runtime side (feature-flagged, not rolled out).
I’m not seeing it in any user-facing UI. It does not appear in MCP settings, and it’s not in my ~/.cursor/mcp.json (that file only lists my own servers).

Where it does surface is the agent/MCP context layer that’s injected into the AI agent session:

  1. In the agent’s “Available MCP servers” contextcursor-backend-control is declared with its full serverUseInstructions, including descriptions of all its tools (list_automations, get_automation, create_automation, update_automation, build_automation_prefill_url).

  2. In the on-disk MCP descriptor mirror for this project: ~/.cursor/projects/<project>/mcps/cursor-backend-control/ — which contains SERVER_METADATA.json and INSTRUCTIONS.md describing the server.

So the discrepancy is: the server’s descriptor/instructions are shipped into the agent context even when the feature flag is off, but the server is not instantiated in the runtime. When the agent tries to call it, the runtime returns:

MCP server does not exist: cursor-backend-control.

Available servers: cursor-app-control, cursor-ide-browser, …

In other words: it’s “visible” only to the agent (as an advertised-but-unregistered server), not to me in the UI. The likely bug on your side is that the gating should also suppress the tool descriptors/instructions from the agent context, not just the runtime registration — otherwise the agent is told a server exists and then fails when calling it.

I’ll let the team know! Thanks for flagging this.

Hey @Alexander_Efimov!

The cursor-backend-control declared-but-not-registered issue you reported was fixed in a recent Cursor update! Updating to the latest version should resolve the confusing “MCP server does not exist” mismatch. Let me know if you still see it!