Feature Request: Support MCP tools/list_changed notification for dynamic tool discovery

Resolved 💬 2 comments Opened Feb 8, 2026 by PhilippeKhalife Closed Feb 8, 2026

Summary

Claude Code does not currently support the MCP tools/list_changed notification, which means it only sees tools that exist at the moment the MCP server connection is established. Tools registered dynamically after connection are invisible to Claude Code.

Problem

When using MCP servers that dynamically discover and register tools (e.g., from agent registries, service discovery, plugin systems, etc.), there's a race condition:

  1. Claude Code spawns the MCP server (stdio transport)
  2. MCP server initializes and connects to backend services
  3. Claude Code queries available tools - list is empty or incomplete
  4. Backend services register and MCP server sends tools/list_changed notification
  5. Claude Code ignores the notification - tools remain invisible
  6. User sees no tools or only partial tools

Expected Behavior

Claude Code should listen for tools/list_changed notifications (per MCP spec) and refresh its tool list when received. This would enable proper support for MCP servers with dynamic tool registration.

Current Workaround

The only workaround requires being the MCP server author and implementing initialization delays to wait for tools to register before completing startup. This is:

  • Not always possible - users of third-party MCP servers cannot modify them
  • Fragile - hardcoded delays may be too short or unnecessarily long
  • Adds latency - every connection is delayed even when tools register quickly

Users who don't control the MCP server source have no workaround available.

Impact

This limitation affects any MCP server that:

  • Discovers tools from external services
  • Loads plugins dynamically
  • Connects to agent registries
  • Has tools that depend on async initialization

Environment

  • Claude Code CLI
  • MCP servers using stdio transport with dynamic tool registration
  • Tested with FastMCP-based servers

References

View original on GitHub ↗

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