[BUG] Claude Desktop: prompts from local stdio MCP servers fail to attach; remote MCP server prompts work

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 28, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Environment:

  • Platform: Claude Desktop (Windows, Microsoft Store / MSIX install)
  • Claude Desktop Version: 1.24012.9
  • MCP servers tested: a custom C# stdio server (official ModelContextProtocol C# SDK) and the reference @modelcontextprotocol/server-everything

Bug Description:

Invoking any prompt from a local stdio MCP server fails with a prompt error in the UI. Prompts from a remote MCP server work normally in the same conversation, and tools from the same local servers work perfectly. This is a regression — the same local prompts worked in earlier builds; the failure began around the 1.24012.x auto-updates.

Symptoms:

  • Local stdio MCP tools: ✅ working
  • Local stdio MCP prompts: ❌ fail on invocation (parameterized and zero-argument prompts alike)
  • Remote MCP prompts (including parameterized): ✅ working
  • Reproduces with the reference server-everything (simple_prompt), so it is not server-specific

Evidence the server side is healthy:

  1. MCP Inspector against the same local server: prompts/list and prompts/get both return spec-valid results (single PromptMessage, role: "user", content of type text).
  2. The desktop app's own mcp-server-<name>.log shows the full round trip succeeding at the transport level when the prompt is invoked from the UI:
   [info] Message from client: method="prompts/get" id=4 params
   [info] Message from server: id=4 result

No JSON-RPC error is ever returned. The failure occurs after a valid result is received, i.e. in the app's local prompt-attachment path.

  1. A minimal zero-argument prompt returning a single hard-coded text message fails identically, ruling out argument-binding issues.

Additional observation: in this build, local MCP logging truncates response bodies (Message from server: id=N result with no payload), where earlier builds logged the full JSON — suggesting the local MCP response-handling code changed in this release.

What Should Happen?

Invoking a prompt from a local stdio MCP server should attach the returned messages to the conversation, exactly as prompts from remote MCP servers currently do.

Actual Behavior

The UI shows a generic prompt error and the prompt content is never attached, despite the server returning a valid prompts/get result.

Error Messages/Logs

Two toast messages appear in Desktop:

"Server not found"
"Failed to attach prompt. You can try again."

No additional details area available anywhere that I have looked.

Steps to Reproduce

  1. Install Claude Desktop 1.24012.9 on Windows (Microsoft Store build).
  2. Add the reference server to claude_desktop_config.json:
   {
     "mcpServers": {
       "everything": {
         "command": "npx",
         "args": ["-y", "@modelcontextprotocol/server-everything"]
       }
     }
   }
  1. Restart the app; confirm the server connects and its tools work.
  2. Invoke simple_prompt from the prompt/slash-command picker.
  3. Observe the prompt error. Repeat with any other local stdio server — same result. Repeat with a remote MCP server's prompt — works.

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Unknown, I haven't tried this in a while

Claude Code Version

N/A — Claude Desktop 1.24012.9

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

_No response_

View original on GitHub ↗