[FEATURE] Required MCP servers — block session if mandatory servers are not connected
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Problem
Plugins and workflows often depend on specific MCP servers to function. Currently, Claude Code treats all MCP servers as optional — if a server fails to connect or needs authentication, the session starts anyway and Claude
silently proceeds without those tools.
This causes problems when:
- A plugin's skills are useless without its backing MCP server (e.g., a troubleshooting plugin that requires a logs MCP)
- Multiple plugins share the same MCP dependency but there's no way to enforce it
- Users forget to authenticate OAuth-based MCPs and only discover the problem mid-task
There's no way for plugin authors or users to declare that certain MCP servers must be connected for the session to be usable.
Proposed Solution
Add a required field to MCP server configuration:
{
"mcpServers": {
"jira": {
"command": "...",
"required": true
}
}
}
When required: true, Claude Code should:
- Wait for the server's health check to complete before starting the session
- If the server is not connected (failed, needs auth, timed out) — block the session with a clear error message explaining which servers are unhealthy and how to fix them
- Support this at all config scopes: user, project, and plugin .mcp.json
For plugins specifically, this would also allow plugin.json to declare MCP dependencies as required:
{
"mcpServers": {
"grafana": {
"url": "https://...",
"required": true
}
}
}
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗