MCP Harbor
MCPハーバー
MCP Harborは、Harborコンテナレジストリと連携するためのModel Context Protocol(MCP)サーバーを提供するNode.jsアプリケーションです。また、Harbor操作用のREST APIも含まれています。
目次
Related MCP server: Hedera MCP Server
特徴
MCP サーバー: モデルコンテキストプロトコルを介して Harbor と対話するためのツールを公開します。
REST API : Harbor操作用のRESTfulエンドポイントを提供します
Harbor Operations : プロジェクト、リポジトリ、タグ、Helm チャートの操作をサポートします
TypeScript : 型安全性と開発者エクスペリエンスを向上させるために TypeScript で記述されています
自動テスト: 信頼性の高い機能のための包括的なテストスイート
前提条件
MCP Harbor をインストールする前に、次のものを用意してください。
Node.js 18.x 以上
npm 8.x以上
Harborレジストリインスタンスへのアクセス
Git(リポジトリのクローン作成用)
インストール
リポジトリをクローンします。
git clone https://github.com/nomagicln/mcp-harbor.gitプロジェクト ディレクトリに移動します。
cd mcp-harbor依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run buildアプリケーションを起動します。
npm start
構成
環境変数
次の変数を含む.envファイルをルート ディレクトリに作成します。
# Required
HARBOR_URL=https://your-harbor-instance.com
HARBOR_USERNAME=your_username
HARBOR_PASSWORD=your_password
# Optional
PORT=3000 # Server port (default: 3000)
LOG_LEVEL=info # Logging level (default: info)
ENABLE_HTTPS=false # Enable HTTPS (default: false)
SSL_CERT_PATH=/path/to/cert.pem # Required if ENABLE_HTTPS=true
SSL_KEY_PATH=/path/to/key.pem # Required if ENABLE_HTTPS=true設定ファイル
追加の構成オプションはsrc/config/harbor.config.tsで設定できます。
{
timeout: 30000, // API request timeout in milliseconds
retryAttempts: 3, // Number of retry attempts for failed requests
cacheEnabled: true, // Enable response caching
cacheTTL: 300 // Cache TTL in seconds
}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 サーバーは次のツールを公開します。
ツール名 | 説明 | パラメータ |
| Harborのすべてのプロジェクトを一覧表示する | なし |
| IDでプロジェクトの詳細を取得する |
|
| 新しいプロジェクトを作成する |
|
| プロジェクトを削除する |
|
| プロジェクト内のリポジトリを一覧表示する |
|
| リポジトリを削除する |
|
| リポジトリ内のタグを一覧表示する |
|
| タグを削除する |
|
| Helm チャートの一覧表示 |
|
| チャートのバージョンを一覧表示する |
|
| チャートのバージョンを削除 |
|
発達
開発モードで実行
npm run devテストの実行
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run specific test file
npm test -- test/harbor.test.tsデバッグツール
プロジェクトには、 toolsディレクトリにデバッグ ツールが含まれています。
# Test Harbor connection
npm run test:connection
# Start debug server
npm run debug:serverプロジェクト構造
mcp-harbor
├── src
│ ├── app.ts # Main application entry point (MCP server)
│ ├── config
│ │ └── harbor.config.ts # Harbor configuration
│ ├── controllers
│ │ └── harbor.controller.ts # REST API controllers
│ ├── services
│ │ └── harbor.service.ts # Harbor service implementation
│ ├── models
│ │ └── harbor.model.ts # Data models
│ ├── routes
│ │ └── harbor.routes.ts # API route definitions
│ └── types
│ └── index.ts # TypeScript type definitions
├── test
│ └── harbor.test.ts # Tests for Harbor service
├── tools
│ ├── debug-server.ts # Debug server implementation
│ └── test-connection.ts # Connection testing utility
├── .env.example # Example environment variables
├── .gitignore # Git ignore file
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentationトラブルシューティング
よくある問題
接続に失敗しました
Error: Unable to connect to Harbor instanceHARBOR_URLが正しくアクセス可能であることを確認してください
ネットワーク接続を確認する
Harborインスタンスが実行中であることを確認する
認証に失敗しました
Error: Invalid credentialsHARBOR_USERNAMEとHARBOR_PASSWORDが正しいことを確認してください
ユーザーに必要な権限があるかどうかを確認する
ビルドエラー
Error: TypeScript compilation failednpm install実行して、すべての依存関係がインストールされていることを確認します。TypeScriptバージョンの互換性を確認する
distディレクトリをクリアして再構築する
デバッグモード
次の設定によりデバッグ ログを有効にします。
LOG_LEVEL=debugサポート
さらに詳しいヘルプについては、以下をご覧ください。
DEBUG.mdファイルを確認する
接続テストを実行します:
npm run test:connectionlogs/ディレクトリ内のアプリケーションログを確認する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nomagicln/mcp-harbor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server