Skip to main content
Glama
Raindancer118

sysprobe-mcp

sysprobe-mcp

Standalone, token-efficient MCP server for Linux system diagnostics and desktop/hardware control. Returns compact JSON with hard size limits so a single tool call can never flood the model context.

It is distro-agnostic. For Arch/CachyOS package management (pacman/AUR) use the companion cachyos-mcp, which embeds this server's tools.

Tool groups

Diagnostics (read-only, always available)

  • Filesystem/config: list_directory_tree, read_config_snippet, grep_file, check_command_exists

  • Processes/resources: get_process_top, get_process_info, inspect_process_io, find_processes

  • Sensors/power: get_hardware_sensors, get_battery_health

  • System/hardware: get_system_info, get_cpu_info, get_disk_usage, get_block_devices, list_usb_devices, list_pci_devices, get_gpu_info

  • systemd/logs: get_service_status, list_services, list_failed_services, query_journalctl, get_boot_performance

  • Debugging: list_coredumps, diagnose_crash, check_kernel_ring_buffer

  • D-Bus: list_dbus_services, get_dbus_property

  • Desktop status: get_brightness, get_power_profile, get_cpu_governor, get_volume, get_now_playing, bluetooth_status, bluetooth_devices, bluetooth_scan, get_kde_theme, list_color_schemes, list_desktop_apps

Control (mutating — needs SYSCONTROL_ALLOW_ACTIONS=1)

  • Bluetooth: bluetooth_power, bluetooth_connect, bluetooth_disconnect, bluetooth_pair

  • Display/power: set_brightness, set_power_profile, set_cpu_governor

  • Audio/media: set_volume, set_mute, media_control

  • Apps: launch_app, open_path

  • KDE: set_color_scheme, set_global_theme, kde_notify, kwin_reconfigure

  • Services/processes: control_service, kill_process

  • Session: lock_session, suspend_system

Power (double-gated — also needs SYSCONTROL_ALLOW_POWER=1)

  • power_action (reboot / poweroff)

Related MCP server: mcp-tool-server

Safety model

Read-only by default. Mutating tools return an explanatory error unless SYSCONTROL_ALLOW_ACTIONS=1 is set in the server environment. Genuinely destructive actions (reboot/poweroff) need a second, independent flag (SYSCONTROL_ALLOW_POWER=1) so they stay off even when ordinary actions are on.

Run

uv run sysprobe-mcp                       # read-only
SYSCONTROL_ALLOW_ACTIONS=1 uv run sysprobe-mcp   # + control tools

Register with Claude Code

claude mcp add sysprobe -s user \
  -e SYSCONTROL_ALLOW_ACTIONS=1 \
  -- uv --directory "/home/tom/Projekte/SE Projects/sysprobe-mcp" run sysprobe-mcp

Optional system tools

Richer output when these are installed: lm_sensors, upower, lsblk, usbutils, pciutils, bluez-utils (bluetoothctl), powerprofilesctl, cpupower, wireplumber/pulseaudio (wpctl/pactl), playerctl, qdbus6, kreadconfig6 + plasma-apply-* (KDE), brightnessctl, nvidia-utils.

Available Tools

59 tools
bluetooth_connectB

[ACTION] Connect to a paired Bluetooth device by MAC.

ParametersJSON Schema
NameRequiredDescriptionDefault
macYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only says 'Connect', without explaining side effects, what happens if already connected, permissions required, or error cases.

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 a single concise sentence, front-loaded with the action and key detail. No wasted words.

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

Completeness2/5

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

Despite having a single parameter and an output schema, the description lacks information about return values, error handling, or prerequisites. It is too minimal for full understanding.

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

Parameters2/5

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

The parameter 'mac' is described only as a MAC address in the description, but no format details (e.g., colon-separated, case) are provided. Schema coverage is 0%, so the description adds minimal meaning.

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 action ('Connect to a paired Bluetooth device') and the key parameter ('by MAC'). It is distinct from sibling tools like bluetooth_disconnect and bluetooth_pair.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives, nor any prerequisites (e.g., device must already be paired). The description is purely functional.

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

bluetooth_devicesC

List known/paired Bluetooth devices (name + MAC).

ParametersJSON Schema
NameRequiredDescriptionDefault
paired_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Does not disclose permissions, caching behavior, or performance implications. Minimal disclosure beyond basic list operation.

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?

Single sentence with no fluff. Appropriate length but lacks structure for parameter details.

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?

Output schema exists, so return values are covered. However, description omits parameter usage and typical output format. For a simple list tool, it is adequate but not fully complete.

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

Parameters1/5

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

Schema coverage is 0% (no property descriptions) and description does not mention the only parameter (paired_only). No added meaning beyond 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?

Description clearly states verb 'list', resource 'known/paired Bluetooth devices', and output fields 'name + MAC'. Distinguishes from sibling tools like bluetooth_connect or bluetooth_pair.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like bluetooth_scan. Lacks context for tool selection.

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

bluetooth_disconnectB

[ACTION] Disconnect a Bluetooth device (empty MAC = all).

ParametersJSON Schema
NameRequiredDescriptionDefault
macNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It reveals that an empty MAC disconnects all devices, but it does not disclose other behaviors like error handling, permissions required, or impact on connected devices. This is insufficient for a mutation tool.

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 a single sentence with no wasted words. The '[ACTION]' prefix is a minor redundancy but does not harm conciseness. It is front-loaded with the core action and parameter behavior.

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 simple single-parameter tool with an output schema, the description covers the basic purpose and the notable empty-MAC behavior. However, it omits prerequisites (e.g., Bluetooth adapter on) and error conditions. It is adequate but not fully comprehensive.

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 coverage is 0%, so the description must compensate. It explains that an empty MAC string means all devices will be disconnected, adding meaning beyond the schema's type and default. However, it does not specify the expected MAC format (e.g., colon-separated hex) or any constraints, leaving room for ambiguity.

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 action 'Disconnect' and the resource 'Bluetooth device'. It distinguishes from siblings like bluetooth_connect, bluetooth_pair, and bluetooth_scan by being the only disconnect tool. The additional note about empty MAC adds specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as bluetooth_connect or bluetooth_pair. The description does not mention when not to use it or provide context for choosing it over other Bluetooth tools.

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

bluetooth_pairC

[ACTION] Pair (and optionally trust) a Bluetooth device.

ParametersJSON Schema
NameRequiredDescriptionDefault
macYes
trustNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose side effects (e.g., modifying system state, requiring permissions). It states 'Pair' without explaining consequences like storing pairing keys.

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

Conciseness3/5

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

The description is a single sentence, but the '[ACTION]' prefix is unnecessary and adds noise. It could be trimmed to 'Pair (and optionally trust) a Bluetooth device.'

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

Completeness2/5

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

Despite having an output schema, the description does not mention return values or error conditions. For a tool that likely has side effects, more context (e.g., pairing result, timeout) is expected.

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

Parameters2/5

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

Schema coverage is 0%, and the description adds no parameter-level details. 'mac' is not explained (e.g., format), and 'trust' default is true but meaning unclear. The description only says 'optionally trust' without elaboration.

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?

The description clearly states the action (Pair) and resource (Bluetooth device), and mentions optional trust. It differentiates from siblings like bluetooth_connect by focusing on pairing, not connecting. However, it starts with '[ACTION]' which is extraneous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like bluetooth_connect or bluetooth_devices. The description does not specify prerequisites (e.g., device must be discoverable) or situations where trust is needed.

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

bluetooth_powerA

[ACTION] Turn the Bluetooth adapter on or off.

ParametersJSON Schema
NameRequiredDescriptionDefault
onYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states the action (toggle power) but does not disclose potential side effects, required permissions, or state changes. For a simple toggle, this is minimally adequate.

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 a single sentence that is concise and to the point. Every word is necessary, and there is no redundancy.

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?

Given the simplicity of the tool and the presence of an output schema, the description is largely complete. However, it could mention the expected state after invocation or the immediate effect.

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

Parameters2/5

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

Schema coverage is 0%. The only parameter 'on' (boolean) is not described in the text. The agent must infer from the property name that true turns on and false turns off. Adding a brief sentence would improve clarity.

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 action ('Turn the Bluetooth adapter on or off') with a specific verb and resource. It differentiates well from sibling tools like bluetooth_connect or bluetooth_scan which have different purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, when to use bluetooth_power vs bluetooth_status or bluetooth_devices. The description only states what it does, not the context of use.

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

bluetooth_scanC

Scan for nearby Bluetooth devices for a few seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
secondsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, description must disclose all behavioral traits. It states scanning duration but does not mention whether this is read-only, what happens to existing data, or if it requires pairing. Minimal disclosure.

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?

Single sentence, no wasted words. Front-loaded with action and scope. Highly concise.

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 simple tool with an output schema (not shown) and one optional parameter, description covers the basic function. But missing parameter explanation and behavioral details reduce completeness.

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

Parameters2/5

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

Schema coverage is 0%, so description should explain the 'seconds' parameter. It does not, leaving the agent to infer meaning from default/title alone, which is insufficient.

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?

The description clearly states the tool scans for nearby Bluetooth devices, using specific verb and resource. However, it does not distinguish from sibling tools like bluetooth_devices or bluetooth_status, which have overlapping functionality.

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

Usage Guidelines2/5

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

No guidance on when to use scan vs other Bluetooth tools. Lacks context about prerequisites, alternatives, or exclusions. Only mentions duration implicitly.

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

bluetooth_statusA

Bluetooth adapter status (powered, discoverable, pairable).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must disclose traits. It states returned fields but does not mention whether it is read-only or requires permissions. Adequate but could add safety info.

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?

Single sentence with all essential information, no wasted words. Front-loaded and efficient.

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 no parameters and the presence of an output schema, the description adequately conveys the tool's purpose and returns. Lists the key status fields.

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?

No parameters exist, so baseline is 4. Description adds no param info, which is fine since schema coverage is 100% and there are no params.

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?

Clearly states the resource (Bluetooth adapter) and the action (get status), listing specific attributes (powered, discoverable, pairable). Differentiates from siblings like bluetooth_connect or bluetooth_devices.

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?

Implied usage (check adapter status) but no explicit when-to-use or alternatives. Lacks guidance on when not to use.

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

check_command_existsB

Is a CLI tool installed? Returns presence + absolute path.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses that the tool checks installation and returns presence and path, which is sufficient for a simple read operation. However, it could mention PATH search behavior or edge cases.

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 a single, sharp sentence with no wasted words. It front-loads the purpose and outcomes.

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 simple tool with one parameter and no annotations, the description is fairly complete. It covers the action and output, but lacks parameter details and error/requirements context.

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

Parameters1/5

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

Schema coverage is 0%, and the description does not add meaning to the 'command' parameter beyond its name. No examples, format, or constraints are provided.

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 checks if a CLI tool is installed and returns presence and absolute path. It uses a specific verb and resource, distinguishing it from sibling tools which are unrelated.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description implies usage for checking command existence but does not explain contexts or provide exclusions.

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

check_kernel_ring_bufferA

Kernel messages by level (dmesg, falls back to journalctl -k).

Surfaces driver/hardware issues (USB resets, audio, bluetooth drops) without reading the whole boot log. level e.g. 'err,warn' or 'err'.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoerr,warn
linesNo
grep_patternNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Discloses underlying commands (dmesg, journalctl -k) and default filtering behavior. However, does not explicitly state that it is read-only or any required privileges, but overall informative given no 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?

Two concise sentences with no fluff, front-loaded with purpose. Every sentence adds value.

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?

While the core behavior is clear, two parameters (lines, grep_pattern) are left unexplained, reducing completeness. Output schema exists but does not mitigate the missing parameter semantics.

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?

Only the 'level' parameter is explained with examples; 'lines' and 'grep_pattern' are not described. With 0% schema description coverage, the description partially compensates but is incomplete.

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 retrieves kernel messages filtered by level, with explicit examples (e.g., 'err,warn'). It distinguishes itself from siblings like query_journalctl by focusing on hardware/driver issues.

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?

Suggests use for surfacing driver/hardware issues without reading full boot log, but does not explicitly mention when not to use or compare to alternatives like query_journalctl.

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

control_serviceA

[ACTION] start/stop/restart/reload/enable/disable a systemd unit.

Gated by SYSCONTROL_ALLOW_ACTIONS. System scope may prompt for auth (polkit). Returns rc + new ActiveState.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYes
actionYes
scopeNosystem

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that system scope may require authorization (polkit) and that it returns rc and new ActiveState. It could additionally clarify that enable/disable affect startup state while start/stop affect current runtime, but overall it is fairly transparent.

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 concise (3 sentences) and front-loaded with the action list. It efficiently communicates the core functionality, constraints, and return value. A slightly more structured format (e.g., bullet points for actions) could improve readability, but it is already efficient.

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?

Given the absence of annotations and zero schema coverage, the description provides the essential information: actions, authorization requirements, and return format. However, it does not specify the exact range for the 'scope' parameter (system vs user) and does not relate to sibling tools like get_service_status for pre-checking. The existence of an output schema is noted but not detailed.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. While it lists the possible actions in the description, it does not describe the 'service' or 'scope' parameters with sufficient detail (e.g., valid values, formatting). This leaves the agent with incomplete information.

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 it performs actions on systemd units (start/stop/restart/reload/enable/disable), which distinguishes it from sibling tools like get_service_status that only retrieve status.

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 mentions that the tool is gated by SYSCONTROL_ALLOW_ACTIONS and may prompt for authentication via polkit, providing important context for when and how to use it. However, it does not explicitly mention when not to use it or suggest alternatives like get_service_status for checking status before action.

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

diagnose_crashA

Inspect a coredump (coredumpctl info): signal, exe, stacktrace head.

Args: match: PID, executable name or COMM; empty = most recent crash. limit_lines: cap on returned lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
matchNo
limit_linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries burden. Mentions it runs coredumpctl info and output contents, implying read-only. Does not disclose permissions or error behaviors, but adequate for a diagnostic tool.

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?

Short, front-loaded with main action and source command. Parameter explanations are concise and clear. No wasted words.

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?

Covers all parameters and provides source command. Output schema exists, so return values are covered. Missing error handling notes, but overall sufficient for a simple diagnostic tool.

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

Parameters5/5

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

Schema coverage is 0%, but description adds full meaning: match specifies crash identifier and default behavior; limit_lines caps output. Adds value beyond 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 inspects a coredump using coredumpctl info and lists key output elements (signal, exe, stacktrace head). It distinguishes from sibling 'list_coredumps' by focusing on detailed inspection.

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?

Provides guidance for the match parameter (PID, executable, COMM, empty for most recent), helping agents know when to use. Could explicitly state when not to use, but sufficient for most cases.

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

find_processesC

Find processes whose name/cmdline matches a substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so description carries full burden. It discloses the substring matching behavior but omits side effects, permission needs, response format, or any other behavioral traits. Minimal added value.

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 extremely concise with one sentence front-loaded with the verb and resource. Every word is functional, though the brevity sacrifices completeness.

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

Completeness2/5

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

Despite having an output schema, the description lacks context on search behavior (e.g., case sensitivity, partial matches, ordering). It does not compensate for the absence of parameter descriptions in the schema.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no parameter-level meaning. The 'name' and 'limit' parameters remain undocumented beyond their types and defaults, leaving the agent without guidance on valid inputs.

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?

The description clearly states the verb 'find' and resource 'processes', and specifies the filter condition (name/cmdline substring match). It distinguishes from process tools like 'get_process_info' which retrieve by PID, but could be more explicit about the search nature.

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

Usage Guidelines2/5

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

Description provides no guidance on when to use this tool versus alternatives like 'get_process_info', 'get_process_top', or 'kill_process'. No context on prerequisites or 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.

get_battery_healthA

Battery health via upower: capacity, cycles, energy, state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. The description mentions it uses upower but does not disclose if special permissions are needed, error cases, or whether it is a safe read-only operation. Behavioral transparency is insufficient.

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 one sentence, front-loaded with the purpose. No wasted words.

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?

The tool has no parameters and an output schema exists (though not shown). The description lists expected return attributes but does not cover error handling, return format, or edge cases. Adequate but not comprehensive.

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?

The tool has zero parameters, and schema description coverage is 100% (vacuously). The description does not need to add parameter information, so baseline of 4 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 clearly states the tool retrieves battery health information using upower, listing specific attributes (capacity, cycles, energy, state). It is specific and distinguishes itself from siblings like get_power_profile.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. No mention of prerequisites (e.g., upower installation), no exclusions or explicit usage context. The description only implies usage.

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

get_block_devicesA

Block devices / partitions via lsblk -J (native JSON).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description mentions using lsblk -J, hinting at a read-only operation. However, it does not explicitly state if root privileges are needed or if there are side effects. Since no annotations are provided, the description carries full burden but is somewhat vague.

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 extremely concise—one sentence with no wasted words. It is front-loaded with the key purpose and method.

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 zero-parameter tool without output schema, the description is adequate but could be more complete by hinting at the JSON structure or typical use cases. It provides the core info but lacks depth.

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?

The tool has zero parameters, so baseline is 4 per guidelines. The description adds context about the underlying command (lsblk -J), which enriches understanding beyond the empty 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 retrieves block devices/partitions using lsblk with JSON output. It distinguishes from siblings like get_disk_usage by focusing on block devices specifically.

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?

The description implies usage for listing block devices but lacks explicit guidance on when to use vs alternatives. No exclusions or when-not-to-use are provided, which would be helpful given the many sibling tools.

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

get_boot_performanceC

Slowest units at boot (systemd-analyze blame) + total boot time.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permission requirements, or side effects. It only states what the tool returns, leaving agents without critical safety information.

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 very concise at one sentence, but it could be slightly more informative without losing conciseness. It front-loads the key information.

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?

An output schema exists to document return values, but the description lacks context on what constitutes 'slowest units' or how total boot time is derived. For a tool with one optional parameter and an output schema, it is barely adequate.

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

Parameters1/5

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

The schema has 0% description coverage for the 'limit' parameter, and the description adds no meaning beyond the schema's type and default. It does not explain that 'limit' controls the number of slowest units returned.

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 returns slowest units at boot (analogous to systemd-analyze blame) and total boot time. It uses a specific verb ('get') and resource ('boot performance'), distinguishing it from sibling tools like get_system_info.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where another tool might be more appropriate.

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

get_brightnessA

Current display brightness (percent) for internal backlight(s).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It correctly identifies the operation as read-only (current brightness) and specifies the output as a percentage. No hidden behaviors; the description is truthful and sufficient for a simple getter.

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 a single, concise sentence that front-loads the purpose. Every word earns its place, with no redundancy or unnecessary detail.

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 no parameters and an existing output schema, the description fully explains what the tool does and returns (brightness percent). No additional context is needed for a straightforward getter.

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?

The tool has zero parameters, so baseline is 4. The description does not need to add parameter meaning; the schema already covers parameter definitions (none).

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 retrieves the current display brightness for internal backlights, using a specific verb ('get') and resource ('brightness'). It is unambiguous and distinguishes itself from sibling tools like 'set_brightness'.

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 context is clear: it reads brightness. No explicit when-to-use or alternatives are mentioned, but the usage is obvious given it has no parameters and is a getter. A simple mention that it complements 'set_brightness' would improve it.

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

get_cpu_governorB

Current CPU frequency governor + the ones available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must carry the burden. It implies a read operation (get_) but does not explicitly state that the tool is non-destructive, has no side effects, or any privacy/security concerns. The description provides minimal behavioral insight beyond the action.

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 a single sentence covering the essential output. It is concise but could be slightly more structured (e.g., 'Returns the current CPU frequency governor and the list of available governors.') However, it is efficient and front-loaded.

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?

Given the tool has no parameters and an output schema exists (to describe return values), the description is adequate. It clearly states what the tool provides. For a simple informational getter, it is nearly complete.

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?

The tool has no parameters, so the input schema is trivial. The description adds value by explaining what the tool returns (current governor and available ones). This is sufficient for a zero-parameter tool.

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?

The description states the tool returns the current CPU frequency governor and the available ones. This clearly indicates the resource and action, distinguishing it from the sibling set_cpu_governor. However, it could be more explicit (e.g., 'Get the current...').

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of when to choose this over set_cpu_governor or other system info tools. The description lacks any usage context.

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

get_cpu_infoA

CPU model, core counts, per-core frequency and current governor.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description specifies exactly what data is returned, implying a read-only operation. However, it does not explicitly state lack of side effects.

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?

One sentence listing all returned fields; no wasted words.

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 and zero parameters, the description adequately covers the tool's purpose and return data.

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?

No parameters exist; baseline 4 applies. The description correctly adds no param info.

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 lists specific CPU information (model, core counts, per-core frequency, governor), distinguishing it from siblings like get_cpu_governor which only returns the governor.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as get_cpu_governor or get_system_info.

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

get_dbus_propertyA

Read a D-Bus property (or all of an interface) via busctl.

Example: service 'org.kde.KWin', path '/KWin', interface 'org.kde.KWin'. Leave name empty to dump the whole interface.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYes
pathYes
interfaceYes
nameNo
busNosession

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations, so description carries burden. Describes read operation and behavior of empty name, but does not mention permissions, safety, or return format. Adequate but not detailed.

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 plus example, front-loaded with purpose. No redundant words, every sentence adds value.

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?

Moderate complexity; output schema exists but description does not mention prerequisites (busctl), bus types, or error handling. Adequate for basic use but incomplete.

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

Parameters2/5

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

Schema coverage is 0%, but description only illustrates parameters via example without explaining semantics. Bus parameter default 'session' is mentioned but no possible values. Leaves gaps.

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?

Clearly states 'Read a D-Bus property (or all of an interface) via busctl.' Specific action and resource, distinguishes from sibling list_dbus_services which lists services.

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?

Provides example usage with specific values and explains that leaving name empty dumps whole interface. Lacks explicit alternatives or when-not-to-use, but context is clear.

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

get_disk_usageC

Mounted filesystems with usage % (real disks only).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

No annotations are provided so description carries full burden. It discloses filtering to real disks (behavioral). However, it does not mention if permissions are required, if it is safe (read-only), or what the response format looks like. With an output schema existing, the lack of format info is less critical.

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 extremely concise (one sentence) with no wasted words. It is front-loaded and clear, though it could benefit from a slightly more verbose structure to cover parameter semantics.

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

Completeness2/5

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

Given the tool has only one optional parameter and an output schema, the description covers the basic purpose but leaves out parameter documentation and usage context. For a simple tool, this might be adequate, but completeness suffers without parameter guidance.

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

Parameters1/5

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

The only parameter 'limit' is not described. Schema coverage is 0%, and the description does not mention limit or explain its purpose. The agent gets no help understanding how to use this parameter from the description.

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?

The description clearly states the tool shows mounted filesystems with usage percentage, filtering to real disks only. 'get_disk_usage' is a specific verb+resource. It differentiates from siblings like 'get_block_devices' or 'get_system_info' by focusing on usage percentage.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'get_block_devices' or 'get_system_info'). The description implies real disks only, but does not explicitly state when to choose this tool or what prerequisites exist.

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

get_gpu_infoA

GPU summary: vendor (lspci VGA) + NVIDIA stats if nvidia-smi present.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/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 mentions using lspci and nvidia-smi, but does not disclose what happens if nvidia-smi is absent (only vendor info?), if no GPU is present, or any permissions needed. Lacks sufficient edge case coverage.

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?

Extremely concise at one sentence with no fluff. Every word adds value, front-loading the key output components.

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?

Given zero parameters and existence of an output schema, the description is adequate but minimal. It lacks detail on return format or error states, which could be partially covered by the output schema. Still, for a simple tool, it is reasonably complete.

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?

No parameters exist (schema coverage 100%), so baseline is 4. Description does not add param info, which is acceptable since there are none.

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?

Description clearly states it provides a GPU summary with vendor info from lspci VGA and NVIDIA stats if nvidia-smi is present. The verb 'summary' and resource 'GPU' are specific, and it distinguishes from sibling tools like get_cpu_info by focusing on GPU.

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?

No explicit guidance on when to use this tool versus alternatives. However, the narrow scope implies use for GPU information. Missing statements about prerequisites or exclusion criteria, making it average.

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

get_hardware_sensorsA

Live sensors: temps, fans, battery (category 'temps'/'fans'/'battery'/'all').

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided. The description mentions 'live sensors' implying real-time data but does not disclose read-only nature, potential blocking, or any side effects. With no annotations, the description carries the full burden but provides minimal behavioral details.

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 a single, front-loaded sentence that conveys the essential purpose and parameter options with no wasted words. It could be slightly more structured but is highly efficient.

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?

Given that an output schema exists (handling return details), the description adequately covers the tool's purpose and parameter. It might benefit from mentioning that categories like 'temps' return multiple readings (e.g., CPU, GPU), but overall it is sufficient.

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?

The single parameter 'category' has a default and the description enumerates valid values ('temps'/'fans'/'battery'/'all'), adding significant meaning beyond the bare schema. Even with 0% schema description coverage, the description compensates well.

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 it provides live sensor data for temps, fans, and battery, with an explicit parameter 'category' listing valid values. It distinguishes from similar tools like 'get_battery_health' or 'get_cpu_info' by focusing on sensor monitoring.

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 (for retrieving sensor readings) but no explicit guidance on when to choose this over siblings like 'get_battery_health' or 'get_cpu_info', nor any exclusion criteria.

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

get_kde_themeA

Current KDE color scheme, icon theme, look-and-feel & plasma version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 full burden. It describes what is returned (color scheme, icon theme, etc.) but does not explicitly state that the tool is non-destructive or has no side effects. This is adequate but could be more transparent.

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 a single, concise sentence that front-loads the key information. There is no wasted language, and every word serves a purpose.

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?

For a simple getter tool with no parameters and an output schema, the description provides sufficient context about what data is returned. It is complete enough given the tool's complexity.

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?

The tool has no parameters, and schema coverage is 100%. The description adds meaning by specifying the data returned, which goes beyond the schema. Baseline for zero parameters is 4.

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 retrieves current KDE color scheme, icon theme, look-and-feel, and plasma version. It is a specific verb+resource combination and distinguishes itself from sibling tools like set_color_scheme and set_global_theme.

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?

The description does not provide explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of context or exclusion criteria, which is acceptable for a simple getter but could be improved.

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

get_now_playingA

Current media: player, status, artist/title (MPRIS via playerctl).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It correctly implies read-only behavior but does not disclose potential side effects (none expected), required conditions (e.g., a running MPRIS-capable player), or error states. Added detail on empty results or player absence would improve transparency.

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 a single concise sentence that front-loads the core purpose. Every word adds value, with no redundancy or filler.

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?

Given no parameters and an existing output schema, the description provides enough context: it names the key fields (player, status, artist/title) and the underlying technology (MPRIS/playerctl). Could be slightly more explicit about platform assumptions (Linux with playerctl installed), but overall sufficient for a simple retrieval tool.

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?

The tool has no parameters, so schema coverage is trivially 100%. The description adds no parameter information but also doesn't need to. Baseline for zero-parameter tools is 4.

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?

The description clearly states the tool retrieves current media information including player, status, and artist/title via MPRIS/playerctl. It distinguishes from the sibling 'media_control' which likely handles playback control. However, it doesn't specify what 'status' entails (e.g., playing/paused/stopped), so not a perfect 5.

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?

The description implies usage for retrieving current media state, contrasting with sibling 'media_control' for control actions. However, it lacks explicit guidance on when to use this tool versus alternatives, and does not mention prerequisites or cases where the tool might return empty.

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

get_power_profileA

Active power profile + available ones (power-profiles-daemon).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so the description carries the burden. It discloses the tool's purpose and scope (power-profiles-daemon). For a read-only tool with no parameters, the description is sufficiently transparent about what the tool does and returns.

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 a single, efficient sentence that front-loads the key information. No wasted words.

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 no parameters and the presence of an output schema, the description adequately covers the tool's behavior. It states what is returned (active + available profiles) and the context (power-profiles-daemon), making it complete for an agent.

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?

No parameters exist; baseline is 4. The description adds meaning by specifying the data returned (active and available profiles) and the underlying system, which is useful beyond the empty 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 gets the active power profile and available ones, specifying the backend (power-profiles-daemon). The verb 'get' and resource are explicit, and it distinguishes from sibling 'set_power_profile'.

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?

No guidance on when to use this tool versus alternatives like get_battery_health or get_cpu_governor. The usage is implied as a simple read operation, but explicit exclusions or alternatives are missing.

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

get_process_infoA

Detailed info for one PID: cmdline, cpu/mem, threads, open files.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided. The description mentions it provides detailed info but does not disclose potential performance impact, permissions, or blocking behavior. It is adequate but could be richer for a diagnostic tool.

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 a single, concise sentence that front-loads the key info. No unnecessary words, every part contributes to understanding.

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?

With an output schema present, the description need not detail return values. The tool is simple (one parameter), and the description covers the core functionality. Could mention that pid must be a running process.

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

Parameters2/5

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

Schema coverage is 0% with no description for the 'pid' parameter. The description does not elaborate on the parameter beyond the tool's name. For a single integer parameter, it is somewhat obvious, but the description adds no value over 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 it provides detailed info for a specific PID, listing types of info (cmdline, cpu/mem, threads, open files). This distinguishes it from siblings like 'get_process_top' (summary) and 'find_processes' (list PIDs).

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 implies use when needing detailed info on a single PID. Context signals show siblings, but no explicit when-not or alternatives. However, the purpose is clear enough for an agent to infer usage.

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

get_process_topA

Top resource-consuming processes (sort_by 'cpu' or 'memory').

ParametersJSON Schema
NameRequiredDescriptionDefault
sort_byNocpu
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior fully. It mentions sorting and top resources but omits details like whether data is real-time, units, or that limit defaults to 8. This leaves some ambiguity.

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?

Single sentence, no filler, front-loaded key information. Every word earns its place.

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?

With an output schema present, return value details are not needed. The description covers the main purpose and sorting, but could mention the default limit or result structure. Mostly complete for a simple listing tool.

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

Parameters2/5

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

Schema description coverage is 0%, so description must compensate. It only partially describes sort_by (two values) and completely omits limit. The limit param's purpose and default are left to the schema alone.

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 it returns 'top resource-consuming processes' with sorting by CPU or memory. This distinguishes it from siblings like find_processes or get_process_info.

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?

The description implies when to use (listing top consumers) but does not explicitly contrast with alternatives like find_processes or get_process_info. No when-not-to-use guidance is provided.

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

get_service_statusA

Status of a systemd unit + last few journal lines.

Args: service: unit name (e.g. 'bluetooth.service'). scope: 'system' or 'user'. log_lines: recent journal lines to include (0–40).

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYes
scopeNosystem
log_linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description only indicates a read operation ('Status', 'last few journal lines'). It lacks disclosure of permissions, safety, or side effects, but no contradictions are present.

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 extremely concise: a one-line summary followed by bullet points for each parameter. No unnecessary words, and key information is front-loaded.

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?

Given the tool has 3 parameters, an output schema (not detailed in description but exists), and no nested objects, the description covers the essential purpose and parameter semantics. It does not elaborate on return value format, but the output schema covers that gap.

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

Parameters5/5

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

The input schema has 0% description coverage, but the description fully compensates by clearly explaining each parameter: service name, scope ('system' or 'user'), and log_lines count (0–40). This adds essential meaning beyond 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 it returns the status of a systemd unit and recent journal lines, using a specific verb and resource. It distinguishes itself from siblings like control_service (which changes state) and list_services (which lists all).

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?

The description provides parameter details but does not explicitly state when to use this tool versus alternatives like control_service or query_journalctl. Usage context is implied but not directly addressed.

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

get_system_infoA

OS, kernel, uptime, CPU/mem summary, load average. One cheap call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/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 discloses that the call is 'cheap', implying low cost. It does not mention side effects, auth needs, or rate limits, but for a simple read operation this is sufficient. No contradictions.

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?

Extremely concise: two sentences totaling 13 words. The first sentence front-loads the key information, and the second adds the cost hint. Every word earns its place.

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 zero parameters and an existing output schema, the description is fully complete. It covers what the tool does and its lightweight nature, leaving no gaps for an agent to misunderstand.

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

Parameters5/5

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

There are zero parameters, so schema description coverage is 100%. The description adds value by enumerating the content of the output (OS, kernel, etc.), which goes beyond the input schema's empty definition.

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 lists the specific information returned (OS, kernel, uptime, CPU/mem summary, load average). It uses a specific verb ('get') and resource ('system info'), distinguishing it from sibling tools like get_cpu_info or get_disk_usage by being a composite summary.

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 phrase 'One cheap call' implies efficient use for a quick overview. While it doesn't explicitly state when not to use it or name alternatives, the context of a summary alongside many specific sibling tools provides implicit guidance.

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

get_volumeA

Default audio sink volume & mute state (PipeWire/wpctl or pactl).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

As a read-only getter with no annotations, the description conveys it's a non-destructive operation. It mentions the backend, which hints at dependencies. Could mention possible failure if audio system unavailable, but overall transparent.

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?

Single sentence, no fluff, front-loaded with key information. Parenthetical backend note is efficient.

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 zero-parameter, read-only tool with an output schema, the description sufficiently explains what is returned. No gaps given simplicity.

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?

No parameters exist, so the description adds nothing beyond schema. Baseline for 0-param tools is 4.

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?

Description clearly states it retrieves the volume and mute state of the default audio sink, distinguishing it from sibling tools like set_volume and set_mute. The backend hint (PipeWire/wpctl or pactl) adds specificity.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The context of siblings implies it's for reading, but no when-to-use or when-not-to-use statements are provided.

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

grep_fileC

Regex-search a single file, returning matching lines with numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
patternYes
max_matchesNo
contextNo
ignore_caseNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions 'single file' and 'matching lines with numbers', but omits details like handling of binary files, memory usage, file size implications, or that it reads the entire file. With no annotations, this is insufficient for safe inference.

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

Conciseness3/5

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

The description is a single sentence, efficiently front-loaded with essential action, but for a 5-parameter tool it is too brief. It sacrifices informativeness for conciseness.

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

Completeness1/5

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

Given 5 parameters with no schema descriptions and no annotations, the description is critically incomplete. It does not explain how to use the parameters or what the output format is beyond 'lines with numbers', despite an output schema existing. The description fails to compensate for lack of structured documentation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation of parameters beyond their titles. It fails to clarify that 'path' is the file path, 'pattern' is a regex, 'context' lines around matches, 'max_matches' limit, or 'ignore_case' behavior. The description adds no semantic value.

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 verb 'Regex-search', the resource 'a single file', and the output 'matching lines with numbers'. It distinguishes the tool from siblings like list_directory_tree or find_processes which do not perform regex file search.

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?

The description implies use for regex searches on a single file, but does not explicitly state when to use or avoid this tool versus alternatives. No sibling grep tools exist, but the description could include contexts like 'when you need to find matching lines in a specific file.

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

inspect_process_ioA

Open files & network connections held by a process (debug hangs).

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/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 describes the tool as reading open files and network connections, implying a read-only operation. It could mention permissions or performance impact, but it is adequate for a simple inspection tool.

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 a single, front-loaded sentence that conveys the essential information without any waste. It is concise and to the point.

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?

Given the tool has an output schema and is simple (2 parameters, no nested objects), the description provides enough context for correct invocation. It could mention pagination or output format, but it is largely complete.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not add any meaning to the parameters beyond their types. 'pid' is implied by context, but 'limit' is not explained. The description should compensate for the lack of schema descriptions.

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 'Open files & network connections held by a process (debug hangs)', using a specific verb and resource. It distinguishes this tool from siblings like get_process_info and kill_process by focusing on I/O inspection for debugging hangs.

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 implies usage for debugging hangs, providing clear context. However, it does not explicitly state when not to use this tool versus alternatives like get_process_info, though the specific purpose helps differentiate.

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

kde_notifyC

Send a desktop notification (notify-send). Harmless, ungated.

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryYes
bodyNo
urgencyNonormal

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It states 'harmless, ungated' but omits details like whether a desktop session is required, if notifications are persistent, or what the output implies. This is insufficient.

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 very concise with two short sentences and no unnecessary words. However, it sacrifices completeness for brevity, which is acceptable if the tool is simple, but parameter details are missing.

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

Completeness2/5

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

Given the low complexity and presence of an output schema, the description should at least cover parameter behavior and usage context. It fails to do so, leaving the agent underinformed about argument semantics.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain parameters. It does not. The 'urgency' parameter's allowed values or the 'body' field's purpose are not clarified, leaving the schema to carry the full burden.

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's purpose: sending a desktop notification via notify-send. It uses a specific verb 'Send' and a concrete resource 'desktop notification', making it unmistakable.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions 'harmless, ungated' but does not compare to sibling tools or specify scenarios for use.

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

kill_processB

[ACTION] Send a signal to a PID (default SIGTERM). Gated.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidYes
signalNoTERM

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It states the action and default signal, but fails to mention that sending a signal can terminate processes, cause data loss, or require elevated permissions. The 'Gated' hint is vague.

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 very short (one sentence plus 'Gated'), which is efficient. However, it could be better structured with explicit sections like action, resource, and constraints.

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

Completeness2/5

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

Given the tool's simplicity and the existence of an output schema (not shown), the description should still cover side effects (process termination), error handling, and signal format specifics. It lacks completeness in these areas.

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 description must compensate. It mentions 'PID' and 'default SIGTERM', adding context to the pid and signal parameters, but does not explain valid signal names or formats, nor that pid is required.

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 action ('Send a signal') and the resource ('a PID'), with specifics like default SIGTERM. It distinguishes from siblings like find_processes and get_process_info, which are informational, while this tool is about signaling processes.

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

Usage Guidelines2/5

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

The description only mentions it is 'Gated,' implying access control, but provides no guidance on when to use this tool vs alternatives (e.g., when to use kill_process vs other process tools), nor any when-not-to-use conditions.

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

kwin_reconfigureA

[ACTION] Tell KWin to reload its configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits beyond the action. It doesn't specify side effects (e.g., screen flicker), whether the reload is synchronous, or if user confirmation is needed. For a system-level configuration reload, this omission is significant.

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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's purpose.

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?

Given the tool's simplicity (no parameters, no nested objects) and the presence of an output schema (though its contents are unknown), the description is largely sufficient. However, missing behavioral context prevents a perfect score.

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?

The tool has zero parameters, and the schema coverage is 100%. The description adds no parameter details because there are none. According to the rubric, baseline is 4 for 0 params; the description does not need to compensate.

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 action: 'Tell KWin to reload its configuration.' It uses a specific verb ('reload') and resource ('configuration'), distinguishing this tool from siblings that are unrelated (e.g., power actions, volume control). No ambiguity.

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?

No explicit guidance on when to use this tool or alternatives. However, the action is simple and self-contained; the lack of similar sibling tools reduces the need for differentiation. The description implies usage for refreshing KWin config, but no exclusions or prerequisites are mentioned.

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

launch_appA

[ACTION] Launch an app: a .desktop id, or a binary on PATH.

Examples: 'firefox', 'org.kde.dolphin', 'code'. Extra args optional. Detaches the process so it outlives the request.

ParametersJSON Schema
NameRequiredDescriptionDefault
appYes
argsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description mentions the key behavioral trait that the process detaches to outlive the request. However, with no annotations, it lacks details on permissions, error handling, or return values, which would be beneficial.

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: three sentences with no redundant information. It front-loads the action, gives examples, and states the detached process behavior, all in a compact form.

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?

The tool is simple with only two parameters, and the description covers input and a key behavior. However, it does not mention return values or error conditions, and the presence of an output schema (not visible) means the description could be more complete.

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?

With 0% schema description coverage, the description compensates by explaining that 'app' is a .desktop id or binary, and 'args' are optional extra arguments, providing examples that add meaning beyond the raw schema types.

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 launches an app using either a .desktop id or a binary on PATH, with concrete examples like 'firefox' and 'org.kde.dolphin'. This distinguishes it from siblings such as list_desktop_apps and open_path.

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?

The description provides basic usage (provide app identifier, optional args) but does not explicitly state when to use this tool versus alternatives like open_path or find_processes. No exclusions or when-not guidance is given.

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

list_color_schemesA

Available KDE color schemes (for set_color_scheme).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/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 does not specify read-only or non-destructive behavior, but the listing nature implies safety. The description adds minimal behavioral context beyond the obvious.

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?

A single sentence that is front-loaded and concise. Every word serves a purpose, clearly conveying the tool's function and connection to set_color_scheme.

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 no parameters and the existence of an output schema (provided externally), the description is complete for a simple list tool. It does not need to explain return values as the output schema covers that.

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?

The tool has no parameters, so the baseline score is 4. The description does not need to add parameter information, and it appropriately omits it.

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?

Clearly states the tool lists available KDE color schemes, with a specific verb and resource. It distinguishes itself from the sibling set_color_scheme by mentioning it is for use with that tool.

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 implies usage context by stating 'for set_color_scheme', indicating it should be used before setting a scheme. However, it does not explicitly exclude other uses or provide when-not-to-use guidance.

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

list_coredumpsC

Recent application crashes (coredumpctl list).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions the command equivalent, lacking details on permissions, side effects, or limitations. This is insufficient.

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

Conciseness3/5

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

The description is extremely concise (one sentence). While brevity is good, it omits important parameter information, making it less useful than it could be.

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?

Given the low complexity (one optional parameter, no required params, output schema exists), the description is minimally adequate. It mentions the underlying command but does not cover parameter semantics or usage notes.

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

Parameters2/5

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

The 'limit' parameter is not explained in the description. Although the schema provides type and default, the agent has no context about its purpose. Schema description coverage is 0%, so the description should compensate but does not.

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?

The description clearly states the tool lists recent application crashes via the coredumpctl command. It is specific but does not explicitly differentiate from the sibling 'diagnose_crash' tool, which might also analyze crashes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'diagnose_crash'. The description does not provide context for preferred use cases or exclusions.

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

list_dbus_servicesA

List D-Bus names on the session or system bus (filterable).

ParametersJSON Schema
NameRequiredDescriptionDefault
busNosession
filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden but only states the action and filterability. It does not disclose side effects, permissions, or behavior when no names are found, which is minimal transparency for a read-only listing tool.

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 a single concise sentence front-loaded with the main action. While efficient, a second sentence for usage context would improve structure without sacrificing brevity.

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?

Given the output schema covers return values, the description adequately explains basic functionality and parameter roles. It is mostly complete but could mention typical use cases or output details.

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 description adds meaning to the bus and filter parameters (session/system bus, filterable) over the schema, which has 0% description coverage. However, it lacks specification of valid bus values or filter syntax, leaving gaps.

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 verb 'List' and resource 'D-Bus names', explicitly scopes to 'session or system bus', and mentions filterability, clearly distinguishing it from sibling tools like get_dbus_property or list_services.

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?

The description implies usage for listing D-Bus names but provides no explicit guidance on when to use alternatives (e.g., get_dbus_property for specific properties) or any exclusions, leaving the agent to infer context.

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

list_desktop_appsB

List installed .desktop application IDs (for launch_app).

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like output format or permissions, but it only states a basic purpose. The presence of an output schema is noted, but the description does not supplement it.

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 a single, concise sentence with no wasted words. However, it sacrifices necessary detail for brevity.

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

Completeness2/5

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

The tool has two parameters and an output schema, but the description ignores them, leaving the agent uninformed about filtering, limits, and return format.

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

Parameters2/5

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

The description does not mention the two parameters ('filter' and 'limit') despite 0% schema description coverage. It adds no meaning beyond what the schema provides.

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 verb 'List', the resource 'installed .desktop application IDs', and the purpose '(for launch_app)', making it easy to distinguish from sibling tools like 'launch_app' or system info tools.

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?

The description implies use with 'launch_app' but provides no explicit guidance on when to use this tool vs alternatives, nor any context about filtering or limiting results.

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

list_directory_treeA

Compact directory tree (names + sizes), depth/entry-bounded.

Understand a config dir's structure without reading any file contents. Args: path, max_depth (1–6), max_entries cap, show_hidden.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
max_depthNo
max_entriesNo
show_hiddenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses it returns names and sizes, bounded by depth and entries, and shows hidden files. Also notes it does not read file contents. Missing details on return format or permissions, but sufficient for a read-only tool.

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?

Three sentences, front-loaded with core purpose, then context, then parameter list. No wasted words; every sentence adds essential information.

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 output schema exists (handles return values), the description covers purpose, all parameters with constraints, usage context, and behavioral boundaries. Adequate for a tool with 4 parameters and no annotations.

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 0%, and description compensates by listing all four parameters (path, max_depth, max_entries, show_hidden) with constraints (max_depth 1–6, max_entries cap). Adds value beyond schema which lacked descriptions.

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?

Description clearly states it lists directory tree with names and sizes, depth/entry-bounded. It explicitly says 'understand a config dir's structure without reading any file contents', differentiating from sibling tools like grep_file or read_config_snippet.

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?

Implied usage: 'understand a config dir's structure without reading any file contents' suggests when to use, but no explicit when-not or alternatives. Among siblings, no other directory listing tool exists, so differentiation is inherent.

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

list_failed_servicesB

All failed units — fastest 'what's broken?' check.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNosystem

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states it lists failed units, but does not disclose whether it requires permissions, affects system state, or how the scope parameter (default 'system') influences behavior. No mention of output format, ordering, or any side effects.

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 extremely concise: one phrase delivers the core purpose. No wasted words, and the most important information ('All failed units') is front-loaded.

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

Completeness2/5

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

Despite having an output schema, the description omits critical context about the single parameter (scope) and behavioral details. For a tool with only one parameter, this is a significant gap. The description does not fully cover what the agent needs to invoke it correctly.

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

Parameters1/5

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

There is one parameter 'scope' with 0% schema description coverage. The tool description does not mention the parameter at all, failing to add any meaning beyond the schema's basic type and default value.

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 lists all failed units and positions it as the fastest 'what's broken?' check. It uses a specific verb and resource ('All failed units'), and effectively distinguishes itself from sibling tools like 'list_services' by focusing exclusively on failed state.

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?

The description implies use for quickly checking broken components, but provides no explicit guidance on when not to use this tool or alternative tools like 'list_services', 'query_journalctl', or 'diagnose_crash'. The context is clear but lacks comparative usage direction.

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

list_pci_devicesB

PCI devices (lspci), optionally filtered (e.g. 'VGA', 'Network').

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It mentions optional filtering but does not describe error handling, authentication needs, or potential side effects. Minimal transparency.

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 a single concise sentence that captures the essence. It is front-loaded with the main action. However, it could include a bit more detail without being lengthy.

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?

Given the tool's simplicity (1 optional param, no annotations, output schema present but not detailed), the description is minimally adequate but lacks specifics on return format, error scenarios, or system requirements.

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 single parameter 'filter' has a default empty string. The description adds meaning by indicating it's optional and providing examples ('VGA', 'Network'), but does not specify the matching behavior or syntax. Schema coverage is 0%, so description partially compensates.

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 lists PCI devices via lspci and supports optional filtering with examples. It distinguishes itself from sibling tools like list_usb_devices.

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?

The description implies usage for retrieving PCI device information but does not specify when to use this tool over alternatives like get_system_info. No exclusions or when-not-to-use guidance.

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

list_servicesC

List systemd units. state: 'running','failed','enabled','all'.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNorunning
scopeNosystem
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It does not disclose whether the tool is read-only, requires permissions, or any side effects. The description adds minimal behavioral context beyond the name.

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 very concise with one sentence that front-loads the main purpose. No unnecessary words, though it could benefit from slightly more detail.

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?

There is an output schema (not shown) which likely covers return values, so that gap is acceptable. However, the description leaves parameter details and usage context incomplete for a tool with no annotations.

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

Parameters2/5

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

Schema description coverage is 0%. The description only mentions the 'state' parameter with example values but does not explain 'scope' or 'limit'. It fails to compensate for the lack of schema documentation.

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?

The description clearly states 'List systemd units' with a specific verb and resource. It also hints at the state filter. However, it does not differentiate from the sibling tool 'list_failed_services' which could cause confusion.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_failed_services or control_service. The description only lists possible state values but does not explain the context or exclusion criteria.

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

list_usb_devicesA

Connected USB devices (lsusb).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the action without disclosing behavioral traits (e.g., read-only, no side effects, permission needs).

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?

Extremely concise: one line with clear intent. No wasted words, and the core purpose is front-loaded.

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?

Has output schema, so return values are covered. Lacks usage context but is minimally complete for a simple list tool with no parameters.

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?

No parameters exist, so schema coverage is 100% trivially. Per guidelines, 0 parameters baseline is 4, and the description adds no parameter info, which is acceptable.

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 lists connected USB devices, referencing the `lsusb` command. It distinguishes from sibling tools like bluetooth_devices and list_pci_devices.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_pci_devices or bluetooth_devices. No context for when not to use.

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

lock_sessionA

[ACTION] Lock the screen.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

Description only states 'Lock the screen' with no behavioral context beyond the action. No mention of effects, authentication requirements, or return value. Annotations are absent, so description carries full burden but provides minimal info.

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?

Description is extremely concise with one sentence. No unnecessary words, front-loaded with action.

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 simple lock tool with no parameters and presence of output schema, the description is minimally adequate. However, it lacks any usage context or guidance relative to sibling tools.

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?

Zero parameters with 100% schema coverage. Description adds no parameter details, but given no parameters exist, baseline 4 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?

Description states 'Lock the screen' which is a specific verb and resource. It clearly distinguishes from sibling tools like suspend_system and power_action.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as suspend_system or power_action. No context on prerequisites or lock behavior.

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

media_controlB

[ACTION] Control playback: play/pause/play-pause/next/previous/stop.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so description must cover behavioral traits. It only states the action without disclosing side effects (e.g., if it spawns a new process), required permissions, or error conditions. For a control tool, more transparency is needed.

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 sentence, no wasted words. However, the '[ACTION]' prefix is ambiguous and could be removed. Overall efficient but slightly unclear formatting.

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 simple tool with one parameter and an output schema, the description covers the essential purpose and parameter values. Lacks context on scope (e.g., system-wide vs per-app) and edge cases. Adequate but not thorough.

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 describes 'action' as a string with no enum values (0% schema description coverage). The description compensates by listing exact allowed values: play/pause/play-pause/next/previous/stop. This adds significant meaning beyond 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 controls playback with specific actions: play, pause, play-pause, next, previous, stop. It distinguishes from sibling 'get_now_playing' which only retrieves current track. The verb 'control' and resource 'playback' are precise.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'get_now_playing' or other media tools. There is no mention of prerequisites (e.g., running media player) or context.

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

open_pathB

[ACTION] Open a file/folder/URL with the default handler (xdg-open).

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states the basic action and method, omitting potential side effects (e.g., opening a GUI app), failure modes (e.g., no default handler), or whether it is synchronous/safe. Minimal disclosure.

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 one sentence with no filler. The [ACTION] prefix is somewhat unconventional but does not harm conciseness. Every word is necessary.

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?

Given the tool's simplicity and the existence of an output schema, the description is marginally adequate. However, it lacks information on error handling, success feedback, or behavior when the target does not exist. Leaves gaps for an AI agent to infer.

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 description coverage is 0%, so the description must add meaning. It explains that the 'target' parameter can be a file, folder, or URL. However, it does not clarify the format (absolute/relative paths, URL structure), leaving ambiguity. Adds some value over the schema but incomplete.

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 identifies the action ('Open') and the resource ('a file/folder/URL'), and specifies the method ('default handler (xdg-open)'). It is distinct from sibling tools, which focus on bluetooth, system info, and other unrelated operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, when not to use it, or any prerequisites. The description lacks context on typical use cases or constraints.

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

power_actionB

[POWER] reboot / poweroff — needs SYSCONTROL_ALLOW_POWER too.

Double-gated to avoid accidental data loss.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description discloses the double-gating to prevent accidental data loss and the required permission. It doesn't detail the exact effects of reboot vs poweroff or error conditions.

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 concise with two sentences, front-loading the purpose and key behavioral information. It avoids unnecessary words but could be more structured.

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?

The description is brief but covers the essential purpose and a key safety behavior. It lacks explanation of output/return values, though an output schema exists. Adequate for a simple tool but incomplete.

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

Parameters2/5

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

Schema coverage is 0%, and the description only hints at possible actions ('reboot / poweroff') without explicitly mapping them to the 'action' parameter. The parameter's allowed values are unclear.

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?

The description clearly states the tool is for reboot or poweroff actions, distinguishing it from sibling tools like suspend_system. However, it doesn't explicitly specify the allowed action parameter values.

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?

The description implies usage for power actions and mentions the need for SYSCONTROL_ALLOW_POWER permission, but doesn't provide explicit when-to-use or when-not-to-use guidance compared to alternatives.

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

query_journalctlB

Filtered journal query — never dump the whole journal.

Args: service: unit to filter (empty = all). since: e.g. '10 min ago', 'today', '2026-06-10'. priority: e.g. 'err' to show err..emerg only. lines: max lines (1–300). grep_pattern: extra regex filter applied to the result. scope: 'system' or 'user'. kernel: kernel ring messages (journalctl -k).

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceNo
sinceNo1 hour ago
priorityNo
linesNo
grep_patternNo
scopeNosystem
kernelNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/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 for behavioral disclosure. It mentions filtering but does not disclose whether the tool is read-only, requires elevated privileges, has side effects on system state, or any rate limits. The description is limited to argument descriptions.

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 concise with a front-loaded main sentence followed by parameter explanations. The structure is clear but could be improved with a more formal list format. Every part serves a purpose without unnecessary repetition.

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?

The description covers parameter semantics well but lacks behavioral context (e.g., permission requirements, error handling, return value format). Since an output schema exists, return values may be documented there. However, for a system tool, missing info on scope limitations or performance impact reduces completeness.

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?

Given 0% schema coverage, the description adds significant value by explaining each parameter's purpose, format (e.g., '10 min ago', 'err'), and default behavior (e.g., 'empty = all', '1 hour ago'). This compensates for the schema's lack of descriptions, though some parameters like 'grep_pattern' could be more detailed.

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?

The description clearly states it's a filtered journal query and warns against dumping the whole journal. It specifies the resource (journal) and action (query), but it doesn't explicitly differentiate from sibling tools like 'check_kernel_ring_buffer' or 'list_coredumps' that might also access system logs.

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?

The description implies always using filters ('never dump the whole journal'), which is a clear usage guideline. However, it doesn't provide guidance on when to use this tool versus alternatives, nor does it specify exclusions (e.g., when to use check_kernel_ring_buffer instead).

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

read_config_snippetA

Read a slice of a text/config file — never the whole thing blindly.

If grep_pattern is set, returns only matching blocks (+context lines); otherwise returns lines [start_line, end_line]. Hard cap max_lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathYes
start_lineNo
end_lineNo
grep_patternNo
contextNo
max_linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the two operational modes, the safety constraint of never reading the whole file, and a hard cap on max_lines. It could be improved by detailing error handling for missing files or permissions, but overall it is transparent about core behavior.

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 extremely concise at two sentences, with no wasted words. All information is relevant and front-loaded. It efficiently conveys the tool's purpose and usage modes.

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?

With an output schema present, return value explanation is not needed. The description covers the two use cases and constraints (never whole file, max_lines). It could mention that filepath is required and potential error conditions, but overall it is fairly complete for a read tool.

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 0%, so description must compensate. It explains the two modes (grep_pattern vs line range), and implicitly that context lines are used with grep_pattern. It also mentions max_lines as a hard cap. However, it does not explicitly describe each parameter's meaning beyond the modes, leaving some interpretation.

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 reads a slice of a text/config file, with two explicit modes: using grep_pattern or line range. It explicitly warns against reading the whole file, distinguishing it from a full file read.

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 provides clear guidance on when to use each mode (grep_pattern vs start/end_line) and mentions a hard cap on max_lines. However, it does not explicitly mention alternatives or when not to use this tool compared to siblings like grep_file or list_directory_tree.

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

set_brightnessA

[ACTION] Set display brightness to a percentage (1–100).

ParametersJSON Schema
NameRequiredDescriptionDefault
percentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only specifies the range and action, but does not disclose potential side effects (e.g., affecting all monitors), required permissions, or error conditions. This is minimal transparency.

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 a single sentence with no unnecessary words. It efficiently conveys the action and constraint.

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?

Given the tool's simplicity (one parameter, output schema exists), the description is minimally adequate. It covers the core functionality but misses context like whether it requires specific hardware support or user permissions. The output schema covers return values, so that aspect is not missed.

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?

The schema provides no description for the 'percent' parameter (0% coverage). The description adds value by specifying it's a percentage between 1 and 100, which is not encoded in the schema. This compensates significantly for the lack of schema documentation.

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 explicitly states the action 'Set display brightness' and specifies the allowed range (1–100). It clearly distinguishes from sibling tools like get_brightness (read) and set_volume (different resource).

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?

The description implies usage (to change brightness) but provides no explicit when-to-use or when-not-to-use guidance. There are no alternatives mentioned, but the context of sibling tools makes the purpose clear.

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

set_color_schemeA

[ACTION] Apply a KDE color scheme by name (see list_color_schemes).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, and description only states 'Apply...' without disclosing any side effects, safety implications, or behavior beyond the action. Lacks crucial context for an action tool.

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?

Extremely concise, single sentence front-loaded with [ACTION] tag, no filler.

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

Completeness2/5

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

Given zero annotations and a simple single-parameter tool with output schema, the description does not provide enough context about what happens after application, error cases, or return value format.

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?

Single parameter 'name' is explained as 'by name' implicitly meaning the scheme's name from list_color_schemes, but lacks format details or validation constraints beyond 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?

Description clearly states verb 'Apply' and resource 'KDE color scheme', with reference to sibling tool list_color_schemes for listing available schemes. Effectively distinguishes itself from siblings.

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?

Provides guidance to use list_color_schemes first, implying a prerequisite step, but does not specify when to use this tool vs. other tools like set_global_theme.

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

set_cpu_governorA

[ACTION] Set the CPU governor on all cores (e.g. performance, powersave).

Uses cpupower; needs root. Reports the permission requirement honestly.

ParametersJSON Schema
NameRequiredDescriptionDefault
governorYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations, description mentions needs root and uses cpupower, but does not disclose persistence or error handling.

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 concise sentences, front-loaded with action, no superfluous content.

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?

Adequate for a simple set tool but lacks output description and possible values for governor parameter.

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 coverage 0%, description provides examples 'performance, powersave' but no full list or format guidance.

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?

Clearly states 'Set the CPU governor on all cores' with examples, distinguishes from sibling get_cpu_governor.

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?

Mentions root requirement as prerequisite but lacks explicit when to use vs alternatives like set_power_profile.

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

set_global_themeC

[ACTION] Apply a KDE global theme / look-and-feel package.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It merely states the action without detailing side effects, dependencies, or whether a reconfigure/restart is needed. This is insufficient for a mutating operation.

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 a single concise sentence without wasted words. It front-loads the action with '[ACTION]'. However, it could be slightly more informative without becoming verbose, so not a perfect 5.

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?

Given the tool has only one parameter and an output schema exists, the description is adequate but incomplete. It lacks guidance on usage and behavioral context, making it minimally viable.

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 coverage is 0%, but the description mentions 'KDE global theme / look-and-feel package', implying the 'package' parameter expects a theme name. However, it does not specify format or provide examples, so it adds some meaning but not enough to fully compensate for the lacking schema description.

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?

The description states it applies a KDE global theme/look-and-feel package, clearly specifying the verb and resource. It distinguishes from sibling tools like set_color_scheme or get_kde_theme, though a typo ('look-and-look-and-feel') slightly reduces clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., set_color_scheme for just color schemes) or when not to use it. The description lacks any usage context or prerequisites.

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

set_muteB

[ACTION] Mute or unmute the default audio sink.

ParametersJSON Schema
NameRequiredDescriptionDefault
muteYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It only states the action but does not disclose behavior such as toggling vs explicit setting, whether it fails when already in the desired state, or side effects like affecting other audio streams.

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 a single sentence, front-loaded with the verb. It is concise but could be slightly optimized by removing the '[ACTION]' prefix which adds no informational value.

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?

The tool has one required boolean parameter and an output schema (not shown). The description is sufficient for a simple toggle, but lacks context about system dependencies or edge cases. Missing guidance on error scenarios or return values.

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

Parameters2/5

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

The schema has one boolean parameter 'mute' with 0% description coverage. The description 'Mute or unmute' adds minimal semantic value beyond the schema, as the parameter's purpose is obvious. It does not explain the true/false mapping or provide examples.

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 'Mute or unmute the default audio sink.' It specifies the action (mute/unmute) and the resource (default audio sink), distinguishing it from sibling tools like set_volume which controls volume level, not mute state.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as set_volume or media_control. There is no mention of prerequisite conditions (e.g., audio system being active) or 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.

set_power_profileA

[ACTION] Set power profile: performance / balanced / power-saver.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only lists the profile values without mentioning consequences like battery life impact, performance changes, or required privileges. Minimal disclosure.

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?

Extremely concise single sentence that front-loads the action and lists valid options. No redundant information.

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 simple one-parameter tool with an output schema, the description is minimal. It provides enough to select the tool but lacks detail on behavioral impact or parameter nuances.

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%, but the description adds value by listing the valid profile values (performance, balanced, power-saver). However, it does not explain what each profile means or how it differs from alternatives.

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 action 'Set' and the resource 'power profile', and lists the three valid values (performance, balanced, power-saver). This distinguishes it from sibling tool 'get_power_profile'.

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?

No explicit guidance on when to use this tool versus alternatives like 'get_power_profile' or 'set_cpu_governor'. However, the purpose is straightforward and usage is implied by the context.

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

set_volumeB

[ACTION] Set default sink volume to a percentage (0–150).

ParametersJSON Schema
NameRequiredDescriptionDefault
percentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action and range, omitting details like persistence, prerequisites, or side effects.

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?

Single sentence of 10 words, concise and front-loaded with verb and resource. No wasted words.

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?

For a simple tool with an output schema, the description covers the core functionality and range. Could mention that the change is immediate, but it is adequate for clarity.

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 coverage is 0%, so the description partially compensates by indicating the percent parameter takes values 0-150, but does not explicitly map 'percent' to the integer field or provide further constraints.

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 action ('Set'), the resource ('default sink volume'), and the valid range ('0–150'), distinguishing it from siblings like get_volume and set_mute.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_volume, set_mute). The description only states the function without context for appropriate use.

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

suspend_systemA

[ACTION] Suspend (sleep) the system.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states the action 'suspend (sleep)' but does not mention potential side effects (e.g., unsaved work, privilege requirements, system wake behavior).

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 a single, direct sentence with no wasted words. It is appropriately sized and front-loaded.

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?

Given the tool has no parameters and presumably a simple output (likely via output schema), the description is adequate but lacks context about results or required privileges. The presence of many sibling tools suggests more guidance would be helpful.

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?

There are no parameters, so the schema coverage is 100% by default. The description adds no parameter info, but none is needed. Baseline for 0 parameters is 4.

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 action: 'Suspend (sleep) the system.' It uses a specific verb and resource, distinguishing it from siblings like power_action and lock_session which handle other power states.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like power_action or lock_session. There is no mention of prerequisites, warnings, or 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.

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly defined and distinct purpose. Even related tools like get_process_info, find_processes, and get_process_top are differentiated by specific functions (single PID vs. substring search vs. top consumers). No ambiguity exists between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with clear action prefixes such as get_, set_, list_, control_, etc. No mixing of conventions or irregular patterns.

Tool Count1/5

With 59 tools, the server far exceeds the 50+ threshold for extreme mismatch. While each tool addresses a specific need, the sheer volume makes the server unwieldy and could be consolidated or split into multiple focused servers.

Completeness4/5

The server covers a wide range of system probing and control functions: Bluetooth, systemd, hardware, KDE desktop, audio, display, power, and file operations. However, it lacks common areas like network interfaces or user session info, which are notable gaps for a sysprobe server.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Lightweight MCP server that exposes tools for system information and weather lookup, designed for agent integration via stdio.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    A secure, production-grade MCP server that provides filesystem operations, AST math evaluation, and system diagnostics for LLM agents.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server to inspect allowlisted Docker containers, systemd services, JSONL logs, and HTTP health endpoints without arbitrary shell access.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    A safety-first MCP server enabling file inspection/editing, allowlisted command execution, process listing, and optional desktop automation. It emphasizes security with disabled writes/commands/GUI by default and local feature gates.
    1

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Raindancer118/sysprobe-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server