Skip to main content
Glama

caddy_config_delete

Destructive

Delete Caddy config nodes at a specified JSON path, including parent nodes and descendants. Requires confirmation; a root delete unloads the entire config and resets the admin endpoint.

Instructions

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 'apps/http/servers/srv0' removes that server and all of its routes. Requires confirm=true. Any path that addresses the config ROOT ('', '/', 'config', '/config/', slash-only variants of those, or any of those followed by a lone '...' segment) addresses the ENTIRE config and unloads it: every app and server goes, and so does the 'admin' block, after which Caddy re-binds its admin endpoint to its default address (localhost:2019, or $CADDY_ADMIN in Caddy's environment). If CADDY_ADMIN_URL points anywhere else, neither this server nor caddy_revert can reach Caddy afterwards. A root delete is snapshotted first, so caddy_revert can restore it while Caddy is still reachable; no other path is snapshotted. To REPLACE the config rather than unload it, use caddy_load.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesConfig path to delete (e.g., 'apps/http/servers/srv0/routes/0')
confirmNoMust be true to actually delete the config node (safety)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description discloses important behaviors: deleting a parent deletes descendants, root deletes unload the entire config, only root deletes are snapshotted for caddy_revert, and the admin endpoint may rebind or become unreachable. This is substantial context that prevents catastrophic misuse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place by clarifying dangerous edge cases, alternatives, and recovery behavior. The core action is front-loaded, with the risky root-path details following naturally. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, high-stakes tool, the description covers outcomes, side effects, snapshot behavior, admin endpoint implications, and the alternative replacement tool. The absence of an output schema is acceptable because the behavioral consequences are fully disclosed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics for the path parameter, especially the root-path variants and their full-unload behavior, and reinforces the confirm=true requirement. This goes beyond simply restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: deleting config at a JSON path and removing the config node. It distinguishes itself from caddy_load by explicitly noting that replacing the config is a different operation. The verb+resource combination is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance around the root-path danger and names caddy_load as the alternative when replacement is intended. It also states that confirm=true is required. It does not enumerate every sibling alternative, but the critical routing decision is covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.