Skip to main content
Glama

Manage system

manage_system
Destructive

Inspect or change OS and runtime state: processes, services, logs, network, apps, environment, audio, and power. Use to diagnose or adjust the machine; changes can interrupt work.

Instructions

Use this for operating-system or ReMCP runtime state: system/runtime/process facts, runtime preferences, services, event logs, networking, installed apps, environment, audio, or explicit power actions. Fact, log, and inventory operations only observe state; process termination, preference/service/audio changes, restart, and shutdown can interrupt work or change the machine. Use run_terminal for general shell commands.

Input Schema

NameRequiredDescriptionDefault
operationYesConcrete local runtime operation to execute in this domain.
parametersNoArguments for the selected operation; validated against that operation’s original closed schema.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.141
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "text": {
      -        "description": "Human-readable result of the tool call.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Network diagnostics structured result for network. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "address_count": {
      -        "type": "number"
      -      },
      -      "address_count_returned": {
      -        "type": "number"
      -      },
      -      "addresses_truncated": {
      -        "type": "boolean"
      -      },
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "items": {
      -          "additionalProperties": true,
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "dns": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "host": {
      -        "type": "string"
      -      },
      -      "hostname": {
      -        "type": "string"
      -      },
      -      "interface_count": {
      -        "type": "number"
      -      },
      -      "interface_count_returned": {
      -        "type": "number"
      -      },
      -      "interfaces": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "interfaces_truncated": {
      -        "type": "boolean"
      -      },
      -      "latency_ms": {
      -        "type": "number"
      -      },
      -      "ok": {
      -        "type": "boolean"
      -      },
      -      "port": {
      -        "type": "number"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "servers": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Installed applications structured result for installed_apps. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "items": {
      -          "additionalProperties": true,
      -          "description": "Installed app/package with name/version/path where available.",
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Runtime environment structured result for environment. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "arch": {
      -        "type": "string"
      -      },
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "description": "Array/scalar payload wrapper used when the natural result is not an object."
      -      },
      -      "env": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "hostname": {
      -        "type": "string"
      -      },
      -      "node": {
      -        "type": "string"
      -      },
      -      "path": {
      -        "type": "string"
      -      },
      -      "platform": {
      -        "type": "string"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "release": {
      -        "type": "string"
      -      },
      -      "shell": {
      -        "type": "string"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "text": {
      +        "description": "Human-readable result of the tool call.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Network diagnostics structured result for network. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "address_count": {
      +        "type": "number"
      +      },
      +      "address_count_returned": {
      +        "type": "number"
      +      },
      +      "addresses_truncated": {
      +        "type": "boolean"
      +      },
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "data": {
      +        "items": {
      +          "additionalProperties": true,
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dns": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "host": {
      +        "type": "string"
      +      },
      +      "hostname": {
      +        "type": "string"
      +      },
      +      "interface_count": {
      +        "type": "number"
      +      },
      +      "interface_count_returned": {
      +        "type": "number"
      +      },
      +      "interfaces": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "interfaces_truncated": {
      +        "type": "boolean"
      +      },
      +      "latency_ms": {
      +        "type": "number"
      +      },
      +      "ok": {
      +        "type": "boolean"
      +      },
      +      "port": {
      +        "type": "number"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "servers": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Installed applications structured result for installed_apps. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "backend": {
      +        "description": "Native inventory backend used on this platform.",
      +        "type": "string"
      +      },
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "count": {
      +        "description": "Total matching records before the requested limit.",
      +        "type": "number"
      +      },
      +      "data": {
      +        "items": {
      +          "additionalProperties": true,
      +          "description": "Normalized installed app/package record.",
      +          "properties": {
      +            "name": {
      +              "description": "Installed application/package name.",
      +              "type": "string"
      +            },
      +            "path": {
      +              "description": "Installation path when available.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "publisher": {
      +              "description": "Publisher/maintainer/vendor when available.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "signed_by": {
      +              "description": "Optional macOS signing identity summary.",
      +              "type": "string"
      +            },
      +            "version": {
      +              "description": "Installed version when available.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "returned": {
      +        "description": "Number of records returned in data.",
      +        "type": "number"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Runtime environment structured result for environment. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "arch": {
      +        "type": "string"
      +      },
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "cwd": {
      +        "description": "Runtime working directory.",
      +        "type": "string"
      +      },
      +      "data": {
      +        "description": "Array/scalar payload wrapper used when the natural result is not an object."
      +      },
      +      "environment": {
      +        "additionalProperties": true,
      +        "description": "Sanitized environment variables when include_env=true.",
      +        "type": "object"
      +      },
      +      "home": {
      +        "description": "Current user home directory.",
      +        "type": "string"
      +      },
      +      "node": {
      +        "type": "string"
      +      },
      +      "path_entries": {
      +        "items": {
      +          "description": "One PATH entry in native search order.",
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "platform": {
      +        "type": "string"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "shell": {
      +        "description": "Configured command shell when available.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "temp": {
      +        "description": "Operating-system temporary directory.",
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changedv0.2.131
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "text": {
      -        "description": "Human-readable result of the tool call.",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Network diagnostics structured result for network. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "items": {
      -          "additionalProperties": true,
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "dns": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "host": {
      -        "type": "string"
      -      },
      -      "hostname": {
      -        "type": "string"
      -      },
      -      "interfaces": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "latency_ms": {
      -        "type": "number"
      -      },
      -      "ok": {
      -        "type": "boolean"
      -      },
      -      "port": {
      -        "type": "number"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "servers": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Installed applications structured result for installed_apps. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "items": {
      -          "additionalProperties": true,
      -          "description": "Installed app/package with name/version/path where available.",
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "description": "Runtime environment structured result for environment. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      -    "properties": {
      -      "arch": {
      -        "type": "string"
      -      },
      -      "bytes": {
      -        "description": "Serialized structured-result size when truncation metadata is returned.",
      -        "type": "number"
      -      },
      -      "data": {
      -        "description": "Array/scalar payload wrapper used when the natural result is not an object."
      -      },
      -      "env": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "hostname": {
      -        "type": "string"
      -      },
      -      "node": {
      -        "type": "string"
      -      },
      -      "path": {
      -        "type": "string"
      -      },
      -      "platform": {
      -        "type": "string"
      -      },
      -      "preview": {
      -        "description": "Bounded JSON preview when the full structured mirror is too large.",
      -        "type": "string"
      -      },
      -      "release": {
      -        "type": "string"
      -      },
      -      "shell": {
      -        "type": "string"
      -      },
      -      "text": {
      -        "description": "Human-readable structured mirror for text-only results.",
      -        "type": "string"
      -      },
      -      "truncated": {
      -        "description": "True when the structured mirror was bounded because the result was large.",
      -        "type": "boolean"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "text": {
      +        "description": "Human-readable result of the tool call.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Network diagnostics structured result for network. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "address_count": {
      +        "type": "number"
      +      },
      +      "address_count_returned": {
      +        "type": "number"
      +      },
      +      "addresses_truncated": {
      +        "type": "boolean"
      +      },
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "data": {
      +        "items": {
      +          "additionalProperties": true,
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dns": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "host": {
      +        "type": "string"
      +      },
      +      "hostname": {
      +        "type": "string"
      +      },
      +      "interface_count": {
      +        "type": "number"
      +      },
      +      "interface_count_returned": {
      +        "type": "number"
      +      },
      +      "interfaces": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "interfaces_truncated": {
      +        "type": "boolean"
      +      },
      +      "latency_ms": {
      +        "type": "number"
      +      },
      +      "ok": {
      +        "type": "boolean"
      +      },
      +      "port": {
      +        "type": "number"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "servers": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Installed applications structured result for installed_apps. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "data": {
      +        "items": {
      +          "additionalProperties": true,
      +          "description": "Installed app/package with name/version/path where available.",
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "description": "Runtime environment structured result for environment. Stable fields are declared explicitly; platform-specific fields may be added. Large results may return truncated/bytes/preview instead of the full payload.",
      +    "properties": {
      +      "arch": {
      +        "type": "string"
      +      },
      +      "bytes": {
      +        "description": "Serialized structured-result size when truncation metadata is returned.",
      +        "type": "number"
      +      },
      +      "data": {
      +        "description": "Array/scalar payload wrapper used when the natural result is not an object."
      +      },
      +      "env": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "hostname": {
      +        "type": "string"
      +      },
      +      "node": {
      +        "type": "string"
      +      },
      +      "path": {
      +        "type": "string"
      +      },
      +      "platform": {
      +        "type": "string"
      +      },
      +      "preview": {
      +        "description": "Bounded JSON preview when the full structured mirror is too large.",
      +        "type": "string"
      +      },
      +      "release": {
      +        "type": "string"
      +      },
      +      "shell": {
      +        "type": "string"
      +      },
      +      "text": {
      +        "description": "Human-readable structured mirror for text-only results.",
      +        "type": "string"
      +      },
      +      "truncated": {
      +        "description": "True when the structured mirror was bounded because the result was large.",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Addedv0.2.88

TDQS

A3.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, and the description adds meaningful granularity on top: fact/log/inventory operations only observe state, while process termination, preference/service/audio changes, restart and shutdown can interrupt work or alter the machine. That operation-level risk split is not derivable from the annotations. It does not state permission requirements or whether kill_process is irreversible, so not a 5.

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?

Three tight sentences, front-loaded with scope and closed with the alternative-tool routing, with no filler. The one inefficiency is the capability list: several named items (services, event logs, audio, power actions) do not correspond to any callable operation, so that clause costs tokens without being actionable.

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 values need no explanation, and the mutation-vs-observation split covers most of the risk surface for a destructive tool. The material gap is the mismatch between the advertised domains and the nine permitted operations, which leaves an agent without guidance on which operations actually exist and when each should be preferred.

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% and the per-operation parameter descriptions (limit, pid, action enum, key/value for set_config_value) are already documented in the schema, so the baseline of 3 applies. The description adds no operation-specific argument guidance, and by advertising operations like audio or shutdown that are absent from the enum it may push an agent toward an invalid operation value.

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

Purpose3/5

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

The description enumerates domains (system/runtime/process facts, networking, installed apps, environment) so the tool's scope is recognizable, and it names run_terminal as the counterpart for general shell work. However, it also promises services, event logs, audio, restart and shutdown, none of which appear in the operation enum, so the stated purpose is broader than what the tool can actually do. It reads as a domain label plus a feature list rather than a specific verb+resource.

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?

It gives a clear routing rule: use this for OS/runtime state, use run_terminal for general shell commands. It also separates observational operations from mutating ones, which helps an agent decide within the tool. It stops short of ruling out control_computer or the file/document siblings, which are close enough to warrant an explicit exclusion.

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