[BUG] Local stdio MCP servers start but tools not registered on Windows Server 2022
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?
All local stdio MCP servers configured in ~/.mcp.json start their processes successfully (confirmed via wmic — all running as children of claude.exe), and respond correctly to MCP protocol handshake (initialize + tools/list), but their tools are never exposed to the Claude Code agent.
Only non-stdio MCP connections work (browser extension MCP via Chrome, cloud/remote MCP).
4 different local server types tested — ALL fail:
| Server | Command | Tools Available? |
|--------|---------|-----------------|
| Python FastMCP (mcp SDK 1.19.0) | python.exe server.py | No |
| Go binary | mcp-server.exe | No |
| npx playwright | cmd /c npx @playwright/mcp | No |
| npx context7 | cmd /c npx @upstash/context7 | No |
Non-stdio servers (browser extension, cloud MCP) work fine.
Manual protocol test confirms servers work correctly:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize",...}' | python server.py
→ Valid initialize response
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list",...}' | python server.py
→ Returns all tools correctly
Configuration is correct:
~/.mcp.jsonhas all servers definedsettings.local.jsonhasenabledMcpjsonServerswith all servers listed- Permissions for MCP tools are in the allow list
What Should Happen?
Tools from local stdio MCP servers should be available to the agent after a successful initialize + tools/list handshake. The servers start, respond correctly to the MCP protocol, and return valid tool definitions — but these tools never appear in the agent's available tool list.
Error Messages/Logs
No error messages visible. The MCP server processes start without errors.
Server logs show successful startup:
2026-02-27 22:52:35 [ftaim.server] INFO: Starting Full Time AI Memory MCP v0.3.2
2026-02-27 22:52:35 [ftaim.server] INFO: Database initialized
2026-02-27 22:52:35 [ftaim.embeddings] INFO: Embedding model loaded (384 dimensions)
2026-02-27 22:52:35 [ftaim.server] INFO: MCP stdio server starting...
Process confirmed running via wmic:
- PID 12416 (Python MCP), parent 13592 (claude.exe)
- PID 3508 (Go MCP), parent 13592 (claude.exe)
No Claude Code debug logs found to investigate further.
Steps to Reproduce
- On Windows Server 2022, configure a local stdio MCP server in
~/.mcp.json:
{
"mcpServers": {
"my-server": {
"command": "C:\\Program Files\\Python311\\python.exe",
"args": ["C:\\path\\to\\mcp_server.py"],
"cwd": "C:\\path\\to\\"
}
}
}
- Enable it in
~/.claude/settings.local.json:
{
"enableAllProjectMcpServers": true,
"enabledMcpjsonServers": ["my-server"]
}
- Start a new Claude Code session:
claude
- Observe: the MCP server process starts as a child of
claude.exe(visible in Task Manager / wmic), butmcp__my-server__*tools are NOT available to the agent.
- Verify the server works manually:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | python mcp_server.py
Returns valid response with tools.
Tested with 4 different server types (Python FastMCP, Go binary, npx playwright, npx context7) — all fail identically.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.62 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Environment details:
- OS: Windows Server 2022 Datacenter (10.0.20348)
- Node.js: v20.11.0
- Python: 3.11.7
- MCP Python SDK: 1.19.0
- Shell: Git Bash (via PowerShell host)
Key observation: The MCP server processes ARE spawned by Claude Code (confirmed as children of claude.exe via wmic). The servers initialize correctly and respond to MCP protocol. But the stdio pipe transport appears to fail silently — tools never register in the agent's tool list.
Non-stdio MCP servers work fine on the same machine:
- Browser extension MCP (Claude in Chrome) — works
- Cloud/remote MCP (Crypto.com) — works
Workaround: Calling MCP server functionality directly via Python CLI scripts through the Bash tool.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗