Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor doesn’t cancel long-running MCP tool.
- 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.
- 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
- 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).
- Add it to Cursor and trigger the tool.
- Observe in the MCP logs that the tool is running, does not time out, and Cursor is receiving progress notifications.
- Press Cancel in the Tool Execution box (agent chat).
- 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