MCP tool timeout on Windows despite server responding correctly
Status Closed — not planned
Maintainer reply None cached
Activity 3 comments · opened Dec 4, 2025 · closed Dec 4, 2025
Description
Custom MCP server times out after 30 seconds when called via Claude Code, but works perfectly when tested directly via stdin.
Environment
- OS: Windows 11 (build 26200.7171)
- Claude Code version: 2.0.58
- MCP Server: Custom Python server using
mcp.server.fastmcp.FastMCP
MCP Config
{
"mcpServers": {
"github-checkbox": {
"command": "cmd",
"args": [
"/c",
"cd /d \"C:\Users\hoi_u\My Drive\DevProjects\dotfiles\mcp-servers\github-checkbox\" && uv run python server.py"
]
}
}
}
Steps to Reproduce
- Create MCP server with FastMCP that calls
ghCLI - Configure in
.mcp.json - Restart Claude Code
- Call MCP tool
Expected Behavior
Tool should return result within a few seconds (server responds in ~3 seconds when tested directly).
Actual Behavior
Tool times out after 30 seconds with error:
{"result":"ERROR: Failed to fetch Issue: Command timed out after 30 seconds"}
Proof Server Works
Direct test via stdin works perfectly:
cd /path/to/mcp-server
(echo '{"jsonrpc":"2.0","method":"initialize",...}'; sleep 1; echo '{"jsonrpc":"2.0","method":"tools/call",...}') | uv run python server.py
Returns full JSON-RPC response with checkboxes in ~3 seconds.
Additional Context
- Playwright MCP (npx-based) works fine in same session
- Issue persists after restarting Claude Code, killing uv processes, clearing pycache
- Path contains spaces but handled correctly in direct tests
Possible Cause
The MCP transport layer in Claude Code may be hanging during initialization or response parsing.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗