Universal MCP Hub — discover, install, run, and sync MCP servers across every host.
Website · Docs · Download · Discussions · Issues
Harbor is a desktop app and CLI that manages MCP (Model Context Protocol) servers from a single place. Instead of editing JSON and TOML configs by hand across every host, you dock servers once and Harbor syncs them everywhere.
- One config, every host — sync to Claude Code, Codex, VS Code, and Cursor simultaneously
- Marketplace — search and install MCP servers from the MCP Registry without leaving the app
- Secret vault — store API keys in your OS keychain, reference them as
vault:SECRET_NAME - HTTP/SSE gateway — expose your MCP servers over HTTP for remote access and tool discovery
- Desktop + CLI — full GUI built with Tauri, or use the CLI for automation and scripting
- Safe merges — Harbor never overwrites your host configs, it merges its servers in alongside yours
curl -fsSL https://harbormcp.ai/install.sh | shOn macOS this installs the desktop app and CLI together. On Linux it installs the CLI.
You can also download the desktop app directly for macOS, Windows, and Linux.
# Dock a server
harbor dock --name memory --command npx --args @modelcontextprotocol/server-memory
# Sync to all connected hosts
harbor signal
# Check your fleet
harbor fleetHarbor uses a nautical theme — every command has a standard alias if you prefer.
| Command | Alias | Description |
|---|---|---|
harbor dock |
add |
Dock a new MCP server into the harbor |
harbor undock |
remove |
Undock a server and cast it off |
harbor fleet |
list |
Review your fleet of docked servers |
harbor launch |
start |
Launch a server out to sea |
harbor manifest |
status |
Read the harbor manifest |
harbor signal |
sync |
Signal connected hosts to update their charts |
harbor lighthouse |
gateway |
Light the lighthouse (HTTP/SSE gateway) |
harbor scout |
search |
Scout the seas for MCP servers |
harbor chest |
vault |
Open the treasure chest (secret vault) |
harbor scuttle |
uninstall |
Scuttle the ship (uninstall Harbor) |
| Host | Config File | Sync Key |
|---|---|---|
| Claude Code | ~/.claude.json |
mcpServers |
| Codex | ~/.codex/config.toml |
mcp_servers |
| VS Code | .vscode/mcp.json |
servers |
| Cursor | ~/.cursor/mcp.json |
mcpServers |
Harbor stores its config at ~/.harbor/config.toml. You can edit it directly or manage everything through the app and CLI.
Store secrets in your OS keychain and reference them in server environment variables:
# Store a secret
harbor chest set OPENAI_API_KEY sk-...
# Reference it in a server
harbor dock --name my-server --command npx --args my-mcp-server \
--env OPENAI_API_KEY=vault:OPENAI_API_KEYVault references are resolved at sync time — your secrets never end up in plain-text config files.
Start an HTTP/SSE gateway to expose your MCP servers over the network:
harbor lighthouse --port 3100This starts a server with endpoints for tool discovery (GET /tools), JSON-RPC (POST /mcp), and server-sent events (GET /sse).
Harbor is a Rust workspace with three crates:
harbor-core Core library — config, connectors, gateway, vault, marketplace
harbor-cli CLI binary — clap-based command interface
harbor-desktop Desktop app — Tauri v2 shell wrapping the React frontend
Tech stack: Rust, Tauri v2, React 19, TypeScript, Tailwind CSS, Axum
git clone https://github.com/JoshuaShunk/Harbor.git
cd Harbor
# Install frontend dependencies
cd ui && npm ci && npm run build && cd ..
# Run in development
cd crates/harbor-desktop && cargo tauri dev
# Or build for production
cd crates/harbor-desktop && cargo tauri buildcargo build --release -p harbor-cliContributions are welcome! Please read the Contributing Guide before submitting a pull request.