MCP tool calls with `outputSchema` fail silently client-side (never dispatched to server) in Claude Desktop 1.24012.1

Status Fixed / completed
Maintainer reply None cached
Activity 0 comments · opened Jul 22, 2026 · closed Aug 25, 2026

Environment:

  • Claude Desktop: 1.24012.1 (Windows, MSIX/Microsoft Store install)
  • OS: Windows 11
  • MCP server tested: mssql-mcp v2.3.2 (local stdio server, node.exe)

Summary:
Tool calls to MCP tools that declare an outputSchema in their tool definition fail with a generic "Tool execution failed" error and are never dispatched to the underlying MCP server process. Tools without outputSchema on the same server work normally.

Evidence:

  • mssql_connection_status and mssql_connect_database (both declare outputSchema) → fail immediately, client-side. The server's own log (mcp-server-<name>.log) shows zero tools/call entries for these calls, even across a full app restart and a brand new conversation.
  • mssql_list_schema_objects and mssql_run_sql_query (no outputSchema) on the same server instance → work normally, reach the server, return correct results.
  • Manually driving the same server binary with a hand-rolled JSON-RPC client (bypassing Claude Desktop) confirms the server correctly handles initialize, tools/list, and tools/call for the outputSchema-bearing tools too — so the server implementation is not at fault.

Steps to reproduce:

  1. Configure a local stdio MCP server whose tools/list response includes at least one tool with a declared outputSchema.
  2. Call that tool from Claude Desktop.
  3. Observe generic "Tool execution failed" with no corresponding entry in the server's log file.
  4. Call a tool on the same server without outputSchema — observe it works normally.

Impact: Any MCP server that relies on a schema-declaring "connect" tool becomes unusable, since the connect call itself is silently blocked, even though the rest of the server works.

Ruled out before reaching this conclusion: network connectivity, DB credentials, server process health/crashes, duplicate zombie processes, stale per-conversation session state, and system memory pressure — all confirmed fine or irrelevant.

View original on GitHub ↗