Build
Plugins
Two plugins ship with OpsKeeper. Both are open source under the project license.
agentteams-plugin-installer
A Dashboard-side plugin that turns the AgentTeams Dashboard into the OpsKeeper plugin console. It exposes five extension points and an HTTP API for the file-system PluginRegistry.
Extension points
sidebar-menu— add a navigation entryroute— mount a plugin routedashboard-widget— render a widget on the dashboarddetail-panel— attach a panel to a detail viewtoolbar— add a toolbar action
Registry limits
- 10 MB upload zip
- 50 MB extracted size
- 1000 files per package
- Zip-slip protection on extraction
opskeeper-teamharness
The worker-side plugin. It exposes OpsKeeper's capabilities to any worker that speaks stdio MCP — Bearer + HMAC + W3C traceparent auth, 17 tools, FastAPI HTTP router for plugin lifecycle.
teamharness
# Build the plugin package
bash plugins/opskeeper-teamharness/scripts/build-package.sh
# Run the plugin tests
python3 -m unittest discover -s plugins/opskeeper-teamharness -p 'test_*.py'
# Serve the stdio MCP proxy
opskeeper-teamharness serve \
--mcp-transport stdio \
--opskeeper-endpoint http://localhost:8090 \
--hmac-secret "$OPSKEEPER_PLUGIN_HMAC"MCP tools
The 17 tools exposed by opskeeper-teamharness:
loop.investigate— trigger RCA on an incidentloop.correlate— correlate alerts into an incidentrecovery.verify— independent recovery verificationrecovery.execute— narrowly-authorized repair actionmetric.query— query the metrics backendincident.list/incident.get— incident memorypostgres.analyze_status— PostgreSQL status snapshothost.get_load/host.get_processes/host.restart_serviceknowledge.query/knowledge.write— knowledge vaulthitl.decide— human-in-the-loop decisionstate.put/state.get— shared stateincident.record— append evidence / recovery signals to the timeline
Authentication
- Bearer — short-lived JWT for the HTTP API.
- HMAC — every plugin call is signed with the shared secret. The signature covers method, path, and body.
- W3C traceparent — propagated across stdio MCP boundaries.
Verifying plugins
verify
make build-plugins
make test-plugins
make verify-plugins