plugin-manager-mcp
v1.12.1
Published
MCP server for deterministic harness plugin management.
Downloads
891
Readme
plugin-manager-mcp
MCP server for deterministic harness plugin management inside the harness-plugins repository.
Install
npm install -g plugin-manager-mcpRun
HARNESS_PLUGINS_ROOT=/path/to/harness-plugins plugin-manager-mcpFor a direct readiness check:
HARNESS_PLUGINS_ROOT=/path/to/harness-plugins plugin-manager-mcp --healthThe server uses stdio transport and exposes these MCP tools:
list_pluginsshow_statusupdate_repoinstall_pluginsync_pluginsync_allsync_to_claudesync_to_opencodesync_to_codex
For OpenCode, set OPENCODE_CONFIG_ROOT to the OpenCode config directory if you do not want the default ~/.config/opencode.
OpenCode layout
sync_to_opencode writes global OpenCode plugins to ~/.config/opencode by default:
~/.config/opencode/
├── commands/<skill-name>.md
├── skills/<skill-name>/SKILL.md
└── plugins/<plugin-name>/
├── agents/
├── commands/
├── instructions/
├── profiles/
├── skills/
└── opencode-plugin.jsonThe sync keeps the harness source as the authority and maps:
skills/toskills/agents/toagents/README.mdand other top-level markdown files toinstructions/PROFILE.mdtoprofiles/default.mdOVERRIDES.mdtoprofiles/overrides.md
OpenCode slash commands are thin wrappers that say Use the <skill-name> skill. so the original SKILL.md remains the source of truth.
Generated OpenCode skill and command names are namespaced as <plugin-name>__<skill-name> to avoid collisions across harnesses.
Example:
/minmos-harness__commit-mmUpdate checks
The server checks the npm registry once per hour and writes update notices to stderr only, so stdout remains reserved for MCP protocol messages.
Disable update checks with:
PLUGIN_MANAGER_DISABLE_UPDATE_CHECK=1 plugin-manager-mcp