New Customize area broken for workspace-level MCPs

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I have lots of working MCP servers defined in my project’s mcp.json file but when I go to Cursor Settings → Customize → select repo within project → MCPs, the list is empty, no servers shown. I can’t see their status, can’t enable/disable them, and I can’t configure which tools are enabled/disabled. When I click on the “+New” button, it opens my mcp.json file and all my servers are there. And they work.

Steps to Reproduce

Make a multi-root workspace and add an mcp.json file.

Expected Behavior

All my custom MCP servers show up in the workspace level area and I can see their status and enable/disable them and their tools.

Screenshots / Screen Recordings

Operating System

Linux

Version Information

Version: 3.14.27
VS Code Extension API: 1.128.0
Commit: 047548b00c1a079373d74d00183f32510a4a41e0
Date: 2026-08-04T03:29:11.183Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Linux x64 6.8.0-71-generic

Does this stop you from using Cursor

No - Cursor works, but with this issue

Also can’t see my workspace mcp.

this tabbed view is much worse.

Seems like some design philosophy keeps pushing the ui to be compartmentalized in a way that’s much much worse than before. Please stop it.

Same issue. Driving me nuts. Yesterday I was able to just go into settings and enable/disable my project level mcps. Now that’s apparently gone and there’s a “Customize” section. Except it’s for team, users, etc. My MCP’s are setup on a project by project basis, not on a user or team basis. They are often specific to projects (like test devices).

Anyone have any idea why they are doing this? What was broken that they are trying to fix and is there an official way to get them to look at it?

I need my MCP’s running :frowning:

Edit: After typing this I went back in clicked on my username and I had workspace ones there. Seems to be working again.

Hey there!
Nothing’s wrong with your config, and those servers are still loaded and working. What you’re hitting is a scoping issue in the new Customize area specific to multi-root workspaces (a .code-workspace with more than one folder). It’s not intended behavior, and it’s an issue we’re tracking.

In the meantime, open the repo on its own (File → Open Folder → the repo root). In a single-folder window, Customize → MCPs lists that repo’s servers with status and enable/disable toggles. You can also keep editing them directly in .cursor/mcp.json (what “+ New” opens).

I’ll post back here when there’s an update.

Five days and this issue is still open. I have so many problems with the multi-root workspace in Cursor that I think the company is trying to push me towards competing solutions.

@mohitjain still reproducing on 3.16.13 Nightly (Aug 13 build), macOS arm64.

My setup: multi-root workspace with 4 folders. 2 user servers in ~/.cursor/mcp.json, 10 project servers across three of the folders (1 + 5 + 4). Customize > MCPs shows “Connected 2” with only the user servers, under every scope in the dropdown. The project servers are connected and the agent calls their tools fine, so it’s only the UI.

One detail I haven’t seen in this thread yet: the scope dropdown itself is incomplete. It offers only 2 of my 4 folders. The folder with the most config (4 MCP servers plus rules and skills) never appears as an option at all, so even the “select the owning folder” path is dead for it. It’s not just server rows being filtered out, folders are missing from the scope picker too.

Version: 3.16.13
VS Code Extension API: 1.128.0
Commit: ea1aa2c63ff7f41a377f250d1c8fd7dd2230e280
Date: 2026-08-13T01:59:26.203Z
Layout: IDE
Build Type: Stable
Release Track: Nightly
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Darwin arm64 25.6.0

same issue

This is quite a bad regression, imho. MCP servers are core to the whole Cursor experience. Not testing how this new setup works in multi-root workspaces is not a great look.

Nothing’s wrong with your config, and those servers are still loaded and working

This is false. My agent reports that it sees no MCP servers. This is in version 3.15.19.

…

Just tested with Nightly (3.16.13). At least that version uses the project MCP servers again, even though the UI still doesn’t show them.

This is much much worse: it literally blocks all MCP usage in Cursor.

All our MCPs require authentication - this is obvious, since MCPs are handling critical data.

The new system makes it literally impsosible to authenticate any MCP server - you removed the UI that would show a button ‘authenticate’. There is no workaround as far as I can see.

Cursor repeatedly tries to connect to a local SSE MCP while the extension is still indexing (~240s), then marks the server as failed (“tool discovery” error) and stops retrying. After that, the MCP backend is healthy and indexing completes, but Agent never gets the tools back. In past versions I could see MCPs status and could make reload on errored, but can’t do in new version.

Environment
OS: Windows 10
Cursor: Version: 3.16.17
Workspace: large monorepo
Server: ECIP Local extension (naman09khater.ecip-local)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

In a multi-root .code-workspace, Open Customize → MCPs only lists User servers. Project servers from a folder’s .cursor/mcp.json do not appear, so there is no enable/disable toggle and no OAuth / Authenticate control for them.

The old Settings → Tools & MCP sidebar item is gone. The only path is Cmd+Shift+P → Open Customize → MCPs.

Some project servers still connect in Agent. Remote OAuth project servers often do not load at all (missing from the agent catalog), so they cannot be turned on or authenticated from the multi-root workspace.

Related: 167625, 167648, 167808. This report is macOS, Cursor 3.16.29.

Steps to Reproduce

Create a folder with .cursor/mcp.json that defines project MCP servers (local stdio and at least one remote URL / OAuth server).
Create a multi-root .code-workspace that includes that folder plus at least one other folder.
Open the .code-workspace in Cursor.
Cmd+Shift+P, run Open Customize, then open the MCPs tab.
Only User servers are listed. Project servers from .cursor/mcp.json are missing. There is no enable toggle or Authenticate control for them.
In Agent, list connected MCP servers. Remote OAuth project servers are often missing from the catalog.
File > Open Folder on the folder that owns .cursor/mcp.json (single-folder window). Open Customize > MCPs again. The project servers appear and can be toggled or authenticated.

Expected Behavior

Opening a multi-root .code-workspace should load project MCP servers from each folder’s .cursor/mcp.json, the same as File > Open Folder on that repo.

Open Customize > MCPs should list those project servers with enable/disable and Authenticate / OAuth.

Remote OAuth project servers should appear in the agent MCP catalog after they are enabled, without needing to leave the multi-root workspace.

Operating System

MacOS

Version Information

Cursor IDE: 3.16.29 (stable) Commit: 6246455961129c32969845e00aa25d87ae926ec0 Layout: IDE Build type: Stable OS: macOS 26.5.2 (darwin 25.5.0), arm64

Does this stop you from using Cursor

No - Cursor works, but with this issue

Same here on 3.16.29 (macOS, stable). Adding data rather than another +1, because in my setup this isn’t cosmetic — the servers genuinely don’t connect.

Setup: one .code-workspace with ~30 folders. Five of them ship a .cursor/mcp.json defining a remote MCP server. Same URL for all five, but each sends a different Authorization header, because each repo maps to a different project in the upstream service.

What actually loads:

Workspace folder (index) Visible in Customize Agent can call tools
0 yes yes
15 yes yes
24 no no
25 no no
27 no no

All five files are the same shape, valid JSON, unique server names, no ${env:} interpolation in the three broken ones. So it isn’t “first root only” — root 15 works fine while 24, 25 and 27 don’t. I can’t see a pattern that explains which ones survive.

The scope dropdown in Customize → MCPs also lists fewer entries than I have folders, so I can’t even select the broken folders to inspect them. And because the row never renders, there’s no toggle and no Authenticate button to click — the usual “disable and re-enable it” advice has nothing to act on.

Why this breaks my workflow specifically

The per-folder scoping is the feature. Each repo’s key grants write access to that repo’s project only. That’s deliberate: an agent working in one product repo must not be able to write into another product’s project. Repo-level rules and skills reference each server by name and say “never use the global one for this repo.”

So the two suggested workarounds both fail for me:

  • Move them to ~/.cursor/mcp.json. This hands every repo write access to all five projects at once and puts five near-identical tool sets in front of the agent, which then picks the wrong one. It converts a safety boundary into a coin flip. Not something I’m willing to ship to my team.
  • Open each folder in its own window. This is the actual workaround I’m using, and it means abandoning the multi-root workspace for exactly the tasks where I need it. Cross-repo work now needs two windows and a manual context switch.

The net effect is that three of my five repos have silently lost their MCP tooling, and the failure mode is the bad kind: nothing errors, the tools are simply absent, so an agent following the repo’s own rules just reports the server isn’t configured.

What would help most, roughly in order:

  1. Make project servers connect in multi-root workspaces again, even if the Customize UI stays broken a bit longer. Working tools with no UI beats a UI with no tools.
  2. Surface a load error somewhere reachable. If a folder’s mcp.json is skipped, MCP Logs should say which folder and why, instead of the entry vanishing.
  3. Populate the scope dropdown from the workspace folder list, so a folder with a config can never be unselectable.

Many thanks in advance for fixing this issue.

This issue should be fixed in v3.17!

I am using 3.19.13 (Universal) and still have this exact issue. Is there any plan to fix it, which is essential for me and my team?

@leandromsales It sounds like you might be encountering a different issue, can you please raise a new thread with more details?

@Colin no sir! It is exactly the same, as in the original post picture:

Hey @leandromsales, thanks for following up.

That screenshot is the one from the original post, so I’d like to check what’s happening on your side. In a multi-folder workspace, Customize currently starts with only User and Team selected, so project MCP servers stay hidden until you pick a folder. That choice also resets each time you reopen Customize.

Could you try this?

  1. Open your workspace in Cursor the way you normally do.
  2. Open the Command Palette (Cmd+Shift+P), run “Open Customize”, and click the MCPs tab.
  3. Click the scope dropdown at the top left (it shows your name).
  4. If the folder with your .cursor/mcp.json isn’t listed, click “N more” to expand the list.
  5. Tick that folder.

Do your project servers appear after step 5? If not, please reply with:

  • A screenshot of your own Customize > MCPs page with the dropdown open
  • The full path to your mcp.json (is it directly inside a workspace folder, or in a subfolder like packages/app/.cursor/mcp.json?)
  • Whether you’re in the editor window or the Agents window

@Colin, yes I used the original screenshot because it is the same case. And yes, after step 5 I could see the MCP entries from my project scope (.cursor/mcp.json in the same folder as the workspace definition file.

Why doesn’t Cursor simply save my choices of step 5 in the project profile?

Thanks for checking, @leandromsales, that’s helpful.

That confirms it. What this thread was originally about was that project servers never showed up even with the folder selected, and that’s fixed in the version you’re on. What you’re seeing now looks the same, but it’s a separate behavior: in a multi-folder workspace, Customize starts with only User and Team selected, and it doesn’t remember your folder choice when you close and reopen it.

I agree it should either include your workspace folders by default or remember your selection, and I’ve passed your report on to the team.

In the meantime, ticking the folder in the scope dropdown is the way to see and manage those servers. They keep working in Agent either way.