mcpField
W
WHM Management Control Panel (MCP)

WHM Management Control Panel (MCP)

リモート
github.com/hosthobbitクラウド・インフラ125 日前に更新
リポジトリ

WHM Management Control Panel (MCP) について

WHMサーバーに接続し、AIアシスタントによるアカウントとサーバーの管理を可能にするNode.js製MCPサーバーです。アカウント、サーバーの状態と保守、ドメイン操作をツールで提供し、ほかの管理機能にはREST APIもあります。

主な機能

  1. 01アカウントの作成、変更、停止、削除
  2. 02サーバーの状態と統計を確認
  3. 03更新の確認とサービスの再起動
  4. 04アカウントのドメインを管理
  5. 05RESTエンドポイントでSSL、バックアップ、メールを管理

活用シーン

  1. 01AIアシスタント経由でcPanelアカウントを管理
  2. 02サーバー負荷とサービス状態を確認
  3. 03更新の開始やサーバーサービスの再起動
  4. 04アカウントのドメインを管理

MCP 対応

SSEエンドポイントを通じて、WHMのアカウント、サーバー、ドメイン操作をMCPツールとして公開します。リクエストにはBearerトークンまたはX-API-KeyヘッダーでAPIキーを渡す必要があります。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://your-server-address:3000/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

WHM Management Control Panel(MCP)

WHM(Web Host Manager)サーバーに接続し、アカウント管理とサーバー管理を行う Node.js サーバーアプリケーションです。このアプリケーションは Model Context Protocol(MCP)を実装しており、Claude などの AI アシスタントが WHM API を利用できるようにします。

機能

  • アカウント管理(作成、変更、一時停止、終了)
  • サーバー情報と統計
  • サーバーの更新とメンテナンス
  • SSL 証明書管理
  • バックアップ管理
  • メールアカウント管理
  • ドメイン管理
  • セキュリティ機能
  • AI アシスタント連携のための MCP プロトコル実装

クイックスタート

Node.js 18 以降と WHM API トークンが必要です。

  1. サーバー用のフォルダーを作成し、その中に .env ファイルを作成します:
    WHM_SERVER=your-server-domain.com
    WHM_PORT=2087
    WHM_USERNAME=root
    WHM_API_TOKEN=your-whm-api-token
    # Only if WHM is reached by IP or uses a self-signed certificate:
    # WHM_INSECURE_TLS=true
    
    PORT=3000
    # Required: the server refuses to start without it. Generate one with: openssl rand -hex 32
    API_KEY=your-long-random-api-key
    
  2. そのフォルダーから MCP サーバーを起動します:
    npx whm-mcp-server
    
    または、このリポジトリをクローンして、npm install を実行した後、npm run mcp を実行します。

MCP エンドポイントは http://localhost:3000/sse です(ポートは PORT の値が使用され、PORT が設定されていない場合は 4444 です)。

MCP クライアントの設定

すべてのリクエストには、Authorization: Bearer <API_KEY> または X-API-Key: <API_KEY> のいずれかで API キーを指定する必要があります。キーを含まないリクエストには 401 Unauthorized が返されます。

ヘッダー付きのリモートサーバーに対応しているクライアント(Cursor など)では、次の内容を mcp.json に追加します:

{
  "mcpServers": {
    "whm": {
      "url": "https://your-mcp-host:3000/sse",
      "headers": { "Authorization": "Bearer your-long-random-api-key" }
    }
  }
}

ローカルコマンドのみを実行するクライアント(Claude Desktop など)では、mcp-remote ブリッジを使用します:

{
  "mcpServers": {
    "whm": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://your-mcp-host:3000/sse", "--header", "Authorization: Bearer your-long-random-api-key"]
    }
  }
}

HTTPS とファイアウォールの背後で実行してください。キーを持つ人は誰でも WHM サーバーを管理できます。

REST API(任意)

npm start を実行すると、別の REST API(/api/...、詳細は以下を参照)が起動します。この API にも API キーが必要で、X-API-Key ヘッダーで送信します。

MCP 実装の詳細

このサーバーは、HTTP Server-Sent Events(SSE)をトランスポート機構として Model Context Protocol を実装しています。すべてのメッセージに標準の JSON-RPC 2.0 形式を使用し、次の機能が含まれています:

  • 永続的な接続を確立する /sse エンドポイント
  • クライアントリクエストを受信して応答する /messages エンドポイント
  • connection/ready と tools/ready の自発的な通知
  • 適切なエラーコードを使用した標準化されたエラー処理

MCP アーキテクチャにより、AI アシスタントは、明確に定義されたパラメータースキーマを持つツールを通じて WHM の機能を安全に利用できます。これにより、言語モデルとサーバー管理機能の間に安全な橋渡しを実現します。

利用可能な MCP ツール

MCP サーバーは、ツールを通じて次の WHM 機能を公開します:

アカウント管理
  • whm_list_accounts - すべての WHM アカウントを一覧表示
  • whm_create_account - 新しい cPanel アカウントを作成
  • whm_account_summary - アカウントの詳細を取得
  • whm_suspend_account - cPanel アカウントを一時停止
  • whm_unsuspend_account - cPanel アカウントの一時停止を解除
  • whm_terminate_account - アカウントを完全に削除
サーバー管理
  • whm_server_status - サーバーのステータスとシステム統計を取得
  • whm_server_load - サーバーの負荷統計を取得
  • whm_service_status - サーバーサービスのステータスを取得
  • whm_restart_service - 特定のサーバーサービスを再起動
  • whm_check_updates - 利用可能な更新を確認
  • whm_start_update - サーバーの更新処理を開始
ドメイン管理
  • whm_list_domains - アカウントのドメインを一覧表示
  • whm_add_domain - アカウントにドメインを追加
  • whm_delete_domain - アカウントからドメインを削除

API ドキュメント

API エンドポイントはリソースの種類ごとに整理されています:

  • /api/accounts - アカウント管理操作
  • /api/server - サーバー情報と操作
  • /api/domains - ドメイン管理
  • /api/ssl - SSL 証明書管理
  • /api/backups - バックアップ管理操作
  • /api/email - メールアカウント管理

詳しい API ドキュメントについては、サーバーの起動後に /docs エンドポイントを参照してください。

セキュリティ

このアプリケーションには WHM API 認証情報が必要です。.env ファイルを共有したり、API トークンを公開したりしないでください。

セキュリティのベストプラクティス

WHM 管理にこの MCP サーバーを使用する際は、以下のセキュリティに関する推奨事項に従ってください。

  1. API トークンの保護:WHM API トークンを安全に保管し、定期的にローテーションしてください。可能な限り、root の全権限を使用するのではなく、必要な権限のみを付与した WHM API トークンを作成してください。
  2. TLS/SSL の使用:本番環境では、このサーバーを必ず HTTPS でデプロイしてください。
  3. ファイアウォールルール:可能な場合は、IP アドレスによって MCP サーバーへのアクセスを制限してください。
  4. 定期的なアップデート:WHM サーバーを最新のセキュリティパッチで更新してください。
  5. 監視:不審なアクティビティや不正アクセスの試みを検知するため、監視を導入してください。
  6. バックアップ戦略:すべてのサーバー設定とデータを定期的にバックアップしてください。
サイトの侵害と root の侵害

サイトの侵害と root の侵害の違いに注意してください。

  • サイトの侵害は特定のウェブサイトのみに影響しますが、root の侵害ではサーバー全体が危険にさらされます。
  • 侵害が発生した場合は、バックアップから復元し、攻撃の侵入経路を特定してください。
  • WHM のセキュリティの詳細については、cPanel のセキュリティのベストプラクティスを参照してください。

テスト

同梱のサンプルクライアントを使用して MCP サーバーをテストできます。

npm run example

これにより、MCP サーバーに接続し、利用可能なツールをリクエストして、サンプルコマンドを実行する簡単なテストクライアントが起動します。

ライセンス

ISC


Host Hobbit について

Host Hobbit Ltd が構築・保守しています。英国の企業向けに、マネージド WordPress ホスティング、WHM/cPanel および VPS の管理、セキュリティ強化、AI による自動化を提供しています。

デプロイのサポートが必要ですか?それとも、貴社向けに同様のものを構築したいですか?お問い合わせください。

コメント

MCP は初めてですか?

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

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