remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides tools for interacting with Harbor container registry, enabling operations on projects, repositories, tags, and Helm charts such as listing, creating, and deleting resources.
Enables management of Helm charts within Harbor registry, including listing available charts, viewing chart versions, and deleting chart versions.
MCPハーバー
MCP Harborは、Harborコンテナレジストリと連携するためのModel Context Protocol(MCP)サーバーを提供するNode.jsアプリケーションです。また、Harbor操作用のREST APIも含まれています。
目次
特徴
- MCP サーバー: モデルコンテキストプロトコルを介して Harbor と対話するためのツールを公開します。
- REST API : Harbor操作用のRESTfulエンドポイントを提供します
- Harbor Operations : プロジェクト、リポジトリ、タグ、Helm チャートの操作をサポートします
- TypeScript : 型安全性と開発者エクスペリエンスを向上させるために TypeScript で記述されています
- 自動テスト: 信頼性の高い機能のための包括的なテストスイート
前提条件
MCP Harbor をインストールする前に、次のものを用意してください。
- Node.js 18.x 以上
- npm 8.x以上
- Harborレジストリインスタンスへのアクセス
- Git(リポジトリのクローン作成用)
インストール
- リポジトリをクローンします。Copy
- プロジェクト ディレクトリに移動します。Copy
- 依存関係をインストールします:Copy
- プロジェクトをビルドします。Copy
- アプリケーションを起動します。Copy
構成
環境変数
次の変数を含む.env
ファイルをルート ディレクトリに作成します。
設定ファイル
追加の構成オプションはsrc/config/harbor.config.ts
で設定できます。
APIエンドポイント
プロジェクト
GET /projects
- すべてのプロジェクトを一覧表示するGET /projects/:id
- プロジェクトの詳細を取得するPOST /projects
- 新しいプロジェクトを作成するDELETE /projects/:id
- プロジェクトを削除する
リポジトリ
GET /projects/:projectId/repositories
- プロジェクト内のリポジトリを一覧表示するDELETE /projects/:projectId/repositories/:repositoryName
- リポジトリを削除する
タグ
GET /projects/:projectId/repositories/:repositoryName/tags
- リポジトリ内のタグを一覧表示するDELETE /projects/:projectId/repositories/:repositoryName/tags/:tag
- タグを削除する
Helmチャート
GET /projects/:projectId/charts
- プロジェクト内のHelmチャート一覧を取得するGET /projects/:projectId/charts/:chartName/versions
- Helm チャートのバージョンを一覧表示するDELETE /projects/:projectId/charts/:chartName/versions/:version
- Helm チャートのバージョンを削除します
MCPツール
MCP サーバーは次のツールを公開します。
ツール名 | 説明 | パラメータ |
---|---|---|
list_projects | Harborのすべてのプロジェクトを一覧表示する | なし |
get_project | IDでプロジェクトの詳細を取得する | id: number |
create_project | 新しいプロジェクトを作成する | name: string, public?: boolean |
delete_project | プロジェクトを削除する | id: number |
list_repositories | プロジェクト内のリポジトリを一覧表示する | projectId: number |
delete_repository | リポジトリを削除する | projectId: number, repoName: string |
list_tags | リポジトリ内のタグを一覧表示する | projectId: number, repoName: string |
delete_tag | タグを削除する | projectId: number, repoName: string, tag: string |
list_charts | Helm チャートの一覧表示 | projectId: number |
list_chart_versions | チャートのバージョンを一覧表示する | projectId: number, chartName: string |
delete_chart | チャートのバージョンを削除 | projectId: number, chartName: string, version: string |
発達
開発モードで実行
テストの実行
デバッグツール
プロジェクトには、 tools
ディレクトリにデバッグ ツールが含まれています。
プロジェクト構造
トラブルシューティング
よくある問題
- 接続に失敗しましたCopy
- HARBOR_URLが正しくアクセス可能であることを確認してください
- ネットワーク接続を確認する
- Harborインスタンスが実行中であることを確認する
- 認証に失敗しましたCopy
- HARBOR_USERNAMEとHARBOR_PASSWORDが正しいことを確認してください
- ユーザーに必要な権限があるかどうかを確認する
- ビルドエラーCopy
npm install
実行して、すべての依存関係がインストールされていることを確認します。- TypeScriptバージョンの互換性を確認する
dist
ディレクトリをクリアして再構築する
デバッグモード
次の設定によりデバッグ ログを有効にします。
サポート
さらに詳しいヘルプについては、以下をご覧ください。
- DEBUG.mdファイルを確認する
- 接続テストを実行します:
npm run test:connection
logs/
ディレクトリ内のアプリケーションログを確認する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
Harbor コンテナ レジストリと対話するためのモデル コンテキスト プロトコル サーバーを提供し、プロジェクト、リポジトリ、タグ、Helm チャートに対する操作をサポートする Node.js アプリケーション。