[FEATURE] Skills that depend on MCP servers should be disabled (not loaded) when their MCP is disconnected

Resolved 💬 3 comments Opened Apr 29, 2026 by landoDanziger Closed May 3, 2026

Feature Request

When a skill depends on one or more MCP tools, it should not be loaded at all if its underlying MCP server is disconnected — and this should be reflected in /context.

Current behaviour

All skills are loaded unconditionally, regardless of whether their required MCP servers are connected. A skill like /contentful consumes context tokens whether or not mcp__contentful__* is reachable. The only way to discover the problem is to invoke the skill and have it fail.

Expected behaviour

Skills that declare MCP dependencies should be skipped at load time if their MCP is not connected:

  • No context tokens wasted on a skill that cannot function
  • /context should indicate the skill was not loaded and why (e.g. contentful [skipped — MCP unavailable])

Why this matters

MCP servers can silently disconnect (network issue, config change, server restart). When that happens:

  1. The skill still occupies context on every turn — burning tokens for zero benefit
  2. The problem is not visible until the skill is invoked and fails

Skipping dependent skills entirely is the correct behaviour: it saves context, gives an immediate signal that something is wrong, and avoids misleading the model into thinking a tool is available when it is not.

Suggested approach

  • Skills declare their MCP dependencies (e.g. a requires_mcp field in the skill definition)
  • At startup, Claude Code cross-references declared dependencies against connected MCP servers
  • Skills with unmet dependencies are not loaded; /context surfaces them as skipped with a reason

View original on GitHub ↗

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