Skip to main content
Glama

Manage system

manage_system
DestructiveIdempotent

Inspect and control OS and ReMCP runtime state on paired computers, including processes, network, services, and power actions.

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

TableJSON 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

TableJSON 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

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive, open-world, idempotent, and non-read-only behavior. The description adds useful context by saying which operation classes only observe state and which can interrupt work or change the machine, going beyond the blanket destructive flag. It does not discuss auth, rate limits, or return behavior, but annotations cover the core safety profile.

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?

Three sentences are front-loaded with scope, safety classification, and sibling routing. There is no redundant restatement of schema details, and every sentence carries selection or safety-relevant 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?

For a complex multi-operation tool with annotations and an output schema, the description gives useful domain and safety context. However, it advertises services, event logs, audio, and explicit power actions that the operation enum does not support, leaving an agent with an inaccurate capability map. This gap prevents a higher completeness score.

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 the schema already documents operation-specific parameters, enums, and nested requirements. The description does not add argument-level meaning, and several domains it names are not available as operation enum values, which risks confusing operation selection. Baseline 3 is appropriate when the schema does the heavy lifting.

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 states a broad, specific domain—operating-system or ReMCP runtime state—and enumerates categories such as process facts, runtime preferences, networking, installed apps, and environment. It also distinguishes the tool from run_terminal. However, several advertised categories (services, event logs, audio, power actions) are not present in the operation enum, so the scope is not fully precise.

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?

The description explicitly says when to use this tool and directs general shell commands to run_terminal. It also distinguishes observational operations from mutating ones and warns that termination, preference/service/audio changes, restart, and shutdown can interrupt work or change the machine.

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