Cursor-ide-browser catalog/disk ready but CallMcpTool returns "server not found" (3.13.21 cold-start)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

With Browser Automation set to Browser Tab, the agent context / MCP catalog can advertise cursor-ide-browser (and ~/.cursor/projects/<ws>/mcps/cursor-ide-browser/ can briefly show tool descriptors with toolCount=16), but CallMcpTool / GetMcpTools({server:"cursor-ide-browser"}) fail with:

Error: MCP server "cursor-ide-browser" not found. Available servers: cursor-app-control, plugin-…, user-…

Split-brain in the same session: pattern catalog can report serverStatus=ready while direct calls fail. Toggling Browser Automation Off→On does not restore tools to an existing agent chat (new chat sometimes works). Reproduced on first browser use in home/empty-window and again from a project workspace — not only after long automation.

Steps to Reproduce

  1. Open Agent chat (home/empty-window or project workspace) on Cursor 3.13.21
  2. Confirm Browser Automation = Browser Tab
  3. Ask agent to open https://example.com via built-in browser MCP
  4. Observe CallMcpTool fails with MCP server “cursor-ide-browser” not found while other MCP servers remain available
  5. Optionally: watch Mcp FileSystem Writer logs show join/leave lease with toolCount=16 then “left the lease”
  6. Toggle Browser Automation Off then On again — existing chat still has no cursor-ide-browser

Expected Behavior

If cursor-ide-browser is advertised to the agent (prompt + disk catalog), CallMcpTool should succeed. Catalog discovery and runtime registration must not disagree. Toggling Browser Automation should refresh the current agent session (or clearly require a new chat).

Operating System

MacOS

Version Information

IDE:
Version: 3.13.21
Commit: 55434bd8062ece6fee083b82beed2aee42d253f0
OS: Darwin arm64 25.5.0
Brave is system browser.

For AI issues: which model did you use?

Cursor Grok 4.5

For AI issues: add Request ID with privacy disabled

N/A — failure is MCP routing / Browser Automation wiring (“server not found” / wrong tab), not a model completion error.

Additional Information

Related:

Why a new report: closest threads cover mid-session ~5min lease drops (/t/159736), zero tools while connected (/t/158762), or older access issues (/t/150919). This is cold-start / catalog-vs-runtime on 3.13.21, including toggle not refreshing an existing chat.

Does this stop you from using Cursor?

Sometimes - I can sometimes use Cursor

Sibling reports from the same 3.13.21 investigation (please keep cross-linked):

Follow-up: sanitized logs + session IDs

Privacy Mode / data sharing is on. Attaching sanitized local logs that show the catalog/disk vs runtime gap for this report.

What the logs show (catalog side)

On empty-window workspaceId=b23abea01bc4771017b008369920af3f, MCP FileSystem Writer repeatedly:

  1. Writes cursor-ide-browser with toolCount=16 (catalog looks healthy)
  2. Then Server "cursor-ide-browser" left the lease, scheduling directory removal
  3. Re-adds with toolCount=16 again — churn throughout the morning (07:00–07:20 local)

While that catalog churn is happening, agent CallMcpTool still returns MCP server "cursor-ide-browser" not found in the agent runtime (this thread’s primary bug).

Extra signal in project writers (workspaceId=c63b395f…): ENOENT writing cursor-ide-browser~staging under a different project path (…/stocktextalerts-sfeo/…) — disk catalog write targeting the wrong workspace.

Session / identity (data sharing on)

  • machineId: 45f9fb3f-e7a9-4793-a235-3a7bb93e4e3f
  • Cursor: 3.13.21 (55434bd8062ece6fee083b82beed2aee42d253f0) Darwin arm64
  • Log session folder: ~/Library/Application Support/Cursor/logs/20260727T152911/
  • Home/empty-window workspaceId: b23abea01bc4771017b008369920af3f
  • Project workspaceId (writers): c63b395f862a583cf684909c2973e535
  • empty-window composerId: d174e224-0460-47e0-9ea0-763af6aa41df
  • jsolly-website composerId: 5acf3d63-e855-475f-80d3-765ec4494774
  • Sample requestIds (wb62 / this chat): ea519e6d-beca-48ec-a1cc-0f2014441f94, 39c62806-5a07-4e7b-a817-a2f6b664a5c8
  • Sample requestIds (wb58 / empty-window): 01ecc7d9-bae9-4492-839d-1da5719701eb, 5f3e45fc-f834-4f42-8e83-2e74cb80e63f, a85646b1-270f-459a-9cda-acc3b8fa91e0

Sanitized attachments

00-SESSION-IDS.txt
04-KEY-EXCERPTS.txt
01-empty-window-wb58-McpFileSystemWriter-b23abe.log
01b-empty-window-wb58-excerpts.txt
02-wb65-McpFileSystemWriter-ENOENT-wrong-path.log
02-wb64-McpFileSystemWriter.log
03-wb58-Browser-Automation.log
03-wb59-Browser-Automation.log
03-wb64-Browser-Automation.log
cursor-browser-bugs-logs-sanitized.zip

Related siblings filed same morning: 166854, 166855, 166856. Mid-session lease disconnect still matches closed 159736 (could not comment there).

Hey @jsolly,

This is a real bug on our side (not your setup), and it’s a known class we’ve been tracking. The short version: the cursor-ide-browser server can be advertised in the catalog and on disk while the live registration the agent actually calls into transiently drops it at submit time. The catalog/disk state and the live-runtime state can legitimately diverge for short windows, which is why CallMcpTool fails while everything on disk looks healthy.

Two things that should unblock you today:

  1. Reload the window (Command Palette → Developer: Reload Window). This has consistently restored the live registration on this class of report. As you noted, toggling Browser Automation Off→On isn’t reliable for an existing chat — a full reload is.
  2. If the tools come back but the browser view feels stale after sleep/wake or a long session, call browser_navigate with newTab: true as the very next action. That forces the underlying browser view to rehydrate rather than reusing a stale view ID.

I’ve reported your case (with logs and the cold-start pattern) to our team.

Two quick asks if you hit this again after a reload:

  • Does browser_navigate with newTab: true (as the very first browser call) succeed, or does it also fail with server-not-found?
  • If it fails, does the file ~/Library/Application Support/Cursor/logs/<session>/window*/Mcp FileSystem Writer.workspaceId-<id>.log show lease returned 0 tools across 0 clients at the moment of the failing CallMcpTool, or is the lease showing tools but CallMcpTool still fails?

Either answer helps localize whether the fix in review will resolve your specific flavor.

Any update here on the fix? I’m facing this consistently and it’s a pretty big blocker for me.

I’ve reloaded the window and still facing it unfortunately. It looks like the tool is present briefly but then leaves the lease. Here are my logs:

14:49:01.356lease returned 0 tools across 0 clients
(also wiped prior catalog, including cursor-ide-browser)

  1. 14:49:02.012 — recovers: cursor-ide-browser with toolCount=16 (23 tools / 2 clients)
  2. 14:49:03.744 — full set: 195 tools / 10 clients
  3. 14:49:57.882Server "cursor-ide-browser" left the lease, scheduling directory removal
    lease then 179 tools across 9 clients (browser gone, other MCPs still present)
  4. Later (14:55:04) browser sometimes reappears with toolCount=16, then drops again later

Cursor is also mentioning there is a lot of browser tool churn: 2309 cursor-ide-browser left the lease events in this log session folder.

Happy to provide more info if that will help, thanks!