
Caddy MCP Server
Need to manage Caddy web servers without leaving your Claude conversation? This connects directly to Caddy's admin API, letting you configure reverse proxies, adjust upstream servers, check health endpoints, and modify routing rules on the fly. You'd reach for this when you're troubleshooting a deployment, need to quickly update a proxy configuration, or want to inspect your current Caddy setup without switching to curl commands or SSH sessions. It's essentially a conversational wrapper around the JSON API that Caddy exposes on port 2019 by default, turning admin operations into natural language requests.
- GitHub stars
- 13
- tools
- 18
- transport
- STDIO
- last updated
- Nov 12, 2026
Tools
18 toolsPublic tool metadata for what this MCP can expose to an agent.
caddy_config_getRead config at any JSON path (or the full config).
Read config at any JSON path (or the full config).
No parameter schema in public metadata yet.
caddy_config_setWrite config at a path. Modes: overwrite (PATCH), append (POST), insert (PUT).
Write config at a path. Modes: overwrite (PATCH), append (POST), insert (PUT).
No parameter schema in public metadata yet.
caddy_config_deleteDelete config at a path. Requires confirm=true.
Delete config at a path. Requires confirm=true.
No parameter schema in public metadata yet.
caddy_config_by_idGet/set/delete config by @id tag.
Get/set/delete config by @id tag.
No parameter schema in public metadata yet.
caddy_loadReplace the entire config atomically.
Replace the entire config atomically.
No parameter schema in public metadata yet.
caddy_revertManage config snapshots for rollback. Actions: list, save, apply (confirm-gated).
Manage config snapshots for rollback. Actions: list, save, apply (confirm-gated).
No parameter schema in public metadata yet.
caddy_reverse_proxyAdd a reverse proxy in one call: from='api.local' to=['localhost:3000'].
Add a reverse proxy in one call: from='api.local' to=['localhost:3000'].
No parameter schema in public metadata yet.
caddy_add_routeAdd a route with full match/handle control (any Caddy handler).
Add a route with full match/handle control (any Caddy handler).
No parameter schema in public metadata yet.
caddy_remove_routeRemove a route by @id (preferred) or by index. Requires confirm=true.
Remove a route by @id (preferred) or by index. Requires confirm=true.
No parameter schema in public metadata yet.
caddy_list_routesHuman-readable route summary.
Human-readable route summary.
No parameter schema in public metadata yet.
caddy_tlsCheck or set TLS settings. Actions: status, set_email, set_acme_ca, set_acme_profile, ech_status.
Check or set TLS settings. Actions: status, set_email, set_acme_ca, set_acme_profile, ech_status.
No parameter schema in public metadata yet.
caddy_adaptConvert a config in any registered adapter format to Caddy JSON without applying it.
Convert a config in any registered adapter format to Caddy JSON without applying it.
No parameter schema in public metadata yet.
caddy_statusConnectivity check and config summary (server count, routes, TLS mode).
Connectivity check and config summary (server count, routes, TLS mode).
No parameter schema in public metadata yet.
caddy_list_serversList all HTTP servers with names, addresses, route counts, and TLS status.
List all HTTP servers with names, addresses, route counts, and TLS status.
No parameter schema in public metadata yet.
caddy_upstreamsReverse proxy backend health, as Caddy's /reverse_proxy/upstreams array returned verbatim.
Reverse proxy backend health, as Caddy's /reverse_proxy/upstreams array returned verbatim.
No parameter schema in public metadata yet.
caddy_metricsPrometheus metrics with optional filter and max_lines.
Prometheus metrics with optional filter and max_lines.
No parameter schema in public metadata yet.
caddy_pkiCA info and certificate chains (default CA: local).
CA info and certificate chains (default CA: local).
No parameter schema in public metadata yet.
caddy_stopGraceful shutdown. Requires confirm=true to prevent accidents.
Graceful shutdown. Requires confirm=true to prevent accidents.
No parameter schema in public metadata yet.
Sponsors
Readme
@yawlabs/caddy-mcp
One click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.
Manage Caddy web servers from Claude Code, Cursor, and any MCP client. 18 tools + 4 resources covering every endpoint in Caddy's admin API reference — config, routes, reverse proxies, TLS, PKI, metrics, snapshots.
Built and maintained by Yaw Labs.
Why this one?
Other Caddy MCP servers wrap half the admin API and silently swallow errors. This one doesn't.
Details
- Repository
- github.com/yawlabs/caddy-mcp
- Website
- yaw.sh/mcp-servers/caddy-mcp
- Package
@yawlabs/caddy-mcp- Transport
- STDIO
- Registry
- MCP registry, active