Skip to main content
Glama

Upgrade or Operate Installed App

operate_installed_app

Run lifecycle operations—upgrade, restart, start, stop, or rebuild—on an installed 1Panel App Store app for a chosen node, auto-selecting the newest version when upgrading without a detail ID.

Instructions

Perform lifecycle operations (upgrade, restart, start, stop, rebuild) on an installed App Store application on the selected node. When operate is "upgrade" and detail_id is omitted, automatically selects the newest available version from get_app_update_versions.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "install_id": "<install_id>",
      "operate": "<operate>"
    },
    "name": "operate_installed_app"
  }
}

Input Schema

NameRequiredDescriptionDefault
backupNoCreate a pre-upgrade app backup before upgrading (recommended: true).
nodeIdNoTarget node ID: "local" for the Main Node, or a numeric string ID (e.g. "3") from list_nodes.local
operateYesLifecycle operation to execute.
detail_idNoTarget version `detailId` (from `get_app_update_versions`) when `operate` is `upgrade`.
install_idYesNumeric installed app ID.
pull_imageNoPull latest container images during upgrade/rebuild.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavior beyond that: the implicit version auto-selection on upgrade when detail_id is absent. It says nothing about the operational consequences of stop/restart/rebuild (service downtime, in-flight requests), nor how to follow upgrade progress, which are the details an agent would most want before invoking a lifecycle operation.

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 tight sentences: the operation scope and allowed enum values come first, then the conditional default rule. No filler, no restatement of the title.

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 6 parameters fully documented, annotations covering safety, and no output schema, the description covers the essentials for correct invocation. The remaining gap is post-invocation context — whether the call is synchronous and how to observe results (e.g. via get_child_node_upgrade_logs) — which would matter for long-running upgrade or rebuild operations.

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 100%, so every parameter is already documented, giving a baseline of 3. The description only adds conditional meaning for detail_id (omit it on upgrade to take the newest version); it says nothing extra about backup, pull_image, or nodeId beyond what the schema states.

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?

States a specific verb set (perform lifecycle operations: upgrade, restart, start, stop, rebuild) against a specific resource (an installed App Store application) and scopes it to the selected node. An agent can distinguish this mutation tool from read-oriented siblings like get_installed_app or get_app_update_versions without opening the schema.

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?

Gives a concrete routing rule: when operate is "upgrade" and detail_id is omitted, the newest available version from get_app_update_versions is chosen automatically, which tells the agent when it can skip a separate lookup. It stops short of explicit when-not guidance, e.g. that a version should be resolved first when a specific release is required.

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