Skip to main content
Glama

get_boot_critical_chain

Identify what delays your boot target by returning the time-critical boot chain: a dependency tree of units with active-time and start duration. Optionally start from a specific unit to trace its bottleneck.

Instructions

Returns the time-critical boot chain from systemd-analyze critical-chain: a dependency tree of units with their active-time point and start duration. Read-only; fatal only if systemd-analyze is missing or fails. When unit is omitted, returns the full chain to the default target (usually graphical.target). When unit is provided (e.g. 'nginx.service'), returns only the chain from that unit downward. Use to find what delays the boot target; for raw per-unit durations prefer get_boot_blame, for phase-level breakdown prefer get_boot_time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
unitNooptional unit name to start the chain from (e.g. 'graphical.target')

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainYes
errorsNo
targetYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv0.2.13

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: it declares read-only behavior, discloses the fatal condition (systemd-analyze missing or fails), and explains the optional parameter's effect on scope. This goes well beyond a basic 'get' description.

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 compact yet information-dense, front-loading the core purpose, then covering safety, parameter behavior, and alternatives. Every sentence earns its place with no filler or redundancy.

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 tool with one optional parameter and an output schema, the description covers the return value semantics, failure mode, usage guidance, and sibling differentiation. Nothing needed for correct selection and invocation is missing.

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?

Even though schema coverage is 100%, the description adds significant semantic value: it explains the meaning of omitting unit (full chain to default target) vs. providing it (chain from that unit downward) and gives a concrete example. This is far more useful than the schema's brief parameter description.

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 a specific verb (Returns), a specific resource (time-critical boot chain from systemd-analyze critical-chain), and the data shape (dependency tree with active-time point and start duration). It also distinguishes itself from siblings by naming get_boot_blame and get_boot_time, making its unique role clear.

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

Usage Guidelines5/5

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

Explicitly states when to use this tool ('Use to find what delays the boot target') and gives alternatives for different use cases ('for raw per-unit durations prefer get_boot_blame, for phase-level breakdown prefer get_boot_time'). Also explains behavior with and without the optional unit parameter.

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

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/Mohabdo21/linux-mcp'

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