Skip to main content
Glama
julcap

nginx-certbot-mcp

diagnose_site

Read-only

Diagnose a misbehaving domain: checks nginx config validity, service status, DNS, upstream connectivity, certificate expiry, and error logs. Returns per-check status, overall health, and next steps.

Instructions

One-call health report for a domain: whether its nginx config exists and is enabled, whether nginx is running and passes nginx -t, whether the domain resolves, whether the upstream accepts TCP connections, whether a certificate covers it (and how long is left), and recent nginx error-log lines mentioning the site or its upstream. Read-only. Returns per-check status (ok/warn/fail/skipped), an overall healthy flag, and next_steps naming the tools that would fix each problem. Start here when a site is misbehaving instead of calling the individual check_* tools one by one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to diagnose, e.g. mysite.julcap.net

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
checksYes
domainYes
healthyYesTrue when no check failed; warnings and skipped checks don't count
summaryYes
next_stepsYesSuggested tools/actions for each warning or failure; empty when all is well

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description reinforces this with 'Read-only.' Beyond that, it discloses meaningful behavior: it runs nginx -t, checks certificate expiry, and returns per-check statuses plus next_steps. This adds color to what the tool actually does and what the agent should expect, going beyond the structured annotations without contradicting them.

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

Conciseness4/5

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

The description is dense, listing many checks in a single run-on sentence, but every clause carries information. It front-loads the core purpose ('One-call health report') and ends with clear usage guidance. Slight restructuring into bullets or shorter sentences would improve readability, but the content is efficient and earned.

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?

Given a single fully documented parameter, an output schema, and sibling tools that this description explicitly routes around, nothing essential is missing. The description covers what is checked, what is returned, the read-only nature, and when to start with this tool. An agent has enough context to select and invoke it correctly without further research.

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

Parameters3/5

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

The schema has 100% coverage for the single parameter, including an example value in the description ('mysite.julcap.net'). The tool description adds no new parameter-level detail beyond confirming that the domain is the subject of the diagnostics. Since the schema fully documents the parameter, a baseline of 3 is appropriate.

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 a specific verb and resource: 'One-call health report for a domain.' It enumerates the exact checks performed (nginx config, nginx -t, DNS, upstream TCP, certificate, error logs), which clearly distinguishes it from a generic or ambiguous tool. It also explicitly contrasts itself with the individual check_* siblings, making the purpose unmistakable.

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

Usage Guidelines5/5

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

The description gives explicit selection guidance: 'Start here when a site is misbehaving instead of calling the individual check_* tools one by one.' This tells the agent when to use this tool and names the alternative approach it replaces. It also implies that the tool is the entry point for site health triage.

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