Skip to main content
Glama
johannschiffer

SysFlow MCP

inspect_systemd_services

List systemd --user services and their active states, and detect failed background units. Filter to failed units only to quickly audit user-level service health.

Instructions

List systemd --user services, active states, and detect failed background units.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
failed_onlyNoOnly return units in failed state (default: false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses the '--user' scope (user session units, not system-wide) and that it surfaces active states plus failures, implying a non-mutating read. It does not state permission requirements, whether it needs a running user systemd instance/dbus, or anything about output shape or pagination.

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?

One compact sentence with the resource front-loaded and no filler. It slightly overloads three ideas (listing, active states, failure detection) into a single clause, but nothing is wasted.

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

Completeness3/5

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

For a 0-required-param read tool with no output schema and no annotations, the description is adequate: it names the resource, the scope, and the key output categories. It leaves open what the return looks like and what environment prerequisites exist, which for an unannotated system-inspection tool is a real but moderate gap.

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 100% and the single boolean (failed_only) is fully documented in the schema. The description's mention of failed units loosely aligns with it but adds no syntax or default information beyond the schema, so baseline 3 applies.

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?

States a specific verb (List) and resource (systemd --user services) plus what it surfaces (active states, failed units). The '--user' scope meaningfully distinguishes it from a system-wide service inspection, though it never explicitly names inspect_systemd_timers as the sibling for timer units.

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: 'detect failed background units' hints this is for diagnosing failures, and the failed_only param reinforces that. There is no explicit when-to-use, when-not-to-use, or routing to check_system_resources / inspect_systemd_timers when a different subsystem is the actual target.

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