[BUG] stdio MCP servers show "Connected" but tools never register in deferred tools list
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:
- Claude Code v2.1.90
- macOS (Darwin 25.4.0)
Description:
Custom stdio MCP servers defined in .mcp.json connect successfully but their tools never appear in the session's deferred tools list, making them uncallable.
Verified the servers work correctly outside Claude Code:
Manually piping JSON-RPC initialize + notifications/initialized + tools/list to the same server process returns a valid response with all tools. The tools/call method also works and returns data. The MCP protocol
handshake is not the issue.
Affected: All stdio servers using bash wrapper scripts (tested with shopify-mcp@latest and mcp-node-mssql). Reproduced across 10+ session restarts.
Not affected: HTTP-based MCP servers (Jira, Slack) and built-in plugins (context7) register their tools normally.
Workaround: Calling the MCP servers directly via bash process substitution, handling the JSON-RPC handshake manually, and parsing the response.
What Should Happen?
Tools exposed by stdio MCP servers should appear in the deferred tools list and be callable within the session, the same way HTTP-based MCP servers and built-in plugins register their
tools. If claude mcp list shows a server as "Connected," its tools should be available.
Error Messages/Logs
Steps to Reproduce
- Define stdio MCP servers in project .mcp.json:
{
"mcpServers": {
"my-server": {
"type": "stdio",
"command": "bash",
"args": ["/path/to/wrapper.sh"]
}
}
}
- The wrapper script runs npx -y <mcp-package> via exec
- Start Claude Code
- claude mcp list shows the server as ✓ Connected
- Search deferred tools — zero tools from that server appear
- Restarting Claude Code does not fix it
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
v2.1.90
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗