MCP Tools Not Registering Despite Successful Server Connection
MCP Tools Not Registering with Claude Code Despite Successful Server Connection
Bug Summary
Claude Code successfully connects to MCP servers (shows "Connected" status) but fails to register the tools provided by those servers, making them unavailable for use. This affects both Docker MCP Gateway and individual MCP servers.
Environment
- Platform: Windows 11
- Claude Code Version: Latest (using Sonnet 4)
- Docker MCP Toolkit: 5 servers (context7, docker, github-official, memory, sequentialthinking)
- Total Expected Tools: 93 (80 GitHub + 9 memory + 2 context7 + 1 sequential thinking + docker)
Steps to Reproduce
- Configure Docker MCP Gateway:
``bash``
claude mcp add-json docker-mcp-local '{"command": "docker", "args": ["mcp", "gateway", "run"]}'
- Verify server connection:
``bash``
claude mcp list
# Shows: docker-mcp-local: docker mcp gateway run - ✓ Connected
- Test tool availability:
- Expected tools like
resolve_library_id,read_graph,sequentialthinking,docker,get_meare not available - No MCP tools appear in Claude Code's available tool set
Expected Behavior
MCP tools should be available for use in Claude Code when MCP servers show "Connected" status.
Actual Behavior
- MCP servers show "Connected" status
- MCP servers successfully enumerate their tools (verified with dry-run)
- No MCP tools are registered with Claude Code's tool system
- Tools are completely unavailable for use
Debug Evidence
MCP Server Status
docker-mcp-local: docker mcp gateway run - ✓ Connected
memory-direct: docker run --rm -i mcp/memory - ✓ Connected
Docker MCP Gateway Dry-Run (Working Correctly)
- Reading configuration... ✓
- Configuration read in 853.4404ms ✓
- Those servers are enabled: context7, docker, github-official, memory, sequentialthinking ✓
- Images pulled in 61.4002ms ✓
- Listing MCP tools... ✓
> sequentialthinking: (1 tools) ✓
> github-official: (80 tools) (2 prompts) (5 resourceTemplates) ✓
> memory: (9 tools) ✓
> context7: (2 tools) ✓
> 93 tools listed in 975.4144ms ✓
> Initialized in 1.890255s ✓
Claude Code Debug Output
[DEBUG] MCP server "docker-mcp-local": Connection attempt completed in 1974ms - status: connected
[DEBUG] MCP server "memory-direct": Connection attempt completed in 610ms - status: connected
Root Cause Analysis
The issue is NOT with:
- MCP server functionality (servers work correctly)
- Network connectivity (connections succeed)
- Tool enumeration (93 tools correctly detected)
- Container/Docker setup (all containers run properly)
The issue IS with:
- Claude Code's MCP tool registration process
- Tools are detected by MCP servers but not registered in Claude Code's available tool set
- This appears to be a silent failure in the tool integration layer
Impact
- MCP functionality is completely broken despite appearing to work
- Users cannot access any MCP tools even when servers show "Connected"
- This affects both SSH and local usage scenarios
Workaround
None found. The tool registration step appears to fail silently.
Additional Context
This issue was discovered while troubleshooting SSH connectivity, but testing confirms it occurs locally on Windows as well, indicating it's a core Claude Code ↔ MCP integration bug rather than a transport issue.
Reproduction Rate
100% - reproduced consistently with multiple MCP server configurations.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗