Plugins
What plugins are and how agents call them.
Plugins
A plugin is a registered tool that agents call through harbor p.<slug>. Operators manage plugin setup in the dashboard. Each plugin has a slug, a class, a category, and optional auth requirements.
Plugin classes
api — backed by an OpenAPI spec. Harbor exposes each API operation as a callable tool. Agent calls are forwarded with credentials injected server-side.
mcp — backed by a remote MCP server. Harbor connects, discovers tools, and forwards JSON-RPC calls. MCP plugin slugs include mcp. (e.g. mcp.linear).
cli — a local binary that runs on the agent's machine via the daemon.
Execution flow
harbor p.modal volume list
│
▼
CLI sends to local daemon via IPC
│
▼
Daemon forwards to Harbor API with daemon token
│
▼
Harbor API checks lease
│
├─ lease exists → execute plugin, return result
└─ no lease → return error with hint:
"ask your operator to grant a lease, or run: harbor request <plugin>"Discovery
harbor status # plugins grouped by status (ready/needs_lease/missing_secrets/mcp_disconnected)
harbor plugins # list all plugins with slug, name, description
harbor plugins tools <slug> # show tools, methods, paths, parameters for a pluginplugins tools supports suffix matching — harbor plugins tools linear matches mcp.linear.
Running
harbor p.<slug> [args...]
harbor p.modal volume list
harbor p.exa search --query "test"
harbor p.mcp.linear create_issue --title "Bug"If no args are passed, Harbor sends --help by default.
Requesting access
If harbor status shows a plugin as needs_lease:
harbor request <slug>
harbor request modal --reason "need for batch jobs"The operator sees the request in the dashboard Approvals section and can approve it, optionally with an expiry (1 hour, 24 hours, 7 days, or forever).