MCP Tools Not Registering Despite Successful Server Connection

Resolved 💬 2 comments Opened Aug 6, 2025 by UnholyKingfish Closed Aug 6, 2025

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

  1. Configure Docker MCP Gateway:

``bash
claude mcp add-json docker-mcp-local '{"command": "docker", "args": ["mcp", "gateway", "run"]}'
``

  1. Verify server connection:

``bash
claude mcp list
# Shows: docker-mcp-local: docker mcp gateway run - ✓ Connected
``

  1. Test tool availability:
  • Expected tools like resolve_library_id, read_graph, sequentialthinking, docker, get_me are 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.

View original on GitHub ↗

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