Harbor
Concepts

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 plugin

plugins 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).

On this page