[BUG] Claude Desktop silently drops MCP tools/call — handshake succeeds, tool discovery succeeds, but invocations never reach the server

Resolved 💬 7 comments Opened Mar 23, 2026 by dev-testone Closed Apr 21, 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: macOS (Apple Silicon)
Claude Desktop version: Latest (March 2026)
Node.js: v22.14.0 (via nvm)
MCP transport: stdio via mcp-remote@0.1.37 → Streamable HTTP to remote server
MCP server: Remote enterprise MCP server (Streamable HTTP, protocol version 2025-11-25)

Summary
Claude Desktop completes the full MCP lifecycle (initialize → notifications/initialized → tools/list) successfully with a remote MCP server. All 8 tools are discovered and registered. However, when Claude attempts to invoke any tool via tools/call, the request is never written to the MCP server's stdin pipe. The server logs show zero incoming tools/call messages. After ~60 seconds, Claude Desktop displays:

"No result received from client-side tool execution."

The same server works perfectly in:

Claude.ai (web) — tools load AND execute, returning full results
Claude CLI — full round-trip works
MCP Inspector — all tools callable with correct responses

What Should Happen?

Claude Desktop should write tools/call JSON-RPC messages to the MCP server's stdin pipe and display the response, just as it successfully does for initialize and tools/list.
Actual Behavior
tools/call messages are silently dropped before reaching the MCP server's stdin. No error is logged in mcp.log. No entry appears in the server log. After ~60 seconds, user sees "No result received from client-side tool execution."
Related Issues

#36319 — Claude Desktop silently drops MCP stdio tool calls when argument payload exceeds ~1KB
#22299 — Claude Desktop MCP: tool call responses dropped by client after first successful round-trip (regression in v2.1.22)
#22127 — Claude Desktop MCP tool calls hang until user clicks/expands panel

Error Messages/Logs

12:21:22.581Z [abc-tools] Message from server: {
  "jsonrpc":"2.0","id":0,"result":{
    "protocolVersion":"2025-11-25",
    "capabilities":{"tools":{}},
    "serverInfo":{"name":"abc-tools-server","version":"1.0.0"}
  }
}
12:21:22.583Z [abc-tools] Message from client: {"method":"notifications/initialized","jsonrpc":"2.0"}
12:21:22.587Z [abc-tools] Message from client: {"method":"tools/list","params":{},"jsonrpc":"2.0","id":1}
12:21:23.119Z [abc-tools] Message from server: {"jsonrpc":"2.0","id":1,"result":{"tools":[...8 tools returned successfully...]}}

Steps to Reproduce

Configure claude_desktop_config.json with a remote MCP server via mcp-remote:

json{
"mcpServers": {
"abc-tools": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.example.com/tools/v1/abc-tools/mcp",
"--timeout", "300000"
]
}
}
}

Restart Claude Desktop (Cmd+Q, reopen)
Verify server connects in logs — tools/list returns all tools successfully
Ask Claude to use any tool (even one with a tiny ~100 byte request payload)
Observe: Claude shows "Used [server] integration" in collapsed state, then hangs
After ~60s: "No result received from client-side tool execution."

After tools/list response — NOTHING.

No tools/call entry exists in mcp.log for this session.

grep "tools/call" mcp.log returns ZERO results.

The next log entry is a shutdown, not a tool invocation.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.81

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Initialization restart cascade
Claude Desktop exhibits an aggressive restart pattern during initialization. When one MCP server's transport closes during handshake, Claude Desktop kills ALL connected servers and reinitializes them:
11:15:14.589Z [other-server] Shutting down server...
11:15:14.591Z [abc-tools] Shutting down server... ← killed as collateral damage
11:15:14.592Z [abc-tools] Initializing server... ← forced restart
This cascade happens 2-3 times before connections stabilize. While connections do eventually stabilize (tools/list succeeds), the tools/call issue persists after a clean connection.
Not a payload size issue on the REQUEST side

check_access request: ~100 bytes → FAILS (silently dropped)
get_setup_config request: ~50 bytes → FAILS (silently dropped)
Both work perfectly in Claude.ai web and Claude CLI

Config variations attempted (all exhibit the same bug):

With --timeout 300000 flag
With --log-file and --verbose flags
With and without other MCP servers in the config
With remote connector (Claude Desktop built-in) instead of mcp-remote
Fresh restart after each config change

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗