Support default-disabled MCP servers in plugins
Resolved 💬 3 comments Opened Feb 20, 2026 by michael-wojcik Closed Feb 24, 2026
Summary
Plugins that ship a .mcp.json file get their MCP servers auto-enabled on install. There's currently no way to ship an MCP server that appears in the /plugin UI as a toggleable sub-item but defaults to disabled.
Use Case
The PACT plugin includes an optional Telegram notification bridge as an MCP server. It's useful for users who want it, but most users don't need it. Today the options are:
- Include
.mcp.json— Server appears in/pluginUI (great for discoverability), but auto-enables on install (unwanted overhead for non-users) - Omit
.mcp.json— Server is invisible in/pluginUI (poor discoverability), but doesn't auto-enable (correct default)
Neither option gives the ideal UX: visible in the UI, toggleable, but off by default.
Proposal
Support a defaultEnabled (or enabled) field in .mcp.json server entries:
{
"pact-telegram": {
"command": "python3",
"args": ["-m", "telegram"],
"cwd": "${CLAUDE_PLUGIN_ROOT}",
"defaultEnabled": false
}
}
When defaultEnabled: false:
- Server appears in
/pluginUI as a toggleable sub-item - Server does not auto-start on install or session start
- User can enable it via Space toggle in
/plugin - Once toggled on, the user's preference persists across sessions
Related
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗