Custom MCP not available to agent

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When I add an MCP server by editing the mcp.json file, it isn’t available to the agent. However, if I add it through the Marketplace, it works fine.

Steps to Reproduce

When I manually add an MCP server by editing the mcp.json file, it is not available to the Agent. However, when I add it through the Marketplace, it works perfectly. It seems like the manual configuration isn’t triggering a refresh for the Agent’s toolset.

Expected Behavior

The Agent should automatically detect and load the MCP server defined in mcp.json. However, as shown in the attached screenshot, the ‘Stitch’ MCP is not appearing or available for the Agent to use.

Screenshots / Screen Recordings

Operating System

MacOS
Linux

Version Information

IDE:
Version: 3.4.20 (Universal)
VSCode Version: 1.105.1
Commit: 0cf8b06883f54e26bb4f0fb8647c9500ccb43310
Date: 2026-05-15T02:26:10.351Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.3.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the report. I can see the screenshot. Stitch is in mcp.json, but the agent isn’t picking it up.

This looks like a couple of known patterns, so let’s narrow it down. Can you confirm:

  1. In Cursor Settings → Tools & MCP, does Stitch show up? If yes, is it enabled, and is the tool count greater than 0 or is it 0?
  2. If you open a new agent chat after Stitch shows as connected in Settings, do the tools appear?
  3. Which mcp.json did you edit, the global one ~/.cursor/mcp.json or the project one <project>/.cursor/mcp.json?
  4. Open Output → MCP Logs or Cursor Logs via the Command Palette and look for lines with McpProcess, ipcReady, Stitch, 0 tools. If you find anything relevant, paste it here.
  5. Does this reproduce on both OSes macOS and Linux, or only on one?

A couple similar threads just in case, maybe a workaround there helps:

Once I have the logs and answers above, it’ll be clearer where to dig next.

1 - Stitch show up, but the UI displays “0 tools, 0 prompts, 0 resources”. My issue the same of this - https://forum.cursor.com/t/mcp-server-connected-green-dot-and-tools-discovered-in-logs-but-0-tools-in-ui-and-agent/160620

2 - No. I tried opening a new Agent chat, reloading the window, and completely restarting Cursor, but the tools still do not appear.

3 - I tried with both the global ~/.cursor/mcp.json and the project-level .cursor/mcp.json file.

4 - I could not find any logs containing McpProcess, ipcReady, Stitch, or 0 tools. Below are the only logs that appeared:

MCP: stitch

2026-05-15 15:13:29.309 [info] [V2] Handling CreateClient action

2026-05-15 15:13:29.309 [info] [V2 FSM] connection:connect_start: conn=idle,auth=unknown → conn=connecting,auth=unknown

2026-05-15 15:13:30.247 [info] MCP OAuth provider initialized

2026-05-15 15:13:30.955 [info] MCP HTTP exchange completed

2026-05-15 15:13:31.671 [info] MCP HTTP exchange completed

2026-05-15 15:13:31.671 [info] Successfully connected to streamableHttp server

2026-05-15 15:13:31.671 [info] [V2 FSM] connection:connect_success: conn=connecting,auth=unknown → conn=connected,auth=unknown

2026-05-15 15:13:31.671 [info] CreateClient completed, connected: true, statusType: connected

2026-05-15 15:13:32.512 [warning] MCP HTTP exchange completed

2026-05-15 15:13:32.671 [info] MCP HTTP exchange completed

MCP OAuth
2026-05-15 15:13:29.322 [info] [MCPService] State transition: user-stitch none → initializing

2026-05-15 15:13:31.673 [info] [MCPService] State transition: user-stitch initializing → connected

MCP Allowlist
2026-05-15 12:51:53.873 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 12:51:53.873 [info] [MCPService] createClient: identifier=“user-next-devtools”, serverName=“next-devtools”

2026-05-15 13:02:32.738 [info] [MCPService] createClient: identifier=“user-context7”, serverName=“context7”

2026-05-15 13:02:32.739 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 13:02:35.463 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 13:02:53.391 [info] [MCPService] createClient: identifier=“user-context7”, serverName=“context7”

2026-05-15 13:02:53.391 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 13:02:56.268 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 14:58:35.497 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 15:12:56.872 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

2026-05-15 15:12:59.769 [info] [MCPService] createClient: identifier=“user-next-devtools”, serverName=“next-devtools”

2026-05-15 15:13:29.306 [info] [MCPService] createClient: identifier=“user-stitch”, serverName=“stitch”

MPC Logs
Empty

5 - Both, I test it on my MacOS and Linux.Yes, I have confirmed this on both. I tested it on my macOS and Linux machines, and the issue occurs on both systems.

Thanks for the detailed logs and for confirming the symptom matches thread 160620. Yep, it’s the same bug.

Quick summary: Stitch returns a huge tools/list response, around 287 KB, because each tool includes a duplicated outputSchema with hundreds of font enum values in DesignTheme. Cursor has an internal payload size limit, and when it’s exceeded the whole tools list gets silently dropped. That’s why the server shows as connected in Settings, but you see 0 tools. Connecting via Marketplace can behave differently for Stitch due to a different transport or schema variant, which explains the difference.

There’s a working workaround in the same thread, the solution by @And: MCP Server Connected (Green Dot) and Tools Discovered in Logs, but "0 tools" in UI and Agent - #10 by And

It’s a Node stdio proxy that strips outputSchema from the tools/list response and shrinks the payload to about 41 KB. After that, the tools show up correctly in the UI and in the agent. The mcp.json config is included there too.

On our side this is a bug. Even if there’s an internal limit, Cursor should show an error or warning in MCP Output, not silently drop the tools list. I’ve reported it internally, no ETA for a fix yet.