Skip to main content
Glama

MCPハーバー

ライセンス: MIT タイプスクリプト Node.js

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(リポジトリのクローン作成用)

インストール

  1. リポジトリをクローンします。

    git clone https://github.com/nomagicln/mcp-harbor.git
  2. プロジェクト ディレクトリに移動します。

    cd mcp-harbor
  3. 依存関係をインストールします:

    npm install
  4. プロジェクトをビルドします。

    npm run build
  5. アプリケーションを起動します。

    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 サーバーは次のツールを公開します。

ツール名

説明

パラメータ

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

発達

開発モードで実行

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

トラブルシューティング

よくある問題

  1. 接続に失敗しました

    Error: Unable to connect to Harbor instance
    • HARBOR_URLが正しくアクセス可能であることを確認してください

    • ネットワーク接続を確認する

    • Harborインスタンスが実行中であることを確認する

  2. 認証に失敗しました

    Error: Invalid credentials
    • HARBOR_USERNAMEとHARBOR_PASSWORDが正しいことを確認してください

    • ユーザーに必要な権限があるかどうかを確認する

  3. ビルドエラー

    Error: TypeScript compilation failed
    • npm install実行して、すべての依存関係がインストールされていることを確認します。

    • TypeScriptバージョンの互換性を確認する

    • distディレクトリをクリアして再構築する

デバッグモード

次の設定によりデバッグ ログを有効にします。

LOG_LEVEL=debug

サポート

さらに詳しいヘルプについては、以下をご覧ください。

  1. DEBUG.mdファイルを確認する

  2. 接続テストを実行します: npm run test:connection

  3. logs/ディレクトリ内のアプリケーションログを確認する

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

A
license - permissive license
-
quality - not tested
F
maintenance

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