Cursor doesn’t cancel long-running MCP tool

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor doesn’t cancel long-running MCP tool.

  1. I’m using a custom MCP server with a tool that is expected to run for several minutes. When the tool call is triggered, it starts polling a remote API and sends “progress” notifications back to Cursor. Cursor receives these notifications and doesn’t time out the call. That part works perfectly.
  2. But if I press the “Cancel” button in the Cursor “Tool Execution” box, it doesn’t react—just keeps showing a spinning circle.

Steps to Reproduce

  1. Create a simple MCP server tool in Python that sleeps and posts ctx.report_progress notifications (you can use this as a prompt to generate the server).
  2. Add it to Cursor and trigger the tool.
  3. Observe in the MCP logs that the tool is running, does not time out, and Cursor is receiving progress notifications.
  4. Press Cancel in the Tool Execution box (agent chat).
  5. Observe that it keeps running, with spinning waiting circles in the UI.

Expected Behavior

On “Cancel”, tool execution should stop.
The MCP protocol provides a mechanism for cancelling outstanding requests. The Cursor MCP Client should send a message to the Server and force it to cancel.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.6.26
VSCode Version: 1.99.3
Commit: 6af2d906e8ca91654dd7c4224a73ef17900ad730
Date: 2025-09-16T17:12:31.697Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 23.6.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.