Skip to main content
Glama

caddy_load

DestructiveIdempotent

Atomically replace the entire Caddy configuration with a JSON config or Caddyfile, ensuring safe large-scale changes. Requires explicit confirmation and snapshots the prior config for easy rollback.

Instructions

Replace the entire Caddy configuration atomically. Accepts a JSON config object, or a Caddyfile string with format='caddyfile'. This is the safest way to make large config changes. Has a 60-second timeout to allow for TLS provisioning. Requires confirm=true: this DISCARDS the entire running config, including servers and routes not present in the supplied config. The prior config is snapshotted first and can be restored with caddy_revert.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
configYesFull config — JSON object or Caddyfile text string
formatNoConfig format: 'json' (default) or 'caddyfile'json
confirmNoMust be true to replace the running configuration (safety)
Behavior5/5

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

Beyond annotations already declaring destructiveHint and idempotentHint, the description adds significant behavioral detail: atomicity, a 60-second timeout for TLS provisioning, the mandatory confirm=true requirement, the fact that the entire running config is discarded, and that a snapshot is taken allowing restore via caddy_revert. These details greatly exceed what annotations alone convey.

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 four sentences long, with the primary action front-loaded in the first sentence. Every sentence carries substantive information: format options, safety/timeout, destructive consequences, and snapshot/restore. There is no filler or redundant phrasing.

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 operation, the description provides comprehensive guidance: it warns about the full config discard, mandates confirm=true, mentions atomicity and the timeout, and explains the snapshot/revert path. It also positions itself relative to large config changes. The absence of an output schema is not a meaningful gap since the return value is secondary to the behavioral warnings covered.

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?

The input schema already provides 100% coverage by describing all three parameters, but the description adds complementary meaning: it clarifies that config can be a JSON object or a Caddyfile string, ties format='caddyfile' to that choice, and explains that confirm=true is required because the action discards the entire running config. This adds context beyond the schema, though it does not individually explain every parameter in depth.

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 opens with 'Replace the entire Caddy configuration atomically,' using a specific verb ('replace') and a clear resource ('entire Caddy configuration') with a distinctive behavior ('atomically'). This distinguishes it from sibling tools like caddy_config_set or caddy_config_delete, which likely target partial changes. The mention of accepting JSON or Caddyfile further clarifies scope.

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 states 'This is the safest way to make large config changes,' providing clear context for when to use this tool. It also mentions restoration via caddy_revert, giving an alternative fallback. However, it does not explicitly say when not to use it (e.g., for small targeted changes) or name alternative tools like caddy_config_set, so it stops short of a full when/when-not distinction.

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

Install Server

Other Tools

Latest Blog Posts

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/YawLabs/caddy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server