MCP servers connected but tools not registered for model use

Resolved 💬 3 comments Opened Apr 6, 2026 by bdteamflytbase Closed Apr 9, 2026

Bug Description

MCP servers show as connected (claude mcp list returns green checkmarks) but their tools are not available to the model via ToolSearch. The model cannot invoke any tools from these servers during the session.

Affected Servers

Local stdio servers (configured in ~/.claude/settings.json):

  • gmail — local Node.js MCP server. Shows connected. Tools not available.

Cloud integrations (connected via claude.ai account):

  • claude.ai Gmail — shows connected. Tools not available.
  • claude.ai HubSpot — shows connected. Tools not available.
  • claude.ai Google Calendar — shows connected. Tools not available.

Working servers (same session, same config):

  • gdocs (local stdio) — works perfectly, all tools available
  • gsheets (local stdio) — works perfectly, all tools available
  • claude.ai Circleback (cloud) — works perfectly, all tools available

Reproduction Steps

  1. Configure local MCP servers in ~/.claude/settings.json (gmail, gdocs, gsheets — all stdio, all using the same Node.js MCP SDK)
  2. Connect cloud integrations (Gmail, HubSpot, Calendar) via claude.ai account
  3. Start a new Claude Code session
  4. Run claude mcp list — all servers show ✓ Connected
  5. Model attempts ToolSearch for gmail/hubspot/calendar tools — returns "No matching deferred tools found"
  6. Meanwhile, gdocs/gsheets/circleback tools work fine in the same session

Diagnostic Evidence

  • The local Gmail MCP server responds correctly to MCP protocol handshake (tested manually via stdin/stdout)
  • tools/list returns all 6 tools with valid JSON schemas when tested manually
  • Server credentials and OAuth tokens are valid and fresh
  • The server uses the same @modelcontextprotocol/sdk version and pattern as gdocs/gsheets (which work)
  • This is intermittent — sometimes gmail loads, sometimes it doesn't. Other servers are consistently missing.

Expected Behavior

All MCP servers that show "Connected" in claude mcp list should have their tools registered and available to the model.

Requested Features

  1. Tool reload command — a way to re-register tool schemas mid-session (e.g., /mcp reload) without restarting
  2. Visible error logging — if a connected server's tools fail to register, surface the error to the user instead of failing silently
  3. Auto-retry — if tool registration fails on startup, retry before giving up

Environment

  • Claude Code: v2.1.92
  • macOS 26.3 (Darwin arm64)
  • Node.js: v23.6.1
  • MCP SDK: @modelcontextprotocol/sdk v1.27.1

View original on GitHub ↗

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