MCP tool progress notifications not shown in chat UI (notifications/progress) — Cursor 3.8.11 Stable

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When a custom MCP server reports progress during a long-running tool call via ctx.report_progress() (FastMCP / notifications/progress), the chat UI only shows “Running in ” with the tool arguments. No progress fraction (e.g. 25/100), no progress messages, and no status updates appear until the tool finishes.

The same behavior occurs on local HTTP, local Docker, and a remote hosted instance, including against a server build that previously showed progress correctly. That suggests a Cursor client UI regression, not a server-side change.

MCP setup (generic)

  • Transport: Streamable HTTP (http://127.0.0.1:8080/mcp locally; HTTPS remote endpoint for hosted test)
  • Server: Custom Python MCP server using FastMCP 3.2.0
  • Tool: Single long-running tool (multi-minute workflow)
  • Tool args include: mcp_client_type: “cursor” (server uses this only for progress message formatting)
    The server calls await ctx.report_progress(progress=…, total=100, message=…) from the start of the handler and repeatedly during execution (classification, external API/DB steps, synthesis). Progress uses integer percent 0–99 with total=100.

Steps to Reproduce

Steps to reproduce

  1. Add a streamable-HTTP MCP server in ~/.cursor/mcp.json pointing at http://127.0.0.1:8080/mcp. The MCP must have report_progress calls.
  2. Start the server locally (direct process or Docker).
  3. In Cursor chat (Agent mode), ask a question that triggers the long-running tool (runtime typically 5–20+ minutes).
  4. While the tool is running, expand the tool call block in the UI.
  5. Observe whether progress updates appear.
    Repeat against a remote hosted endpoint to confirm the issue is not environment-specific.

Expected Behavior

  • Progress shown next to the tool name, e.g. 12/100, 45/100
  • Progress messages update during execution (e.g. “Starting…”, “Running query…”, “Preparing answer…”)
  • Matches behavior described in Cursor MCP progress docs and in older Cursor versions where this worked

Operating System

MacOS

Version Information

Version: 3.8.11
VS Code Extension API: 1.105.1
Commit: e56ad3440df06d22ca7501e65fd518e905486ef0
Date: 2026-06-18T01:40:18.333Z
Layout: editor
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.256
OS: Darwin arm64 25.3.0

Additional Information

Impact
Long-running MCP tools (multi-minute workflows) give no feedback during execution. Users only see “Running…” until completion, which is poor UX for tools that can run 10+ minutes.

Why this looks like a client regression

  • Local loopback reproduces it (no proxy/Ingress).
  • Older hosted server image shows the same UI symptom.
  • Tool completes successfully; only progress display is missing.
  • Similar reports existed for Cursor 1.6.x and were reportedly fixed in ~1.7.x — may have regressed in 3.x.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @eduardo_araujo_1!

Thanks for the report, the detail here was super helpful, and you’re right that it’s a client-side regression rather than anything on your server!

Some context on what changed: we recently moved MCP servers to run in a single shared process and it looks like progress notifications are getting dropped on their way back to the chat UI under that new setup. I was able to reproduce it on my end.

One extra thing I noticed: progress also doesn’t render in the Agents window, regardless of the shared-process change. I’ve reported that separately.

We’ve logged this internally. Thanks again for the clean repro! :folded_hands: