mcp-caddy
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CADDY_HOST | No | Caddy admin API URL | http://localhost:2019 |
| CADDY_TIMEOUT | No | HTTP timeout in seconds | 30 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_infoA | Get Caddy server version and list of loaded modules. |
| get_configA | Get the full Caddy configuration as JSON. |
| get_config_pathB | Get a specific Caddy config node by path. config_path: e.g. '/apps/http/servers' or '/apps/tls'. |
| list_serversA | List all Caddy HTTP server blocks with their names, listen addresses, and route counts. |
| list_routesA | List all configured routes (virtual hosts) with hosts, handler, upstreams, listen addresses, and route index. |
| get_routeA | Get the full configuration of a specific route by index. Use list_routes to find server_name and index. |
| add_reverse_proxy_routeB | Add a reverse proxy route to Caddy. host: domain (e.g. 'app.example.com'). upstream: backend dial address (e.g. 'localhost:3000'). server_name: Caddy server block (auto-detects first server if empty). |
| add_static_file_serverA | Add a static file server route to Caddy. path: URL path to match (e.g., '/files/*'). root: filesystem directory to serve. server_name: auto-detects first server if empty. |
| add_redirectA | Add an HTTP redirect route. from_host: domain to redirect (e.g. 'old.example.com'). to_url: destination URL. status_code: 301 (permanent), 302 (temporary), 307, or 308. |
| delete_routeA | Delete a route by index from an HTTP server's route list. Use list_routes to find the index. Changes take effect immediately. |
| list_upstreamsA | List all reverse proxy upstreams with their health status and request counts. |
| get_certificatesA | List TLS certificate automation policies: subjects, ACME issuers, and CAs. |
| adapt_configC | Convert a Caddyfile snippet to JSON config using Caddy's built-in adapter. |
| reloadB | Reload Caddy config. source: raw JSON string (starts with '{') or path to a JSON config file. |
| update_config_pathA | Update a specific Caddy config path with a new value via PATCH. config_path: e.g. '/apps/http/servers/srv0/listen'. value: JSON string of the new value. |
| delete_config_pathA | Delete a specific Caddy config node at the given path. config_path: e.g. '/apps/http/servers/srv0'. Changes take effect immediately. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/aaronckj/mcp-caddy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server