mcpField
C
caddy-mcp

caddy-mcp

ローカル
github.com/lum8rjackクラウド・インフラ873 週間前に更新

caddy-mcp について

caddy-mcpは、Caddy APIを通じてCaddyサーバーを管理するMCPインターフェースです。設定の取得・更新や形式変換、リバースプロキシのアップストリーム状態確認に対応します。

主な機能

  1. 01Caddy設定の取得
  2. 02JSON設定の更新
  3. 03CaddyfileからJSONへの変換
  4. 04Nginx・YAMLからJSONへの変換
  5. 05アップストリームプロキシ状態の確認
  6. 06stdio、SSE、HTTP streamに対応

活用シーン

  1. 01現在のCaddy設定を確認する
  2. 02完全なJSON設定を適用する
  3. 03Nginx設定をCaddy形式に変換する
  4. 04リバースプロキシのアップストリーム状態を確認する

MCP 対応

MCPクライアントに、Caddy設定の管理とアップストリーム監視のツールを提供します。stdio、SSE、HTTP streamのトランスポートに対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

caddy-mcp

概要

caddy-mcp は、Caddy サーバーインスタンスを Caddy API 経由で管理するための、Model Context Protocol(MCP)インターフェースを提供するサーバーです。Caddy の設定(JSON、Caddyfile、YAML、または Nginx 形式)の取得、更新、変換や、リバースプロキシのアップストリームの監視を行うツールを提供します。サーバーは、stdio、SSE、HTTP ストリームなど、さまざまなトランスポートで実行できます。

ツール

  • get_caddy_config - 現在の Caddy サーバー設定を JSON 形式で取得します
  • update_caddy_config - 完全な JSON 設定を指定して、Caddy サーバー設定を更新します
  • convert_caddyfile_to_json - Caddyfile の設定を JSON 形式に変換します
  • convert_nginx_to_json - Nginx の設定を Caddy JSON 形式に変換します
  • convert_yaml_to_json - YAML の設定を Caddy JSON 形式に変換します
  • upstream_proxy_statuses - 設定済みのリバースプロキシのアップストリームの現在の状態を JSON として取得します

ビルド手順

  1. 前提条件:

  2. リポジトリをクローンします:

    git clone https://github.com/lum8rjack/caddy-mcp.git
    cd caddy-mcp
    
  3. サーバーをビルドします:

    make
    # or
    go build -o caddy-mcp .
    

    プロジェクトのルートに caddy-mcp バイナリが生成されます。

MCP サーバーの実行

サーバーは、さまざまなトランスポートとポートを指定して実行できます:

./caddy-mcp -h
Usage of ./caddy-mcp:
  -port int
        Port to run the MCP server on (default 7000)
  -transport string
        The transport to use for the MCP server (stdio, sse, httpstream) (default "stdio")
  -url string
        The URL of the caddy server (default "http://127.0.0.1:2019")

MCP 設定の例:

{
    "mcpServers": {
        "caddy-mcp": {
            "command": "~/caddy-mcp",
            "args": ["-transport", "stdio", "-url", "http://127.0.0.1:2019"]
        }
    }
}

Caddyfile の例

管理 API を公開するテスト用の Caddyfile のサンプルです:

{
    admin :2019
}

:8080 {
    respond "I am 8080"
}

:8081 {
    respond "I am 8081"
}

Caddy モジュールの追加

追加モジュール(たとえば Cloudflare DNS モジュール)を含むカスタムビルド版の Caddy を使用する場合は、対応する Go モジュールをプロジェクトに追加する必要があります。これにより、MCP サーバーをカスタム Caddy ビルドで使用できます。

手順:

  1. main.go にモジュールのインポートを追加します:

    たとえば、Cloudflare DNS モジュールを追加するには、次のインポートを追加します(インポートの中であればどこでも構いませんが、通常はほかの Caddy モジュールと一緒に追加します):

    import _ "github.com/caddy-dns/cloudflare"
    
  2. 依存関係を更新します:

    次を実行します:

    go mod tidy
    
  3. サーバーを再ビルドします:

    make
    # or
    go build -o caddy-mcp .
    

この手順は、必要なほかの Caddy モジュールにも繰り返し適用できます。公式およびコミュニティのモジュール一覧については、Caddy Modules Directory を参照してください。

コメント

MCP は初めてですか?

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

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