MCP server for Harbor Registry — projects, repositories, artifacts, storage reports, cleanup candidates. Works with any Harbor 2.x instance.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add harbor-registry --env HARBOR_URL='<HARBOR_URL>' --env HARBOR_USERNAME='<HARBOR_USERNAME>' --env HARBOR_PASSWORD='<HARBOR_PASSWORD>' -- uvx harbor-registry-mcp~/.codex/config.toml
[mcp_servers.harbor-registry]
command = "uvx"
args = ["harbor-registry-mcp"]
env = { HARBOR_URL = "<HARBOR_URL>", HARBOR_USERNAME = "<HARBOR_USERNAME>", HARBOR_PASSWORD = "<HARBOR_PASSWORD>" }
# codex mcp add harbor-registry --env HARBOR_URL='<HARBOR_URL>' --env HARBOR_USERNAME='<HARBOR_USERNAME>' --env HARBOR_PASSWORD='<HARBOR_PASSWORD>' -- uvx harbor-registry-mcp~/.cursor/mcp.json
{
"mcpServers": {
"harbor-registry": {
"command": "uvx",
"args": [
"harbor-registry-mcp"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"harbor-registry": {
"type": "stdio",
"command": "uvx",
"args": [
"harbor-registry-mcp"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"harbor-registry": {
"command": "uvx",
"args": [
"harbor-registry-mcp"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"harbor-registry": {
"command": "uvx",
"args": [
"harbor-registry-mcp"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"harbor-registry": {
"command": "uvx",
"args": [
"harbor-registry-mcp"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>"
}
}
}
}Environment variables
HARBOR_URLHARBOR_USERNAMEHARBOR_PASSWORD
Replace the placeholders with your own credentials and keep them out of version control.