mcpField
H
Harbor

Harbor

ローカル
oreonit.comクラウド・インフラ02 日前に更新

Harbor について

Harbor は、稼働中の Harbor コンテナレジストリを調査する読み取り専用 MCP サーバーです。AI アシスタントでレジストリの設定や状態を確認するチーム向けで、プロジェクト、アーティファクト、脆弱性、アクセス、レプリケーション、Webhook、ガベージコレクションを扱います。

主な機能

  1. 01プロジェクト、クォータ、リポジトリの確認
  2. 02アーティファクトとスキャン脆弱性の確認
  3. 03メンバーとロボットアカウントの一覧表示
  4. 04レジストリとレプリケーション状態の確認
  5. 05Webhook とガベージコレクション予定の表示
  6. 06stdio または Streamable HTTP で実行

活用シーン

  1. 01プロジェクトのクォータと設定を確認
  2. 02アーティファクトの脆弱性検出結果を確認
  3. 03レジストリのメンバーとロボット権限を監査
  4. 04レプリケーションとガベージコレクションを監視

MCP 対応

Harbor のプロジェクト、リポジトリ、アーティファクト、脆弱性、アクセス、レプリケーション、Webhook、ガベージコレクションを照会する読み取り専用ツールを 12 種類提供します。MCP クライアントは stdio または Streamable HTTP で接続でき、HTTP モードではベアラートークン認証を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"oreondev-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.2.0"
],
"env": {
"HARBOR_URL": "<HARBOR_URL>",
"HARBOR_USERNAME": "<HARBOR_USERNAME>",
"HARBOR_PASSWORD": "<HARBOR_PASSWORD>",
"HARBOR_INSECURE_SKIP_VERIFY": "<HARBOR_INSECURE_SKIP_VERIFY>",
"HARBOR_MCP_RATE": "<HARBOR_MCP_RATE>"
}
}
}
}
起動コマンド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.2.0
設定が必要な環境変数
HARBOR_URLHarbor base URL, for example https://harbor.example.com
HARBOR_USERNAMEHarbor user or robot account; a read-only system robot is recommended
HARBOR_PASSWORDシークレットPassword or robot secret
HARBOR_INSECURE_SKIP_VERIFYSet to true to skip TLS verification of Harbor
HARBOR_MCP_RATERequests per second to Harbor

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/oreondev/harbor-mcp:0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Harbor MCP サーバー

オープンソースのコンテナーレジストリである Harbor 向けの Model Context Protocol サーバーです。Claude、Cursor、VS Code などの AI アシスタントが、稼働中の Harbor について、プロジェクトやクォータ、リポジトリやアーティファクト、脆弱性スキャン結果、ロボットアカウント、レプリケーションの状態、ガベージコレクションに関する質問に回答できるようにします。

ドキュメント:https://www.oreonit.com/harbor-mcp/

これは独立したコミュニティプロジェクトです。Harbor プロジェクトや CNCF とは提携しておらず、承認も受けていません。Harbor は The Linux Foundation の商標です。

ステータス

リリースごとの変更はリリースノートに記載されています。12 個の読み取りツールは stdio とストリーミング可能な HTTP で動作し、フェイク Harbor、プルリクエストごとの Harbor 2.15、および毎晩実行される Harbor 2.12 から 2.15 のテストで、管理者として、また下記の読み取り専用ロボットとして検証されています。設計についてはdocs/DESIGN.mdをご覧ください。

  • 読み取り専用:プロジェクト、リポジトリ、アーティファクト、脆弱性、ロボット、メンバー、レジストリ、レプリケーション、Webhook、ガベージコレクションを対象とする 12 個のツールがあります。書き込みツール(スキャン、レプリケーションの開始、ラベルの追加、プロジェクトの作成)は、明示的なオプトインがある場合に限り、後日追加される予定です。データを削除するツールはありません。
  • シークレットが会話に含まれることはありません。Harbor の認証情報、ロボットのシークレット、Webhook の認可ヘッダーは、ツールの結果、ログ、エラーのいずれにも表示されません。
  • デスクトップクライアント向けの stdio と、クラスターでの実行向けのベアラートークン付きストリーミング可能 HTTP に対応しています。
  • 署名済みのマルチアーキテクチャイメージ ghcr.io/oreondev/harbor-mcp は、公式 MCP Registry に io.github.oreondev/harbor-mcp として登録されています。
  • Harbor のプロジェクト、ロボットアカウント、レプリケーションをコードとして管理する Kubernetes オペレーター、harbor-resource-operator の Harbor クライアントを使用しています。

ツール

ツール回答する内容
harbor_system_infoHarbor のバージョン、認証モード、サーバーが動作しているユーザーまたはロボット
harbor_list_projects、harbor_get_projectプロジェクト、および 1 つのプロジェクトのクォータ、CVE 許可リスト、保持ポリシー、不変性
harbor_list_repositories、harbor_list_artifactsリポジトリ、およびタグ、サイズ、プッシュ時刻とプル時刻、スキャン概要を含むアーティファクト
harbor_get_vulnerabilities1 つのアーティファクトの脆弱性(深刻度の高い順)
harbor_list_members、harbor_list_robotsアクセス権を持つユーザー:ロール付きのメンバー、権限と有効期限付きのロボットアカウント
harbor_list_registries、harbor_list_replicationsレプリケーションのエンドポイントとポリシー、および直近の実行
harbor_list_webhooks、harbor_get_gcWebhook ポリシー、ガベージコレクションのスケジュール

読み取り専用の Harbor ID を設定する

読み取りのみ可能なシステムロボットアカウントとしてサーバーを実行します。docs/read-only-robot.jsonは、ツールに必要な権限を設定した Harbor API のリクエスト本文です(エンドツーエンドテストでも同じファイルを使用します)。

curl -u admin -H 'Content-Type: application/json' -d @docs/read-only-robot.json \
  https://harbor.example.com/api/v2.0/robots

Harbor がシークレットを表示するのはレスポンス内の 1 回だけです。ユーザー名は robot$harbor-mcp です。管理者アカウントも使用できますが、アシスタントに必要以上の権限を与えることになります。

使い方

設定は環境変数から取得します。HARBOR_CA_FILE を除く各変数は、マウントされたシークレット用に、<NAME>_FILE で指定した名前のファイルから読み込むこともできます。

変数意味
HARBOR_URLHarbor のベース URL。例:https://harbor.example.com(必須)
HARBOR_USERNAME, HARBOR_PASSWORDロボット名とシークレット(必須)
HARBOR_CA_FILEHarbor の証明書用の追加 CA バンドル(PEM)
HARBOR_INSECURE_SKIP_VERIFYHarbor の TLS 検証をスキップする場合は true
HARBOR_MCP_RATEHarbor へのリクエスト数/秒。デフォルトは 10
HARBOR_MCP_HTTP_TOKENHTTP モード用のベアラートークン

ワンクリックでインストールできます(クライアントで URL と認証情報を入力するか、あとから設定します)。

VS Code にインストール Cursor に追加

イメージを使う Claude Code(0.1.1 は最新リリースに置き換えてください):

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

mcpServers ファイルを読み込む Claude Desktop、Cursor、その他のクライアント:

{
  "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": "..."
      }
    }
  }
}

Docker を使わない場合は、リリースからバイナリをダウンロードするか(go install github.com/oreondev/harbor-mcp/cmd/harbor-mcp@latest)、コマンドとして harbor-mcp を使用してください。

HTTP モード

Harbor の隣に配置する Deployment などの共有サーバーでは、-http とトークンを指定して起動します。

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 は /mcp で提供され、すべてのリクエストにトークンが必要です。プローブ用の GET /healthz は認証不要です。トークンを指定しない場合、サーバーはループバックアドレスのみでリッスンします。TLS を前段に配置してください(イングレスまたはメッシュ)。

イメージを検証する
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

メンテナー

Oreon IT がメンテナンスしています。Issue とプルリクエストを歓迎します。

セキュリティ

脆弱性は非公開で報告してください。SECURITY.md を参照してください。

ライセンス

Apache-2.0。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。