Connected user MCP server with 113 tools is missing from Agent sessions

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

A user-level remote MCP server is successfully connected in Cursor and its tools are discovered by the MCP subsystem, but the server is not exposed to Agent sessions.

The server is HeyGen Remote MCP, configured in ~/.cursor/mcp.json as “heygen”.

Cursor Customize > MCPs shows:

  • heygen (User)
  • Local: Connected
  • 113 tools enabled
  • 2 resources enabled
  • OAuth authentication successful

However, in every new Agent chat the server is missing. The Agent only sees:

  • cursor
  • cursor-app-control
  • cursor-ide-browser

Direct discovery of “user-heygen” or “heygen” returns:
namespace “user-heygen” not found

This is reproducible after restarting Cursor, updating Cursor, reloading the MCP server, and creating completely new Agent chats.

Cursor version: 3.20.10
OS: Windows 11 x64

The MCP logs show that the remote server itself connects successfully. The MCP FileSystem Writer also confirms that Cursor discovered all 113 tools:

Server “user-heygen” fingerprint changed: tools=113, status=connected

Incremental write:
serverIdentifier=“user-heygen”
toolCount=113

There are no authentication or transport errors. The problem appears to be between successful MCP discovery and exposure of that MCP server/tool catalog to the Agent runtime.

Expected behavior:
A connected user-level MCP server whose 113 tools are successfully discovered should be available to new Agent sessions.

Actual behavior:
The MCP UI shows the server as connected with 113 tools, but Agent sessions report that user-heygen/heygen does not exist.

Steps to Reproduce

  1. Configure the remote HeyGen MCP server in the user-level ~/.cursor/mcp.json:
    https://mcp.heygen.com/mcp/v1/

  2. Complete OAuth authentication successfully.

  3. Open Cursor > Customize > MCPs.

  4. Verify that HeyGen is shown as:

    • User
    • Local: Connected
    • 113 tools enabled
    • 2 resources enabled
  5. Click Reload and verify that the server remains connected.

  6. Create a completely new Agent chat.

  7. Ask the Agent to list the available MCP servers/tool namespaces or to discover “user-heygen”.

  8. Observe that only cursor, cursor-app-control, and cursor-ide-browser are available. The Agent reports:
    namespace “user-heygen” not found

  9. Restart Cursor and repeat with a new Agent chat. The problem persists.

Additional diagnostic evidence:
MCP FileSystem Writer reports:
Server “user-heygen” fingerprint changed: tools=113, status=connected

and:
serverIdentifier=“user-heygen”, toolCount=113

So the MCP subsystem successfully discovers the server and all 113 tools, but they are not exposed to the Agent runtime.

Expected Behavior

The connected user-level MCP server should be exposed to new Agent sessions after Cursor has successfully discovered its tools.

Since Cursor shows the HeyGen MCP server as Connected and has discovered 113 tools and 2 resources, Agent sessions should be able to discover and invoke those tools through the MCP/dynamic tool system.

The MCP server should not disappear between the MCP subsystem and the Agent runtime.

Operating System

Windows 10/11

Version Information

Cursor 3.20.10
Commit: d6f462cdd0a6a6d1cff570daf980e671d0a63de0
Architecture: x64

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the detailed report. It looks like the issue isn’t that tools are disappearing, it’s how MCP scoping works with Remote SSH.

From your description, your Agent chats are running in a workspace connected to a remote machine via Remote SSH (Agents Window / Glass). In a remote workspace, user-level MCP servers are read from ~/.cursor/mcp.json on the remote machine, not from what’s on your Windows box. That’s why Customize > MCPs shows HeyGen as Local: Connected (it’s running locally), but the agent in the SSH workspace only sees built-in servers. Local user servers don’t get merged into an SSH workspace, that’s by design.

Two ways to get HeyGen into those chats:

  1. On the SSH host, add the same entry to ~/.cursor/mcp.json:
{
  "mcpServers": {
    "heygen": {
      "url": "https://mcp.heygen.com/mcp/v1/"
    }
  }
}

Then open Customize > MCPs. You should see a separate HeyGen row labeled with the remote host. Click Authenticate for that row and go through OAuth again (auth is environment-specific). The remote machine needs outbound HTTPS access to mcp.heygen.com.

  1. Or put the config in .cursor/mcp.json inside the project on the remote side (workspace-scoped) and approve it when prompted.

After either step, open a new chat in that workspace and HeyGen should show up in the list.

Can you confirm you’re actually working in a Remote SSH workspace? If you add the server on the remote side and it still doesn’t show up, paste what Customize > MCPs shows for the remote row (status and tool count) and we can dig in.