Interactive Cursor CLI: MCP is ready but runtime says server does not exist; exact final turn text unavailable

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

In interactive Cursor CLI 2026.09.23-86fc751 on Windows, a local project MCP server named i01 is reported ready and its i01_ping tool is listed, but a native Run once approval returns: MCP server does not exist: i01. The error lists only agent-browser and openviking as available runtime servers. Separately, stop and afterAgentResponse hooks fire for the same generation, but afterAgentResponse.text contains preliminary assistant text as well as the final response; the official transcript last assistant message is followed by [REDACTED] after its JSON. We cannot obtain an exact machine-readable final message from the interactive run.

Steps to Reproduce

  1. In a disposable project, configure one local stdio Python MCP server as i01 in .cursor/mcp.json; its Python Server name is also i01 and it exposes i01_ping. A separate local MCP client initializes it and calls i01_ping successfully.
  2. With the same cwd and CURSOR_CONFIG_DIR, run agent mcp enable i01, agent mcp list, and agent mcp list-tools i01. They report ready and list i01_ping.
  3. Start interactive agent --trust --model composer-2.5, request i01_ping, and choose native Run once. Cursor responds that i01 does not exist in its runtime registry. Reproduced in two authorized prompts.
  4. In the same interactive CLI, enable stop and afterAgentResponse hooks and request a single JSON final response. The hook text includes an earlier message; the transcript final assistant text contains JSON followed by [REDACTED].

Expected Behavior

The interactive runtime should execute an MCP tool that the CLI lists as ready in the same project/configuration. A documented hook, event, or API should expose the exact final assistant message and completed-turn boundary without parsing ANSI terminal output or extracting a JSON substring.

Operating System

Windows 10/11

Version Information

Cursor CLI 2026.09.23-86fc751

For AI issues: which model did you use?

composer-2.5

Additional Information

What supported setting or diagnostic explains the difference between agent mcp list/list-tools and the interactive runtime MCP registry? Is there a supported machine-readable final assistant message plus completed-turn event for interactive CLI? No credentials, raw transcripts, or real project data are included.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey @AlexNagorskiy,

MCP: this is an issue we’re tracking with project-level MCP servers in the CLI on Windows - when the project is a git repo, the approval agent mcp enable saves isn’t the one the session reads, so it skips i01 even though agent mcp list shows it ready (only your user-level servers, agent-browser/openviking, load). Two ways to unblock:

  1. Launch with --approve-mcps (e.g. agent --approve-mcps --trust --model composer-2.5) - approves for that session.
  2. Or move i01 into your user-level config (%CURSOR_CONFIG_DIR%\mcp.json, otherwise %USERPROFILE%\.cursor\mcp.json) - user-level servers skip project approval.

Another user confirmed option 1 fixed it: same issue here. Quick check so I can tie your report to the right place: is the project folder a git repo, and does i01_ping work with option 1?

Hooks / final message: for a clean machine-readable final answer today, run it headless with agent -p --output-format stream-json. The last assistant event before the terminal result event is the exact final message, and result marks the end of the turn (reasoning is suppressed in -p, so no [REDACTED]). In interactive mode afterAgentResponse.text currently spans the whole turn and stop doesn’t carry the text - we’ve let the team know. Docs: CLI output format.