Every command has a nautical name and a standard alias. Use whichever you prefer.Documentation Index
Fetch the complete documentation index at: https://docs.harbormcp.ai/llms.txt
Use this file to discover all available pages before exploring further.
harbor dock
Alias:
harbor addNative servers
Dock a server from Harbor’s built-in catalog with a single command:| Flag | Description |
|---|---|
<native-id> | Server id from the catalog (e.g., github, slack, filesystem) |
--name | Override the default server name |
--skip-auth | Dock now, authorize later |
--disabled | Keep moored (disabled) initially |
--auto-start | Start automatically when Harbor launches |
-- <args> | Extra arguments appended after the catalog defaults |
Custom stdio servers
| Flag | Description |
|---|---|
--name | Unique name for the server |
--command | Executable to run (e.g., npx, node, python) |
--args | Arguments to pass (comma-separated for multiple) |
--env | Environment variables (supports vault:KEY references) |
--auto-start | Start automatically when Harbor launches |
--disabled | Keep moored (disabled) initially |
Custom remote (HTTP) servers
| Flag | Description |
|---|---|
--name | Unique name for the server |
--url | URL of the remote MCP HTTP endpoint |
-H, --header | Custom HTTP headers (KEY:VALUE, can be repeated) |
--env | Environment variables (supports vault:KEY references) |
harbor undock
Alias:
harbor removeharbor fleet
Alias:
harbor list| Flag | Description |
|---|---|
--host | Filter servers bound to a specific host (optional) |
harbor launch
Alias:
harbor startharbor manifest
Alias:
harbor statusharbor signal
Alias:
harbor syncSyncing happens automatically when you dock, undock, toggle, or connect a host. You only need
harbor signal to force a manual re-sync.| Flag | Description |
|---|---|
--host | Sync only to a specific host (optional) |
harbor port
Alias:
harbor hostclaude, claude-desktop, codex, vscode, cursor
harbor lighthouse
Alias:
harbor gateway| Flag | Description |
|---|---|
--port | Port to listen on (default: 3100) |
--host | IP to bind to (default: 127.0.0.1) |
--expose | Shorthand for --host 0.0.0.0 (expose to network) |
--token | Bearer token required for remote (non-localhost) access |
harbor publish
Alias:
harbor broadcast| Flag | Default | Description |
|---|---|---|
--relay | relay.harbormcp.ai | Relay server address (hostname or host:port) |
--subdomain | auto-assigned | Requested subdomain (e.g. myname → myname.relay.harbormcp.ai) |
--relay-key | auto-fetched | Relay’s public key (hex) — required for self-hosted relays |
--transport | quic | Transport to use: quic (default) or cloudflare |
--port | from config | Local gateway port to tunnel (default: 3100) |
--tools | all | Comma-separated tool allowlist for remote access |
harbor relay
Run a self-hosted Harbor relay server.| Flag | Default | Description |
|---|---|---|
--quic-port | 7800 | Port for QUIC tunnel listener (UDP) |
--https-port | 8443 | Port for HTTPS frontend (TCP) |
--domain | relay.harbormcp.ai | Domain for subdomain routing |
--keypair-file | /data/harbor-relay/keypair | Path to persist the relay keypair |
--print-key | — | Print the relay’s public key and exit |
--auth-token | — | Require this token from all tunnel clients |
harbor cargo
Alias:
harbor filterharbor scout
Alias:
harbor searchharbor chest
Alias:
harbor vaultharbor crew
Alias:
harbor teamvault:KEY_NAME references are committed.
See the team sync guide for a full walkthrough.
harbor crew init
Initialize~/.harbor/fleet/ as a git repository. Optionally links a remote so teammates can clone the same fleet.
| Flag | Description |
|---|---|
--git | Git remote URL (SSH or HTTPS) to push/pull the fleet config |
harbor crew join
Join an existing team fleet by cloning its git repository and auto-merging its servers into your local config.harbor crew push
Push local fleet-managed servers to the shared repository. Pass server names to mark local servers as fleet-managed before pushing.| Flag | Description |
|---|---|
<servers> | Names of local servers to mark as fleet-managed and include |
-m, --message | Commit message (default: "Update fleet config") |
harbor crew pull
Fetch upstream changes and 3-way merge fleet servers into your local config.| Flag | Description |
|---|---|
--dry-run | Preview what would change without applying anything |
Servers you have edited locally since the last pull will be skipped (
locally modified). Harbor never silently overwrites your changes. To accept the upstream version, run harbor undock <name> then harbor crew pull. To share your version instead, run harbor crew push <name>.harbor crew status
Show local vs fleet drift — git sync status (ahead/behind) and per-server state.harbor crew provision
Prompt for vault secrets required by fleet servers that aren’t yet stowed locally.| Flag | Description |
|---|---|
--dry-run | Show missing keys without prompting for values |
harbor scuttle
Alias:
harbor uninstall| Flag | Description |
|---|---|
--purge | Also remove ~/.harbor/ config directory and vault secrets |
--dry-run | Preview what would be removed without making changes |
-y, --yes | Skip the confirmation prompt |
- macOS / Linux
- Windows
harbor update
Update Harbor to the latest version. Checks GitHub releases, downloads the appropriate binary for your platform, verifies the SHA256 checksum, and replaces the current binary.Flags
| Flag | Description |
|---|---|
--check | Just check for updates without installing |
-y, --yes | Skip the confirmation prompt |

