MCP server shows Connected but tools silently not loaded into session
Resolved 💬 3 comments Opened Mar 24, 2026 by michaelbloom01 Closed Mar 28, 2026
Bug Report
Description
An MCP server (stdio, local binary) consistently shows ✓ Connected via claude mcp list and claude mcp get, and the server correctly responds to JSON-RPC tools/list with 18 tools — but zero tools from this server appear in the session's available tools.
Environment
- Claude Code version: latest (March 2026)
- OS: Windows 11 ARM64
- MCP server: custom Go binary (google-mcp-server.exe), stdio transport
Steps to Reproduce
- Configure an MCP server in
~/.claude.jsonundermcpServers - Start a new Claude Code session
- Run
claude mcp list— server shows✓ Connected - Run
claude mcp get <name>— shows Connected with correct config - Manually pipe JSON-RPC
tools/listto the server binary — returns 18 valid tools - Check deferred tools in session — no tools from this server appear
What I Expected
The 18 tools should appear in the session's deferred tools list and be callable.
What Actually Happened
The server is Connected but its tools are silently dropped. No error message, no warning, no indication anything is wrong. The user has to manually compare the deferred tools list against expected tools to notice.
Impact
- User spent an entire day (10+ restarts across 9 sessions) trying to debug this
- Previous hypothesis was tool budget overflow (~160 tool limit), so other MCP servers were removed to make room — but the problem persisted
- There is no diagnostic output to help users understand why tools aren't loading
claude mcp listshowing✓ Connectedis actively misleading when tools aren't loaded
Suggestions
- Show tool count in
claude mcp listoutput (e.g.,✓ Connected (18 tools)vs✓ Connected (0 tools)) - Warn when a server is connected but zero tools are loaded
- Log or surface the reason when tools are dropped (budget exceeded, schema validation failure, etc.)
- If there IS a tool budget, make it visible and configurable
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗