Skip to main content
Glama

Service status

service_status
Read-onlyIdempotent

Inspect a systemd unit's load state, active status, main process, last result, restart count, and activation time to diagnose Linux service health.

Instructions

The state of one systemd unit, from systemctl show: whether it is loaded, active, its main process, last result, restart count and when it became active. A bare name such as nginx means nginx.service.

Input Schema

NameRequiredDescriptionDefault
unitYesa systemd unit name such as nginx or nginx.service (letters, digits and : _ . @ - only)

Output Schema

NameRequiredDescriptionDefault
unitYes
foundYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety bar is low; the description still adds real context by naming the data source (`systemctl show`) and the exact fields returned, which tells the agent this is a static snapshot read with no side effects. It stops short of noting latency or whether inactive/unknown units error out.

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?

Two sentences, zero filler, and the resource/scope is front-loaded before the field enumeration and the naming rule. Every clause carries information the agent can act on.

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?

With an output schema present, return values need no explanation, and the annotations cover the safety profile; the description supplies the missing pieces (source command, field list, unit-name normalization) for a single-parameter read tool. Nothing an agent needs to invoke it correctly is absent.

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, but the description adds genuine semantics beyond the schema: a bare name such as nginx is auto-resolved to nginx.service. That normalization rule is not stated in the schema and directly affects how the agent should format input.

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

Purpose4/5

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

Uses a specific verb+resource: 'The state of one systemd unit, from `systemctl show`', and enumerates exactly which attributes are reported (loaded, active, main process, last result, restart count, active-since). That clearly separates it from aggregate siblings like system_overview and failed_units, though it never names them explicitly.

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 only implied: the singular 'one systemd unit' hints at per-unit inspection, leaving the agent to infer that failed_units covers failures and system_overview covers the whole host. No explicit when-to-use or when-not-to-use statement and no named alternative.

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