← Back to search

@yawlabs/caddy-mcp

jeffyaw Scanned 26d ago

MCP server for managing Caddy web servers via the admin API

B
78.4 / 100

Versions

1.3.1latest
Jul 21, 2026
1.3.0
Jun 7, 2026
1.2.9
Jun 3, 2026
1.2.8
May 28, 2026
1.2.7
May 19, 2026
+ show 15 moreshow less
1.2.6
May 16, 2026
1.2.5
May 16, 2026
1.2.4
May 15, 2026
1.2.3
May 15, 2026
1.2.2
May 13, 2026
1.2.1
May 13, 2026
1.2.0
May 13, 2026
1.1.0
May 6, 2026
1.0.1
Apr 25, 2026
1.0.0
Apr 20, 2026
0.3.1
Apr 19, 2026
0.3.0
Apr 18, 2026
0.2.0
Apr 14, 2026
0.1.1
Apr 11, 2026
0.1.0
Apr 9, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 18

caddy_reverse_proxy
annotations: none low

Add a reverse proxy route. The most common operation — just specify where traffic comes from and where it goes. Example: from=

caddy_add_route
annotations: none low

Add a route with full control over match conditions and handlers. Supports any Caddy handler (reverse_proxy, file_server, static_response, redirect, encode, headers, etc.).

terminal boolean
caddy_list_routes
annotations: none low

List all routes on a Caddy HTTP server with a human-readable summary of matchers and handlers, followed by the raw route JSON.

caddy_remove_route
annotations: none low

Remove a route. Target by @id (preferred — stable across reorderings) or by array index on a specific server. Index-based removal is a two-step read-then-delete and can race against concurrent edits; prefer @id when possible.

confirm boolean
caddy_tls
annotations: none low

Get or configure TLS/HTTPS settings. Actions:

ca string email string
caddy_config_get
annotations: none low

Read Caddy config at any JSON path. Returns the full config when path is empty, or a subtree at a specific path (e.g.,

path string
caddy_config_set
annotations: none low

Write config at a JSON path. Mode

path string value any
caddy_config_delete
annotations: none low

Delete config at a JSON path. Removes the config node at the specified path. Deleting a parent node also deletes every descendant -- e.g. deleting

path string
caddy_load
annotations: none low

Replace the entire Caddy configuration atomically. Accepts a JSON config object, or a Caddyfile string with format=

caddy_revert
annotations: none low

Manage config snapshots for rollback. Snapshots are auto-captured before caddy_load and kept in-memory (last 10). Actions:

confirm boolean
caddy_config_by_id
annotations: none low

Access config by @id tag. Any config object with an

value any subpath string
caddy_status
annotations: none low

Check Caddy connectivity and get a config summary: servers, routes, listen addresses, and TLS status.

caddy_list_servers
annotations: none low

List all configured HTTP servers with their names, listen addresses, route counts, and TLS status. Use this to discover server names before calling route tools.

caddy_upstreams
annotations: none low

Get the current health status of all reverse proxy upstreams. Shows address, active requests, and failure counts.

caddy_pki
annotations: none low

Get PKI certificate authority info or the CA certificate chain.

certificates boolean
caddy_metrics
annotations: none low

Get Prometheus metrics from Caddy. Shows request counts, durations, TLS handshake stats, active connections, and more.

caddy_stop
annotations: none low

Gracefully shut down the Caddy server. Requires confirm=true to prevent accidental shutdown.

confirm boolean
caddy_adapt
annotations: none low

Convert a config in any registered adapter format to Caddy JSON without loading it. Useful for previewing what a Caddyfile produces, or for porting from nginx/yaml configs when Caddy is built with the matching adapter module (

config string

Permissions 4

network medium
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 47

info
package.json metadata manifest_parser · 100%
low
Tool 'caddy_reverse_proxy' has no annotations annotation_checker · 100%
low
Tool 'caddy_add_route' has no annotations annotation_checker · 100%
low
Tool 'caddy_list_routes' has no annotations annotation_checker · 100%
low
Tool 'caddy_remove_route' has no annotations annotation_checker · 100%
low
Tool 'caddy_tls' has no annotations annotation_checker · 100%
low
Tool 'caddy_config_get' has no annotations annotation_checker · 100%
low
Tool 'caddy_config_set' has no annotations annotation_checker · 100%
low
Tool 'caddy_config_delete' has no annotations annotation_checker · 100%
low
Tool 'caddy_load' has no annotations annotation_checker · 100%
low
Tool 'caddy_revert' has no annotations annotation_checker · 100%
low
Tool 'caddy_config_by_id' has no annotations annotation_checker · 100%
low
Tool 'caddy_status' has no annotations annotation_checker · 100%
low
Tool 'caddy_list_servers' has no annotations annotation_checker · 100%
low
Tool 'caddy_upstreams' has no annotations annotation_checker · 100%
low
Tool 'caddy_pki' has no annotations annotation_checker · 100%
low
Tool 'caddy_metrics' has no annotations annotation_checker · 100%
low
Tool 'caddy_stop' has no annotations annotation_checker · 100%
low
Tool 'caddy_adapt' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
Tool: caddy_reverse_proxy manifest_parser · 70%
info
Tool: caddy_add_route manifest_parser · 70%
info
Tool: caddy_list_routes manifest_parser · 70%
info
Tool: caddy_remove_route manifest_parser · 70%
info
Tool: caddy_tls manifest_parser · 70%
info
Tool: caddy_config_get manifest_parser · 70%
info
Tool: caddy_config_set manifest_parser · 70%
info
Tool: caddy_config_delete manifest_parser · 70%
info
Tool: caddy_load manifest_parser · 70%
info
Tool: caddy_revert manifest_parser · 70%
info
Tool: caddy_config_by_id manifest_parser · 70%
info
Tool: caddy_status manifest_parser · 70%
info
Tool: caddy_list_servers manifest_parser · 70%
info
Tool: caddy_upstreams manifest_parser · 70%
info
Tool: caddy_pki manifest_parser · 70%
info
Tool: caddy_metrics manifest_parser · 70%
info
Tool: caddy_stop manifest_parser · 70%
info
Tool: caddy_adapt manifest_parser · 70%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (14) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 285 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%