Skip to main content
Glama

diagnose_service

Read-only

Trace a public domain through each service hop, find the first failing component, and get the fix. Read-only; changes nothing.

Instructions

Check each hop between a public domain and its upstream container, and name the first one that fails with the fix for it. Hops: DNS record, tunnel route (if the tunnel module is on), Nginx Proxy Manager host, TLS certificate (expiry and trust), upstream container running (Docker), upstream port answering, uptime monitor (if on), Authentik login in front (if on). Read-only: it changes nothing.

Input Schema

NameRequiredDescriptionDefault
domainYes

Output Schema

NameRequiredDescriptionDefault
hopsNo
noteNo
domainYes
first_failureNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.1

TDQS

A4/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 goes further by documenting the ordered diagnostic hops, conditional checks for optional modules, and the behavior of returning the first failure plus a fix. It does repeat the read-only nature, but still adds substantial process context beyond the annotations.

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 front-loaded with the core action and then compactly lists the hop sequence. The length is justified by the diagnostic complexity, and every clause contributes useful scope or behavior information.

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

Completeness4/5

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

The tool has an output schema and explicit read-only/open-world annotations, and the description explains the diagnostic chain well enough to call it correctly. The main remaining gaps are the exact domain input format and explicit routing against similar sibling tools.

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?

Schema description coverage is 0%, so the schema provides only a bare string parameter named domain. The description partially compensates by specifying that it is a public domain in the context of a domain-to-container diagnostic chain, but it does not clarify format details such as whether to include a scheme, subdomain, or port.

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 uses a specific diagnostic verb and resource: it checks every hop between a public domain and its upstream container and names the first failing hop with a fix. It also enumerates the exact check sequence, making the tool's scope and distinction from generic status/list tools clear.

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

Usage Guidelines3/5

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

Usage is implied through the troubleshooting workflow: the tool is for diagnosing where a public service path fails. However, it does not explicitly compare against siblings such as service_status, homelab_health, or infrastructure_overview, nor does it state when not to use it.

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