Skip to main content
Glama

Restart or stop the server

restart_server
Destructive

Schedule a server restart or stop with in-chat countdown warnings; saves all worlds and players before shutdown and disconnects online players.

Instructions

restart or stop after a countdown in chat: players see warnings at set marks, then every world and player is saved and the server shuts down. What runs the server decides what comes next: Docker's restart policy or a start script loop starts it again (and then a stop is a restart too); otherwise it stays off. One restart or stop is pending at a time, and scheduling replaces it; cancel calls it off, status tells whether one is pending. Needs server:control. Everyone online gets disconnected, so confirm with the user first.

Input Schema

NameRequiredDescriptionDefault
actionNorestart
messageNoSaid with each warning, such as the reason
countdownSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, but the description goes further: it states worlds and players are saved, all online players are disconnected, requires server:control, and that a restart may effectively be a no-op stop depending on the host's restart policy. That is exactly the operational context an agent needs beyond the annotation flags.

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 key action and the save/shutdown sequence are front-loaded, and every clause carries meaning. The single dense paragraph is slightly run-on but has no filler sentences.

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 destructive, no-output-schema tool, the description covers prerequisites, side effects, pending-operation semantics, and the outcome of status. Nothing material an agent needs before invoking it is missing.

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

Parameters4/5

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

Schema coverage is only 33% and the enum values have no descriptions, but the description explains the meaning of each action (restart, stop, cancel, status) and that warnings occur at set marks. It does not explain countdownSeconds' unit or 0-3600 bounds, leaving a minor gap compensated mostly by the schema itself.

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?

Starts with a concrete verb (restart/stop) and resource (the server), then explains the countdown-warning-save-shutdown sequence. It clearly distinguishes this from siblings like save_worlds and get_server_status by describing the shutdown outcome and the supervisor-dependent restart behavior.

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 clarifies what cancel and status do relative to restart/stop, notes that only one operation can be pending and scheduling replaces it, and adds a concrete precondition: confirm with the user because everyone is disconnected. This gives an agent both when-to-use and when-to-be-cautious guidance.

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