[BUG] Local stdio MCP servers start but tools not registered on Windows Server 2022

Resolved 💬 4 comments Opened Feb 27, 2026 by viktordavid-lab Closed Mar 3, 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?

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.json has all servers defined
  • settings.local.json has enabledMcpjsonServers with 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

  1. 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\\"
    }
  }
}
  1. Enable it in ~/.claude/settings.local.json:
{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": ["my-server"]
}
  1. Start a new Claude Code session: claude
  1. Observe: the MCP server process starts as a child of claude.exe (visible in Task Manager / wmic), but mcp__my-server__* tools are NOT available to the agent.
  1. 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.

View original on GitHub ↗

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