卡迪·麦克普
概述
卡迪·麦克普 是一个提供模型上下文协议(MCP)接口的服务器,用于管理 卡迪 使用的服务器实例 卡迪API它公开了用于检索、更新和转换Caddy配置(JSON、Caddyfile、YAML或Nginx格式)以及用于监视反向代理上游的工具。服务器可以通过不同的传输方式运行:stdio、SSE或HTTP流。
工具
- get_addy_config -获取JSON格式的当前Caddy服务器配置
- update_caddy_config -通过提供完整的JSON配置来更新Caddy服务器配置
- convert_caddyfile_to_json -将Caddyfile配置转换为JSON格式
- convert_nginx_to_json -将Nginx配置转换为Caddy JSON格式
- 将yaml_转换为_json -将YAML配置转换为Caddy JSON格式
- 上游_氧气_状态 -以JSON格式获取配置的反向代理上游的当前状态
构建步骤
- 先决条件:
- Go 1.24+已安装(下载)
- 克隆存储库:
git clone https://github.com/lum8rjack/caddy-mcp.git
cd caddy-mcp- 构建服务器:
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示例
样品 Caddyfile 使用暴露的管理员API进行测试:
{
admin :2019
}
:8080 {
respond "I am 8080"
}
:8081 {
respond "I am 8081"
}添加额外的Caddy模块
如果您使用的是带有额外模块(例如Cloudflare DNS模块)的定制版本的Caddy,则需要将相应的Go模块添加到您的项目中。这确保了MCP服务器可以与您的自定义Caddy构建一起工作。
步骤:
- 将模块导入添加到
main.go:
例如,要添加Cloudflare DNS模块,请添加以下导入(导入中的任何位置,通常与其他Caddy模块一起):
import _ "github.com/caddy-dns/cloudflare"- 更新依赖关系:
运行:
go mod tidy- 重建服务器:
make
# or
go build -o caddy-mcp .对于您需要的任何其他Caddy模块,都可以重复此过程。有关官方和社区模块的列表,请参阅 球童模块目录.
