Skip to main content
Glama

restart_firmware

Destructive

Resets microcontrollers and reloads Klipper configuration to recover from a shutdown or emergency stop and apply config changes; requires confirmation and is blocked during printing.

Instructions

FIRMWARE_RESTART: reset the microcontrollers and reload Klipper's config. This is how you recover from a shutdown or an e-stop, and how config changes take effect. Loses homing and any in-memory tuning. Requires confirm=true; refuses while a print is running.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "restart_firmware"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmNo
confirm_tokenNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.1

TDQS

A4.1/5.0
Behavior5/5

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

With annotations already declaring destructiveHint=true and idempotentHint=false, the description still adds concrete consequences: loss of homing and in-memory tuning, a mandatory confirm=true, and a runtime precondition (blocked during an active print). That is exactly the behavior an agent cannot read off the annotations.

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

Conciseness5/5

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

Four short sentences, front-loaded with the identifier and action, then effect, then consequences, then preconditions. No repetition of the schema and no 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?

An output schema exists, so return values need no explanation, and the destructive/recovery semantics are covered well. The remaining hole is confirm_token, which is undocumented in both schema and description for an otherwise potentially gated destructive action.

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 carries the burden and does explain that confirm must be true. It says nothing about confirm_token, the second parameter, leaving an agent to guess whether it is required, what value it takes, or how it relates to confirm.

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

Purpose4/5

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

States a specific verb+resource ("reset the microcontrollers and reload Klipper's config"), which distinguishes it from a host restart or full reboot in substance. It never names the neighboring siblings (restart_klipper_host, restart_service, reboot_printer), so an agent must infer the distinction from the mechanical detail alone.

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?

Explicitly gives two when-to-use triggers: recovering from a shutdown or e-stop, and making config changes take effect. It also gives an implicit when-not via "refuses while a print is running," but names no alternative tool for the host-level restart case.

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

Deploy Server

Other Tools