Skip to main content
Glama
julcap

nginx-certbot-mcp

renew_cert

Renews SSL certificates via certbot, simulating by default with --dry-run to avoid touching live certs; pass dry_run:false to perform the actual renewal.

Instructions

Run certbot renew, optionally scoped to one cert via --cert-name. Defaults to --dry-run (simulates against Let's Encrypt staging without touching the live cert or rate limit) - pass dry_run:false only when you mean to actually renew. Always disables certbot's random pre-renewal sleep so the call returns synchronously.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNoCert name to renew; omit to renew everything due
dry_runNoTrue (default) simulates the renewal without touching the live cert

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
successYes
certbot_outputYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.7/5.0
Behavior5/5

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

It discloses non-obvious behaviors: the staging simulation for dry-run, no rate-limit impact, permanent disarming of certbot's pre-renewal sleep, and synchronous return. These details are valuable beyond the sparse annotations (only `openWorldHint: true`, `destructiveHint: false`) and do not contradict them.

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 concise and front-loaded: the first sentence states the core command and scoping, the second covers the default and its safety cue, and the third explains the synchronous return. Every sentence carries essential information with no filler.

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 two-parameter tool with a full output schema and straightforward behavior, this description covers the default state, the risky escape hatch, scoping, and execution behavior. Nothing needed for correct invocation is missing.

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 description coverage is complete (100%), and the description adds the critical meaning of `dry_run: false` as a deliberate real renewal rather than simulation. It also clarifies that the `domain` parameter is actually a cert-name scope, which is not explicitly stated in 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 runs `certbot renew`, scopes to a single cert name via `--cert-name`, and defaults to `--dry-run`. It is distinct from the sibling issue/revoke/delete certificate tools, so an agent can tell when to invoke it.

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 clear guidance on when to keep the default dry-run and when to pass `dry_run: false` ('only when you mean to actually renew'). It does not explicitly contrast with issue_cert/revoke_cert for choosing a renewal path, but the conditions for using the tool safely are well specified.

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