The Issue:
I am unable to get the Google Stitch MCP tools to appear in Cursor. Despite a successful connection, the UI displays “0 tools, 0 prompts, 0 resources,” and the AI Agent fails to see any Stitch tools, only recognizing other local MCPs (like GitHub).
Methods Attempted:
I have attempted to resolve this using both primary integration methods, but the result is identical in both cases:
Remote/URL Method:
• Configured via https://stitch.googleapis.com/mcp with the X-Goog-Api-Key header.
• Result: Server shows “Connected” (Green Dot) but 0 tools.
GCloud Auth / Proxy Method:
• Used the stitch-mcp proxy command with absolute paths to npx (NVM) and an explicit PATH env.
• Verified via npx @_davideast/stitch-mcp doctor (Healthy 200).
• Result: Again, “Connected” but 0 tools in UI.
Technical Evidence from Logs:
Crucially, the MCP Output Logs show that the discovery process is actually completing successfully:
Absolute Paths: Used full path to npx (/Users/…/.nvm/.../bin/npx) to avoid ENOENT.
Hard Restarts: Performed Cmd+Q restarts and toggled the server off/on in settings.
Registry Refresh: Renamed the server in mcp.json to force a new internal ID.
Agent Interaction: Explicitly asked the Agent to “list MCP tools,” but it only sees user-github.
Summary:
The MCP client process is clearly working and fetching tool schemas, but Cursor’s internal registry/UI is not populating. This seems to be a disconnect between the successful bridge and the IDE’s tool-indexing layer. Has anyone found a way to force the Agent to “re-scan” its available tools when it gets stuck like this?
(node:9559) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `Cursor --trace-deprecation ...` to show where the warning was created)
[main 2026-05-14T15:35:44.645Z] [FirstWindowExperimentMainService] GetFirstWindowStatsigDecision timed out
[main 2026-05-14T15:35:44.733Z] updateURL https://api2.cursor.sh/updates/api/update/darwin-arm64/cursor/3.4.17/975f159cb0a734be5265f572d1aa0e65f234b0671c48fc89790c0085ec4139c7/stable
[main 2026-05-14T15:35:44.734Z] update#setState idle
[main 2026-05-14T15:35:46.366Z] [Tray] getMacOSIconPath: hasNotifications: false
[main 2026-05-14T15:35:46.380Z] [LocalAgentStorage] Scanned 2 recent databases (skipped 0 old), found 0 agent headers, deduped to 0
[main 2026-05-14T15:35:56.741Z] [McpProcess] ipcReady wait failed Error: [McpProcess] timed out waiting for ipcReady after 10000ms
at Timeout.<anonymous> (file:///Applications/Cursor.app/Contents/Resources/app/out/main.js:75:44796)
at listOnTimeout (node:internal/timers:585:17)
at process.processTimers (node:internal/timers:521:7)
[McpProcess] ipcReady wait failed [...] timed out waiting for ipcReady after 10000ms
[McpProcess] giving up after 6 crashes within 600000ms; falling back to legacy in-window MCP
So the McpProcess utility process crashes 6 times on startup, then Cursor falls back to the legacy in-window MCP path. Your tools get discovered via the legacy fallback, which is why you see the green dot and “discovered 14 tools” in the logs, but they don’t get added to the UI registry correctly. That’s a side effect of the crash.
We’re tracking this issue internally, but there’s no ETA for a fix yet. Stitch MCP isn’t the cause here. You already confirmed stitch-mcp proxy runs fine from Terminal.
A few things that would help with debugging:
Open Console.app, filter for mcpProcess or go to Diagnostics > User Reports, then attach the crash report. It should show the exit code or signal that’s killing the utility process.
When you run Cursor.app/Contents/MacOS/Cursor . from Terminal, do you see trace trap or SIGTRAP in the output? If yes, please share the full stderr.
Confirm your exact macOS 26.x version. Your post says 26.4.1, is that correct? Also confirm your Cursor version. Your logs show 3.4.17, but your post says 3.2.21.
Note: the cursor.agent.legacyMcpMode setting doesn’t exist in Cursor. If you saw it suggested as a workaround, that was a hallucination. There isn’t a manual workaround right now, the fallback happens automatically after about 90 seconds of retrying.
JSON Schema object describing what each tool returns, and Google repeats the same enormous DesignTheme schema (with hundreds of font enum values) inside every single tool. The raw response is 287KB; after stripping it’s 41KB. Cursor has an internal size limit that causes it to silently discard the entire tools list when the payload is too large.
@And nice write-up, thanks. Payload size really explains what’s going on: the legacy fallback discovers 14 tools in the logs, but tools/list is ~287 KB and the client silently drops it, so the UI is empty. Stripping outputSchema cuts the payload to ~41 KB and the tools register.
This is a bug on our side. Even if we have an internal limit, there should be an error or warning in MCP Output, not a silent drop. I reported it internally, no ETA yet.
@Alex_Tarasov please use @And’s proxy script as a workaround, it should work.
The root cause on the Stitch side is worth reporting to them too. Their DesignTheme schema has hundreds of font enum values and it gets duplicated in every tool. That puts load on any MCP client, not just Cursor.