1. Conduid
  2. Developer Tools
  3. Caddy MCP
MCP server · Developer Tools

Caddy MCP

Caddy MCP server

Unclaimed MIT last commit a year ago devtools
49Fair

Scored 14 days ago · breakdown

About Caddy MCP

Caddy MCP is an MCP server published by lum8rjack in the Developer Tools category: caddy MCP server.

The repository has 8 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/lum8rjack/caddy-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (6)

convert_caddyfile_to_jsonConvert a Caddyfile configuration to JSON format

Parameters not published.

convert_nginx_to_jsonConvert an Nginx configuration to Caddy JSON format

Parameters not published.

convert_yaml_to_jsonConvert a YAML configuration to Caddy JSON format

Parameters not published.

get_caddy_configGet the current Caddy server configuration in JSON format

Parameters not published.

update_caddy_configUpdate the Caddy server configuration by providing a full JSON configuration

Parameters not published.

upstream_proxy_statusesGet the current status of configured reverse proxy upstreams as JSON

Parameters not published.

Ask AI

✦

Ask AI about Caddy MCP

Powered by Claude · Grounded in docs

I know everything about Caddy MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

caddy-mcp

Overview

caddy-mcp is a server that provides a Model Context Protocol (MCP) interface for managing a Caddy server instance using the Caddy API. It exposes tools for retrieving, updating, and converting Caddy configurations (in JSON, Caddyfile, YAML, or Nginx formats) and for monitoring reverse proxy upstreams. The server can run over different transports: stdio, SSE, or HTTP stream.

Tools

  • get_caddy_config - Get the current Caddy server configuration in JSON format
  • update_caddy_config - Update the Caddy server configuration by providing a full JSON configuration
  • convert_caddyfile_to_json - Convert a Caddyfile configuration to JSON format
  • convert_nginx_to_json - Convert an Nginx configuration to Caddy JSON format
  • convert_yaml_to_json - Convert a YAML configuration to Caddy JSON format
  • upstream_proxy_statuses - Get the current status of configured reverse proxy upstreams as JSON

Build Steps

  1. Prerequisites:

  2. Clone the repository:

    git clone https://github.com/lum8rjack/caddy-mcp.git
    cd caddy-mcp
    
  3. Build the server:

    make
    # or
    go build -o caddy-mcp .
    

    This will produce a caddy-mcp binary in the project root.

Running the MCP Server

You can run the server with different transports and ports:

./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")

Example MCP Settings:

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

Caddyfile Example

A sample Caddyfile to test with that exposed the admin API:

{
    admin :2019
}

:8080 {
    respond "I am 8080"
}

:8081 {
    respond "I am 8081"
}

Adding Additional Caddy Modules

If you are using a custom-built version of Caddy with extra modules (for example, the Cloudflare DNS module), you need to add the corresponding Go module to your project. This ensures the MCP server can work with your custom Caddy build.

Steps:

  1. Add the module import to main.go:

    For example, to add the Cloudflare DNS module, add the following import (anywhere among the imports, typically with other Caddy modules):

    import _ "github.com/caddy-dns/cloudflare"
    
  2. Update dependencies:

    Run:

    go mod tidy
    
  3. Rebuild the server:

    make
    # or
    go build -o caddy-mcp .
    

This process can be repeated for any other Caddy modules you need. For a list of official and community modules, see the Caddy Modules Directory.

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Caddy MCP

How do I install Caddy MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Caddy MCP safe to use with an AI agent?

Its trust score is 49 out of 100 (fair). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Caddy MCP still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.