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:

  1. Include .mcp.json — Server appears in /plugin UI (great for discoverability), but auto-enables on install (unwanted overhead for non-users)
  2. Omit .mcp.json — Server is invisible in /plugin UI (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 /plugin UI 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

View original on GitHub ↗

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