Skip to main content
Glama

Apply Self Update

apply_self_update

Safely applies a self-update by creating a backup snapshot, validating syntax, and restarting the server only when validation passes.

Instructions

Atomic safe upgrade: creates a backup snapshot, validates syntax, and restarts the server if valid.

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": "apply_self_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
reasonNoCode update

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the entire burden of behavioral disclosure. It usefully reveals the sequencing and the conditional nature of the restart ('if valid'), but for a self-modifying operation that restarts the server it says nothing about what happens when validation fails, whether the backup is retained or rolled back, whether privileges are required, or whether the in-flight process is interrupted.

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 front-loaded sentence with zero filler; the operation's name and its atomic guarantee come first, followed by the ordered steps. Nothing could be removed without losing 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, so return-value explanation is unnecessary, and the description covers the happy-path pipeline adequately. However, for a high-risk self-restarting mutation with no annotations and an undocumented parameter, the failure and rollback semantics are the critical missing piece.

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 needed to explain the single 'reason' parameter, and it does not mention it at all. The parameter name and default ('Code update') are largely self-explanatory, which limits the damage, but no guidance is given on what the reason is used for (audit log, backup label, etc.).

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 names a specific operation and enumerates its three concrete stages (backup snapshot, syntax validation, conditional restart), so an agent knows exactly what the tool accomplishes. It does not explicitly distinguish itself from siblings like backup_self, restart_self, or pull_git_update, which is the only thing keeping it from a 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 phrase 'Atomic safe upgrade' implies this is the all-in-one path versus calling backup_self and restart_self separately, but that routing is left to inference. There is no explicit when-to-use, no prerequisites, and no statement about when a caller should prefer pull_git_update or apply_text_replacement instead.

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