Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read-only access to a Harbor registry: projects, artifacts, vulnerabilities, robots and replication.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
HARBOR_URL, HARBOR_USERNAME, HARBOR_PASSWORD, HARBOR_INSECURE_SKIP_VERIFY, HARBOR_MCP_RATE「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"harbor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "your-value",
"HARBOR_USERNAME": "your-value",
"HARBOR_PASSWORD": "your-value",
"HARBOR_INSECURE_SKIP_VERIFY": "your-value",
"HARBOR_MCP_RATE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add harbor --env HARBOR_URL=your-value --env HARBOR_USERNAME=your-value --env HARBOR_PASSWORD=your-value --env HARBOR_INSECURE_SKIP_VERIFY=your-value --env HARBOR_MCP_RATE=your-value -- docker run -i --rm -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD -e HARBOR_INSECURE_SKIP_VERIFY -e HARBOR_MCP_RATE ghcr.io/oreondev/harbor-mcp:0.1.1動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"harbor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "your-value",
"HARBOR_USERNAME": "your-value",
"HARBOR_PASSWORD": "your-value",
"HARBOR_INSECURE_SKIP_VERIFY": "your-value",
"HARBOR_MCP_RATE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"harbor": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "your-value",
"HARBOR_USERNAME": "your-value",
"HARBOR_PASSWORD": "your-value",
"HARBOR_INSECURE_SKIP_VERIFY": "your-value",
"HARBOR_MCP_RATE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
HARBOR_INSECURE_SKIP_VERIFY envHARBOR_MCP_RATE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント oreondev で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:HARBOR_URL, HARBOR_USERNAME, HARBOR_PASSWORD
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは昨日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Systemdox
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol server for Harbor, the open-source container registry. It lets AI assistants such as Claude, Cursor and VS Code answer questions about a running Harbor: projects and quotas, repositories and artifacts, vulnerability scan results, robot accounts, replication health and garbage collection.
Documentation: https://www.oreonit.com/harbor-mcp/
This is an independent community project. It is not affiliated with or endorsed by the Harbor project or the CNCF; Harbor is a trademark of The Linux Foundation.
Changes per release are in the release notes. The twelve read tools work over stdio and streamable HTTP, and are tested against a fake Harbor, Harbor 2.15 on every pull request and Harbor 2.12 to 2.15 nightly, as an administrator and as the read-only robot below. The design is in docs/DESIGN.md.
ghcr.io/oreondev/harbor-mcp, listed in the official MCP Registry as io.github.oreondev/harbor-mcp.| Tool | Answers |
|---|---|
harbor_system_info | Harbor version, authentication mode, and the user or robot the server acts as |
harbor_list_projects, harbor_get_project | projects; quota, CVE allowlist, retention and immutability of one |
harbor_list_repositories, harbor_list_artifacts | repositories; artifacts with tags, size, push and pull times and scan summary |
harbor_get_vulnerabilities | the vulnerabilities of one artifact, worst first |
harbor_list_members, harbor_list_robots | who has access: members with roles, robot accounts with permissions and expiry |
harbor_list_registries, harbor_list_replications | replication endpoints and policies, with the last run |
harbor_list_webhooks, harbor_get_gc | webhook policies; the garbage collection schedule |
Run the server as a system robot account that can only read. docs/read-only-robot.json is the request body for Harbor's API, with the permissions the tools need (the end-to-end tests use the same file):
curl -u admin -H 'Content-Type: application/json' -d @docs/read-only-robot.json \
https://harbor.example.com/api/v2.0/robots
Harbor shows the secret once, in the response; the user name is robot$harbor-mcp. An administrator account also works, but gives the assistant more than it needs.
Configuration comes from environment variables; each except HARBOR_CA_FILE can instead be read from a file named by _FILE, for mounted secrets:
| Variable | Meaning |
|---|---|
HARBOR_URL | Harbor base URL, for example https://harbor.example.com (required) |
HARBOR_USERNAME, HARBOR_PASSWORD | the robot name and secret (required) |
HARBOR_CA_FILE | extra CA bundle (PEM) for Harbor's certificate |
HARBOR_INSECURE_SKIP_VERIFY | true to skip TLS verification of Harbor |
HARBOR_MCP_RATE | requests per second to Harbor, default 10 |
HARBOR_MCP_HTTP_TOKEN | bearer token for HTTP mode |
One-click install (the client asks for the URL and credentials, or you fill them in afterwards):
Claude Code, with the image (replace 0.1.1 with the latest release):
claude mcp add harbor -e HARBOR_URL=https://harbor.example.com -e 'HARBOR_USERNAME=robot$harbor-mcp' -e HARBOR_PASSWORD=... \
-- docker run -i --rm -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD ghcr.io/oreondev/harbor-mcp:0.1.1
Claude Desktop, Cursor and other clients that read an mcpServers file:
{
"mcpServers": { "harbor": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "HARBOR_URL", "-e", "HARBOR_USERNAME", "-e", "HARBOR_PASSWORD", "ghcr.io/oreondev/harbor-mcp:0.1.1"], "env": { "HARBOR_URL": "https://harbor.example.com", "HARBOR_USERNAME": "robot$harbor-mcp", "HARBOR_PASSWORD": "..." } } } }
Without Docker, download a binary from the releases (or go install github.com/oreondev/harbor-mcp/cmd/harbor-mcp@latest) and use harbor-mcp as the command.
For a shared server, for example a Deployment next to Harbor, start it with -http and a token:
docker run -d -p 8080:8080 -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD -e HARBOR_MCP_HTTP_TOKEN \
ghcr.io/oreondev/harbor-mcp:0.1.1 -http :8080 claude mcp add --transport http harbor https://harbor-mcp.example.com/mcp -H "Authorization: Bearer $HARBOR_MCP_HTTP_TOKEN"
MCP is served at /mcp and every request needs the token; GET /healthz is open for probes. Without a token the server only listens on a loopback address. Put TLS in front of it (an ingress or a mesh).
cosign verify ghcr.io/oreondev/harbor-mcp:0.1.1 \
--certificate-identity-regexp '^https://github.com/oreondev/harbor-mcp/\.github/workflows/release\.yml@' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com
Maintained by Oreon IT. Issues and pull requests are welcome.
Report vulnerabilities privately; see SECURITY.md.
Apache-2.0.