Systems Manager
Systems Manager is a typed, gated MCP server for local host inspection, administration, storage health, file/log management, firewall control, and governed host telemetry ingestion.
Run health checks and discover management capabilities.
Inspect processes, system snapshots, network connections, services, kernel modules, and system logs; start/stop kernel traces.
Manage services and processes, including start/stop/restart/enable/disable and process list/info/kill.
Query and manage packages, system updates, reboots, cleanup/optimization, env vars, Windows features, repositories, and local packages.
Inspect network interfaces/open ports, ping, DNS lookup, disks/usage/space, users/groups, and storage health (SMART, faults, RAID, reports).
Manage managed files/logs (list/search/grep/tail/read/write/append/delete/create), subject to filesystem root and mutation gates.
List/remove cron jobs, manage firewall status/rules, and perform advanced SSH key, uv/venv, NVM/Node setup.
Ingest allowlisted host telemetry as typed HardwareNode, NetworkInterface, and DiskVolume nodes through the governed ChangeEnvelope boundary.
Host mutations, sensitive reads, network probes, and filesystem writes are default-deny and require explicit environment gates/approval; raw shell/arbitrary command execution is not exposed.
Exports telemetry data (metrics and traces) to OpenTelemetry-compatible backends, enabling AI agents to monitor and analyze system performance and health.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Systems Managerupdate all system packages on the local machine"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
systems-manager
Version: 2.2.6
systems-manager is the typed host-operations provider for Scion SDK and
Arbora. It exposes cross-platform package, service, process, network, disk,
managed-file, firewall, physical-storage, Agent OS, and privacy-safe host-ingestion
capabilities without exposing a raw command tool.
The current package requires Python 3.11–3.14 and
scion-sdk>=2.0.0,<3.0.0.
Install and run
Install only the interface the operator need:
pip install "systems-manager[mcp]"
systems-manager-mcp --transport stdioThe optional extras are:
Extra | Capability |
| FastMCP provider runtime |
| Agent server and Logfire integration |
| MCP plus agent runtime |
| Test dependencies |
For an ephemeral MCP start:
uvx --from "systems-manager[mcp]" systems-manager-mcp --transport stdioThe checked-in mcp_config.json is a reference-only client catalog. It contains
env:// references and safe deny defaults, never deployment endpoints, credentials,
certificate paths, filesystem paths, hostnames, or identities. Project-specific values
belong in AgentConfig or the process launcher.
Related MCP server: Enterprise DevOps MCP Server
Security contract
Network MCP listeners require configured authentication. Non-loopback listeners also require direct TLS or a trusted TLS-stop proxy, exact allowed hosts, and the current Scion SDK transport checks.
Host mutations are denied unless
SYSTEMS_MANAGER_ALLOW_HOST_MUTATIONS=trueand the individual request receives destructive-operation approval.Managed-file writes also require
SYSTEMS_MANAGER_ALLOW_FILESYSTEM_MUTATIONS=true.Sensitive reads and active probes have independent default-deny gates.
Managed paths are confined beneath an explicit
SYSTEMS_MANAGER_FILESYSTEM_ROOT; there is no working-directory fallback.Raw shell, arbitrary commands, plaintext credentials, model-authored cron creation, and compatibility command aliases are not capabilities.
Logs and observability are metadata-only. Keep
LANGFUSE_CAPTURE_CONTENT=false.
AgentConfig, secrets, and TLS
Use TLS_PROFILE / TLS_PROFILE_REF with TLS_PROFILES_REF for shared checked
outbound trust. Service-specific profiles such as OIDC_TLS_PROFILE_REF,
MODEL_TLS_PROFILE_REF, and LANGFUSE_TLS_PROFILE_REF may select entries from the
same runtime catalog. Do not hardcode CA paths or verification flags in application
code, and do not disable verification for incomplete certificate chains.
Out-of-band BMC health reads consume one runtime secret projection from
SYSTEMS_MANAGER_BMC_CREDENTIALS. AgentConfig resolves the checked env:// or secret
reference before start; the provider accepts exactly a JSON object with host, user,
and password. No secret-store vendor, secret path, token, or credential value is
embedded in this package.
The MCP listener's own certificate or trusted-proxy boundary uses the current Agent
Utilities MCP_TLS_* configuration. The optional agent listener uses SERVER_TLS_*
and requires JWT configuration for non-loopback serving.
MCP tools
The default MCP_TOOL_MODE=intent exposes the small intent-verb surface. Backing
action-routed tools stay available for governed discovery and on-demand loading. Tool
and tag filters can further reduce the visible surface.
Auto-generated from the live MCP server; do not edit between the markers.
Condensed action-routed tools (MCP_TOOL_MODE=condensed)
MCP Tool | Toggle Env Var | Description |
|
| Takes a point-in-time snapshot of the system state (CPU, RAM, Processes). |
| — | |
|
| Maps active TCP/UDP endpoints directly to owning processes. |
|
| Retrieves deep cross-platform process details (threads, modules, memory). |
| — | |
|
| List loaded drivers/modules (lsmod or driverquery). |
|
| Cross-platform service enumeration (systemctl or Get-Service). |
|
| Start/Stop/Restart/Enable/Disable services cross-platform. |
|
| Cross-platform log querying (journalctl or Get-WinEvent). |
| — | Operations for SSH and specialized managers |
|
| Issues or verifies privacy-preserving agent identities. |
|
| Manages the cognitive scheduler: get stats, list processes, preempt, or reset quota. |
|
| Manages specialist packages: install, uninstall, list, or search. |
|
| Manages file watchdog triggers: check file change, list active watchers, or drain triggers. |
| — | Operations for cron jobs |
| — | Operations for managing system disks |
| — | Operations for file and log management |
| — | Operations for firewall management |
| — | Operations for network analysis |
| — | Operations for managing system processes |
| — | Operations for managing system services |
|
| Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough), |
| — | System operations for managing packages, system health, and updates |
| — | Operations for user and group management |
|
| Start a kernel-level event trace (ETW on Windows, or strace on Linux). |
|
| Stop a kernel-level event trace. |
| — | Ingest a keyed host telemetry projection through the governed ChangeEnvelope boundary as typed HardwareNode, NetworkInterface, and DiskVolume nodes. |
27 action-routed tool(s) · 0 verbose 1:1 tool(s). Each is enabled unless its <DOMAIN>TOOL toggle is set false; MCP_TOOL_MODE selects the surface (intent default — the six verb-tools, granular set loaded on demand · condensed action-routed · verbose 1:1 · both). Auto-generated — do not edit.
Typical backing domains include OS/package lifecycle, services, processes, networks, disks, managed files, cron removal, structured firewall rules, storage/BMC diagnostics, Agent OS administration, and governed host telemetry ingestion. Discover an action schema before calling it; unavailable operations must not be emulated with another tool.
Knowledge-graph ingestion
systems_ingest_host reads local typed telemetry and submits an allowlisted projection
through the Scion SDK native governed ingestion boundary. It emits only:
HardwareNode,NetworkInterface, andDiskVolumenodes;hasInterfaceandhasVolumerelationships;HMAC-SHA-256 opaque identifiers derived with the deployment-owned
SYSTEMS_MANAGER_PSEUDONYMIZATION_KEY.
Hostnames, network addresses, hardware addresses, usernames, local paths, credentials, and arbitrary extra fields are rejected or excluded. Missing graph authority, invalid content, and unavailable ingestion fail explicitly; they are not silent no-ops.
Arbora delegation
Host operations run inside the service's local operating-system boundary. For fleet work, Arbora delegates to an authenticated systems-manager service on the target boundary. Inventory, endpoints, credentials, TLS profiles, and target aliases remain external deployment configuration. Persist only opaque, non-personal references.
The bundled systems-manager-operations skill covers every current provider workflow.
Older BMC command and NIC-bond script skills were consolidated because those raw-script
surfaces are not part of the typed current contract.
Agent server
Install the agent extra and start:
systems-manager-agent --helpWorkspace, MCP catalog, and custom-skill paths are accepted only when explicitly configured and present. There is no packaged-config or current-directory fallback. A non-loopback listener requires an explicit allow gate, direct or trusted-proxy TLS, JWT issuer/JWKS/audience configuration, and debug mode disabled.
Environment variables
The generated table is sourced from the value-free .env.example plus the inherited
Scion SDK contract.
Package environment variables
Variable | Example | Description |
| — | Required managed filesystem boundary |
| — | Optional cleanup root beneath the managed boundary |
| secret-injected | Deployment-owned secret, at least 32 bytes |
| — | Secret-projected JSON with host/user/password |
| — | Shared mandatory-verification transport profile |
| — | Runtime reference to the transport profile catalog |
| — | Runtime reference to verified Langfuse trust |
|
| Current intent-first tool surface |
|
| Default-deny host mutations |
|
| Default-deny file mutations |
|
| Default-deny sensitive inventory |
|
| Default-deny active probes |
|
| Bounded host-operation concurrency |
|
| Enable governed health trend ingestion |
|
| Health trend aggregation window |
| — | Runtime node alias; only a keyed digest persists |
| — | Optional inline mandatory-verification notification TLS profile |
| — | Runtime reference to the notification TLS profile |
|
| Approved credential-free repositories |
|
| Approved package paths and digests |
|
| Default command timeout |
| — | Non-sensitive environment names readable as metadata |
| — | Exact approved uv release |
| — | Exact approved NVM commit |
| — | NVM directory beneath the managed filesystem root |
|
| Keep Kubernetes lifecycle guard enabled |
|
| Register base health/readiness tools |
|
| Register operating-system provider tools |
|
| Register storage health tools |
|
| Local MCP transport |
|
| Loopback bind for HTTP transports |
|
| Bind port for HTTP transports |
|
| Enable only with an approved collector |
Inherited scion-sdk variables (apply to every connector)
Variable | Example | Description |
| — | Comma-separated tool allow-list |
| — | Comma-separated tool deny-list |
| — | Comma-separated tag allow-list |
| — | Comma-separated tag deny-list |
|
| Authorization mode: |
|
| Embedded Eunomia policy file |
| — | Remote Eunomia authorization server URL |
| — | OTLP collector endpoint |
| — | Outbound MCP child auth: |
| — | OIDC client id (service-account auth) |
|
| Runtime secret reference for the OIDC service account |
| — | HTTP Basic username ( |
|
| Runtime secret reference for HTTP Basic auth ( |
|
| Verbose logging |
|
| Unbuffered stdout (recommended in containers) |
|
| URL of the MCP server the agent connects to |
|
| LLM provider for the agent |
|
| Model id for the agent |
|
| Serve the AG-UI web interface |
51 package + 19 inherited variable(s). Auto-generated from .env.example + the shared scion-sdk set — do not edit.
Development and release gates
pytest -q
ruff check systems_manager tests
black --check systems_manager tests
mkdocs build --strict
pre-commit run --all-filesRun host operations only through mocks during tests. Do not run native builds or live
host mutations as a validation shortcut. The source dependency floor is intentionally
scion-sdk>=2.0.0; regenerate and commit a neutral lock only after that release
is available from the configured package index. Never commit an editable local source
or a stale dependency resolution.
See the documentation for installation, deployment, configuration, usage, multi-host delegation, and security details.
Governed capability contract
This package ships a compact canonical skill surface with specialist procedures
kept as referenced workflows. The current MCP tools, skill metadata,
connector_manifest.yml, ontology, mappings, shapes, fixtures, migrations,
tool-schema fingerprints, and certification metadata form one versioned
capability contract. Validate them together; do not rely on stale tool names or
historical per-task skill wrappers.
Runtime endpoints, credentials, certificate trust, tenant identity, retention, and observability policy are deployment inputs and are never packaged values. See Configuration, trust, and privacy before enabling a network transport, connector ingestion, Arbora delegation, or trace export.
Available Tools
26 toolscapture_system_snapshotCapture System SnapshotBRead-onlyIdempotent
Takes a point-in-time snapshot of the system state (CPU, RAM, Processes).
CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so safety is covered. The description adds the coverage list (CPU, RAM, Processes), but says nothing about cost, snapshot retention, freshness, or how the result is delivered beyond what the output schema will show.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One crisp sentence leads with the verb and scope, and nothing is redundant. The appended CONCEPT taxonomy string adds no decision-relevant information and slightly dilutes the front-loaded clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and the zero-parameter signature keeps the call surface trivial. The only meaningful gap is the missing routing guidance against the many health/process siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is no parameter surface the description needs to explain, and it does not confuse the reader with any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (takes a point-in-time snapshot) and resource (system state), and enumerates the captured dimensions (CPU, RAM, Processes), so the agent knows exactly what it produces. It does not distinguish itself from overlapping siblings such as health_check or get_process_details, which limits it to a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus health_check, get_process_details, start_system_trace, or the sm_*_operations siblings, and no prerequisites or exclusions. The agent must infer usage entirely from the phrase 'point-in-time snapshot'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_management_capabilitiesGet Management CapabilitiesDRead-onlyIdempotent
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_connectionsGet Network ConnectionsBRead-onlyIdempotent
Maps active TCP/UDP endpoints directly to owning processes.
CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds useful behavioral context that it reports active connections and associates them with owning processes, but it does not describe freshness, OS scope, or limitations of the mapping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is concise and front-loaded with the tool's core behavior. The appended CONCEPT metadata line is cryptic and does not clearly help an agent decide how to invoke the tool, so it weakens the structure without adding much value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only introspection tool with rich annotations and an output schema, the description is mostly complete. It tells the agent what is being inspected, though it could say more about the scope of 'active' connections and any platform constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter semantics burden. The baseline score of 4 applies because the schema and empty parameter set require no additional explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it maps active TCP/UDP endpoints to owning processes. That is clear and distinguishable from broad service or storage tools, though it does not explicitly contrast itself with the network-oriented sibling sm_network_operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as sm_network_operations or get_process_details. Usage is only inferable from the purpose statement, with no exclusions or routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_process_detailsGet Process DetailsBRead-onlyIdempotent
Retrieves deep cross-platform process details (threads, modules, memory).
CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry
| Name | Required | Description | Default |
|---|---|---|---|
| pid | No | Optional PID to get details for. If empty, lists all processes. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is fully covered by structured data. The description adds that results are cross-platform and deep (threads, modules, memory), but gives no cost, latency, or volume expectations for an introspection call that could be expensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is well-formed and front-loaded, but the appended 'CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry' line is an internal taxonomy tag that restates nothing useful and dilutes the definition. A single trailing sentence of noise keeps it from a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations already carry the safety profile. What remains is thin but sufficient for a one-optional-parameter read tool: purpose and payload dimensions are stated, so an agent can call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single pid parameter is fully documented there, including the null-means-list-all default. The description adds no format, scope, or behavioral nuance beyond the schema, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Retrieves deep cross-platform process details') and enumerates the payload dimensions (threads, modules, memory), which distinguishes it from shallow list tools like sm_process_operations. It stops short of naming which sibling to use instead, so it does not reach the top of the scale.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the intent of a 'deep' retrieval tool is inferable, but the description never says when to call this versus sm_process_operations or capture_system_snapshot. The important branching behavior (empty PID lists all processes) is only stated in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkHealth CheckD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_kernel_modulesList Kernel ModulesARead-onlyIdempotent
List loaded drivers/modules (lsmod or driverquery).
CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds the OS-command equivalence (lsmod on Linux, driverquery on Windows), which conveys that results are platform-dependent, but says nothing about return shape or whether results include unloaded/built-in modules. With an output schema present, that gap is tolerable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative sentence is front-loaded and wastes no words. The trailing 'CONCEPT:SM-OS.deployment.deep-introspection-telemetry' tag is metadata noise from an agent's perspective but is short enough not to harm the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only listing with annotations covering the safety profile and an output schema covering return values, the description supplies enough to call it correctly. Only minor detail about scope (e.g. built-in vs loaded modules) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly implies no inputs are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List loaded drivers/modules', which is unambiguous and clearly distinct from siblings like get_process_details or list_services. It does not explicitly name a sibling to differentiate against, but the resource is narrow enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Loaded drivers/modules' implies the diagnostic context in which you'd call it (driver inspection, kernel-level troubleshooting), and the lsmod/driverquery reference anchors it to a known operation. There is no explicit when-to-use or when-not-to-use statement, and no alternative tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesList ServicesBRead-onlyIdempotent
Cross-platform service enumeration (systemctl or Get-Service).
CONCEPT:SM-OS.deployment.package-service-mutation: Package & Service Mutation
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only the implementation detail (systemctl vs Get-Service) and no scope information such as whether all services or only a subset are returned, nor any permission/auth caveat; the 'Mutation' concept tag additionally muddies the read-only signal the annotations establish.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and earns its place. The trailing 'CONCEPT:SM-OS.deployment.package-service-mutation: Package & Service Mutation' line is internal taxonomy jargon that adds no actionable information and is mildly misleading for a read-only listing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be explained, and with no parameters the calling contract is trivial. What is missing is routing context: with 25 siblings including manage_service, sm_service_operations, and health_check, the description does not say which one to reach for when.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description correctly implies no filtering inputs are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb+resource (enumeration of services) and notes the cross-platform implementations (systemctl or Get-Service), so an agent knows exactly what it retrieves. It does not, however, distinguish itself from siblings such as manage_service or sm_service_operations, so the boundary is only inferable from the names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus manage_service, sm_service_operations, or health_check. Worse, the appended 'CONCEPT:...package-service-mutation' tag points an agent toward a mutation concept even though the actual operation is a read-only listing, which can push a reader toward the wrong sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_serviceManage ServiceCDestructiveIdempotent
Start/Stop/Restart/Enable/Disable services cross-platform.
CONCEPT:SM-OS.deployment.package-service-mutation: Package & Service Mutation
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: start, stop, restart, enable, disable | |
| service_name | Yes | Name of the service |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the description is not contradicting them, but it adds nothing beyond repeating the action list. It never mentions privilege/root requirements, that stop and disable are the destructive actions versus start/restart being comparatively safe, cross-platform behavioral differences, or what the caller gets back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is short and front-loaded, which is good. However, the included 'CONCEPT:SM-OS.deployment.package-service-mutation' fragment is opaque tagging that consumes space without informing an agent about behavior or usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and both parameters are documented, so the mechanical call requirements are covered. For a destructive, privileged system-mutation tool with zero annotation explanation of permissions or blast radius, the description should still say what happens on disable/stop and what privileges are needed; it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already enumerates the five action values and describes service_name. The description's action list mirrors the schema rather than adding constraint detail such as case sensitivity, service name format, or platform-specific naming conventions, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific resource (services) and enumerates the concrete operations (start/stop/restart/enable/disable), which is enough for an agent to distinguish it from read-only siblings like list_services or health_check. The trailing 'CONCEPT:SM-OS.deployment.package-service-mutation' line is internal taxonomy jargon that adds no discriminating power.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this tool over siblings such as sm_service_operations or list_services, and no prerequisites stated. Crucially, nothing tells the agent when NOT to use it — e.g. that stop/disable on a critical service can take down dependent workloads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_system_logsQuery System LogsBRead-onlyIdempotent
Cross-platform log querying (journalctl or Get-WinEvent).
CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max number of events to fetch |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so the bar is lower. The description adds real context by disclosing the two platform-specific backends, implying output shape differs by OS, but says nothing about privilege requirements (journalctl often needs elevated access), the absence of time/source filters, or result volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and efficient, but the trailing 'CONCEPT:SM-OS.deployment.deep-introspection-telemetry: Deep Introspection Telemetry' is internal taxonomy jargon that consumes space without helping an agent decide or call. Half the text is non-functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations and an output schema, the definition is serviceable, but for a log-query tool the agent still lacks essentials: which log sources/time ranges are in scope, whether filters exist at all, and what privileges are needed. Enough to call it, not enough to call it well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional parameter with 100% schema description coverage ('Max number of events to fetch'), so the schema fully carries its meaning. The description adds nothing about the limit's effect on performance or the result window; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('log querying') and discloses the underlying implementations (journalctl / Get-WinEvent), which tells an agent what data it will actually get. It does not distinguish itself from nearby siblings such as capture_system_snapshot or start_system_trace, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no alternatives named, even though the sibling list contains overlapping diagnostic tools (capture_system_snapshot, start_system_trace, health_check). The only signal is the tool name itself, so usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_advanced_operationsSm Advanced OperationsC
Operations for SSH and specialized managers
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path for venv | |
| action | Yes | Action to perform. Must be one of: 'add_authorized_key', 'install_uv', 'create_venv', 'install_package', 'install_nvm', 'install_node', 'use_node' | |
| package | No | Package name to install | |
| version | No | Version of python/node | |
| public_key | No | Public key content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses almost nothing: it does not say that add_authorized_key mutates a security-sensitive SSH authorized_keys file, that install_* actions modify the host toolchain, whether actions are idempotent, where artifacts land, or what is returned. Naming "SSH" is a faint signal of sensitivity but no concrete behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence is maximally concise, but it is under-specified rather than efficient — it spends its only sentence on a vague label instead of front-loading the action families or the SSH mutation risk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, 7-action, no-annotation, no-output-schema tool spanning Python/Node environment setup and SSH key installation, the description is far too thin. The agent is left to infer action-to-parameter mapping, side effects, and return behavior entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is documented in the schema and the baseline is 3. However, the description adds nothing about which parameters apply to which action (path for venv vs package for install_package vs public_key for add_authorized_key), a gap the schema also leaves open.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description offers only "Operations for SSH and specialized managers", which is a vague category rather than a specific verb+resource. It also under-represents the tool: SSH key handling is 1 of 7 actions, while the bulk (install_uv, create_venv, install_package, install_nvm, install_node, use_node) is Python venv and Node version setup, none of which the description hints at. An agent must open the schema's action enum to learn what this tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like sm_system_operations, sm_user_operations, or sm_service_operations, and no stated prerequisites (e.g. whether venv creation should precede install_package, or whether SSH key work requires elevated access). Nothing indicates exclusions or ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_cron_operationsSm Cron OperationsD
Operations for cron jobs
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | User for cron job | |
| action | Yes | Action to perform. Must be one of: 'list_cron_jobs', 'remove_cron_job' | |
| job_ref | No | Opaque job reference returned by list_cron_jobs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description carries the full burden. It does not disclose that 'remove_cron_job' is a destructive mutation, whether it requires permissions, whether removal is reversible, or what the tool returns. This is a serious gap for an operation-capable tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase but is under-specified rather than concise. It fails to front-load any actionable information about the tool's behavior or operations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undisclosed destructive action ('remove_cron_job'), the description is completely inadequate. An agent cannot understand the tool's scope, safety profile, or expected outcomes from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (user, action, job_ref) are documented in the schema. The description adds no additional semantic meaning, which meets the baseline of 3 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Operations for cron jobs' essentially restates the tool name and title without specifying what operations are performed. It does not mention that the tool can list or remove cron jobs, leaving the agent to infer purpose from the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or which sibling tools (e.g., sm_service_operations, sm_system_operations) are alternatives. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_disk_operationsSm Disk OperationsC
Operations for managing system disks
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path for disk usage | |
| action | Yes | Action to perform. Must be one of: 'list_disks', 'get_disk_usage', 'get_disk_space_report' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about whether these operations mutate anything, what permissions are needed, or what is returned. "Managing" even suggests mutation while the schema's actions are all read-only queries, leaving the safety profile ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no waste, but it is under-specified rather than concise — nothing informative precedes or follows it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a family of similarly named sm_*_operations siblings, the description should explain scope and return shape. Instead it leaves the agent to reconstruct behavior entirely from the action enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the action enum is enumerated and path is documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond that, not even noting that path is only relevant to the usage/report actions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Operations for managing system disks" restates the tool name (Sm Disk Operations) with only the word "disks" adding any content. It never states what an operation actually does (list, query usage, report space) and gives no basis for choosing this over sibling tools such as sm_storage_health_raid or sm_storage_health_smart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no exclusions. The agent has to infer from the enum values in the schema alone that this is a read-only disk inventory/usage tool and not a storage-health tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_file_operationsSm File OperationsC
Operations for file and log management
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Depth for list_files | |
| lines | No | Number of lines to tail | |
| action | Yes | Action to perform. Must be one of: 'get_system_logs', 'tail_log_file', 'list_files', 'search_files', 'grep_files', 'manage_file' | |
| content | No | Content to write/append | |
| pattern | No | Search pattern | |
| filepath | No | Path to file | |
| recursive | No | Recursive search | |
| file_action | No | Action for text editor/manage file | read |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing. The tool exposes write, append, delete and create via file_action and content, yet the description never warns that destructive operations are possible, nor does it mention permissions, reversibility, or that actions share one parameter bag with per-action argument requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six words with no waste, but this is under-specification rather than conciseness — the single fragment is too thin to serve as the tool's contract. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An eight-parameter multi-action tool spanning reads, searches, writes and deletes, with no annotations and no output schema, requires far more description than a single noun phrase. The description leaves the agent unable to determine which parameter combinations are valid for which action, or what any call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies: each parameter is documented in the schema, including the six valid action strings and the file_action enum. The description adds nothing beyond that — no mapping of which parameters apply to which action, which is the real ambiguity in this multi-action tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Operations for file and log management' merely restates the tool name's scope without stating a verb or any of the six concrete actions (get_system_logs, tail_log_file, list_files, search_files, grep_files, manage_file) that live only in the schema. An agent cannot tell from the description what discrete operations are actually available or how this differs from siblings like query_system_logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, despite an obvious overlap with the sibling query_system_logs and other operations tools. No prerequisites, no exclusions, no routing language of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_firewall_operationsSm Firewall OperationsC
Operations for firewall management
| Name | Required | Description | Default |
|---|---|---|---|
| rule | No | Structured firewall rule specification | |
| action | Yes | Action to perform. Must be one of: 'get_firewall_status', 'add_firewall_rule', 'remove_firewall_rule' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, but it says nothing about mutation, permissions, side effects, reversibility, or idempotency. In particular, add_firewall_rule and remove_firewall_rule are potentially destructive, yet the description does not distinguish them from a read-only status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise but under-specified rather than efficient: it front-loads no useful action or scope information. Almost none of the sentence earns its place beyond repeating the tool domain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has multiple actions, including mutations, but the description does not explain what each action does, whether rule is required for adding a rule, or what happens on removal. The schema helps by listing action values and rule fields, but the description is not complete enough for an agent to invoke this safely without inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself documents the action parameter's allowed values and the nested rule structure. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies for a high-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says only "Operations for firewall management," which essentially restates the tool name/title without naming the actual operations. It identifies the firewall domain but not whether the tool gets status, adds rules, or removes rules; those details appear only in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as sm_network_operations, sm_service_operations, or other operations tools. It also gives no prerequisites or conditions for choosing among get_firewall_status, add_firewall_rule, and remove_firewall_rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_network_operationsSm Network OperationsC
Operations for network analysis
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Host to ping or lookup | |
| count | No | Ping count | |
| action | Yes | Action to perform. Must be one of: 'list_network_interfaces', 'list_open_ports', 'ping_host', 'dns_lookup' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden, yet it says nothing about permissions (raw sockets for ping, privileged port enumeration), timeouts, or whether any action mutates state. The word "analysis" faintly implies read-only behavior but that is left implicit rather than stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five words with no filler, but the brevity comes from under-specification rather than discipline. Nothing is front-loaded because nothing substantive is said; it is short without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a multi-action tool (four distinct operations) with no annotations and no output schema, meaning the description is the only place behavior could be explained. Instead it leaves the agent needing to read the schema to learn what the tool even does and to guess at side effects and return shapes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the action enum values, host, and count defaults are all documented in the schema itself. The description adds no syntax, format, or conditional meaning (e.g., which actions require host, or that count is ignored by non-ping actions), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Operations for network analysis" restates the tool name and the resource category without naming a single concrete operation. The four actual actions (interface listing, port listing, ping, DNS lookup) only appear in the schema, so the description does nothing to distinguish this from siblings such as get_network_connections or sm_firewall_operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus get_network_connections (also network-related) or the other sm_* operation families. No prerequisites, no exclusions, no scenario guidance — the agent must infer usage entirely from the action enum in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_process_operationsSm Process OperationsC
Operations for managing system processes
| Name | Required | Description | Default |
|---|---|---|---|
| pid | No | Process ID | |
| action | Yes | Action to perform. Must be one of: 'list_processes', 'get_process_info', 'kill_process' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely drops it: nothing says that kill_process is destructive or irreversible, that it needs elevated privileges, or what any action returns. The word 'managing' is the only hint that mutation is possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler; the problem is under-specification rather than verbosity. It is front-loaded but there is almost nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that can terminate processes with no annotations and no output schema, the description should say what each action does and what the destructive one affects. The agent must infer everything from the action enum string names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the action enum values are fully enumerated in the schema, so the description need not repeat them. It adds no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name almost verbatim: 'Operations for managing system processes' adds only the resource noun over 'sm_process_operations'. It never names the actual operations (list, inspect, terminate), so an agent learns more from the schema's action enum than from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as get_process_details or sm_system_operations, which plausibly overlap. There are no stated preconditions, no mention of when the destructive action is appropriate, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_service_operationsSm Service OperationsD
Operations for managing system services
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Must be one of: 'list_services', 'get_service_status', 'start_service', 'stop_service', 'restart_service', 'enable_service', 'disable_service' | |
| service_name | No | Name of the service |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It says only "managing system services" and does not disclose that actions like stop_service and restart_service are disruptive, what privileges are required, or what effects these operations have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but vacuous rather than informative. It does not earn its place because it lacks the operational context needed for a multi-action service-management tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with seven distinct actions, no annotations, and no output schema. The description does not explain what each action does, what results are returned, or what risks accompany the destructive operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the action parameter already enumerates all seven allowed operations. The description adds no parameter meaning beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Operations for managing system services" essentially restates the tool name and title without naming a specific verb or scope. It does not distinguish this tool from siblings such as list_services or manage_service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus siblings like list_services or manage_service. It also does not indicate when specific actions, such as start, stop, or restart, should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_storage_health_faultsFaultsB
Faults (sm_storage_health). Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state — correlated so a BMC-flagged disk with clean SMART media reads as a link/aging fault, not media wear (CONCEPT:SM-OS.governance.sys-8/SYS-1.5).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real interpretive behavior beyond the annotations: it explains how signals from three sources are correlated and what a specific combination implies. However, annotations declare readOnlyHint=false and idempotentHint=false for what reads like a pure diagnostic query, and the description never clarifies whether the call mutates anything, has side effects, or requires elevated privileges — a gap worth addressing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The data sources and the correlation rule are front-loaded, which is good, but the trailing internal reference '(CONCEPT:SM-OS.governance.sys-8/SYS-1.5)' is jargon that consumes attention without helping an agent decide or call. The em-dash construction also packs three ideas into one long sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description is the only place an agent can learn what comes back, and it never says anything about result shape (per-disk records? severity fields? counts?) or whether privileges/root are needed for IPMI/BMC access. The correlation semantics are well covered, but the return contract is not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema coverage 100%, additionalProperties false), so there is nothing for the description to disambiguate. Baseline of 4 applies; no parameter gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely which data the tool exposes: SMART readings (including megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state, plus the correlation between them. That separates it from sm_storage_health_smart and sm_storage_health_raid in substance, though it never explicitly says 'these siblings give you the uncorrelated views' — the differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no alternatives are named, even though three sibling storage-health tools exist and overlap heavily. The interpretation note (BMC-flagged disk with clean SMART = link/aging fault) hints at diagnostic use but does not tell the agent under which conditions to call this instead of sm_storage_health_smart or sm_storage_health_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_storage_health_raidRaidB
Raid (sm_storage_health). Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state — correlated so a BMC-flagged disk with clean SMART media reads as a link/aging fault, not media wear (CONCEPT:SM-OS.governance.sys-8/SYS-1.5).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, not idempotent), so the description is not obligated to restate it, and it adds genuinely useful analysis semantics about how the signals are correlated. It does not explain what makes this non-read-only, nor whether it hits BMC/IPMI endpoints (which can be slow or require privileges), leaving a gap for an agent deciding when to call it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence with the key content near the front, which is good. However, the leading label 'Raid (sm_storage_health)' conveys almost nothing, and the trailing '(CONCEPT:SM-OS.governance.sys-8/SYS-1.5)' citation is internal jargon that adds no actionable meaning for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of explaining scope and return nature, and it does describe the signals covered plus their interpretation. It still leaves out sibling differentiation and the conditions/preconditions (BMC access, cost of the passthrough probe) needed to call it confidently in a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema coverage 100%), so there is nothing parameter-level to document. The description appropriately spends its words on what is collected rather than on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource concretely and enumerates the three signals collected: SMART (with megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state. The verb is only implied (it apparently collects/reports health), and nothing distinguishes it from the closely named siblings sm_storage_health_smart and sm_storage_health_faults.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. The correlation rule ('BMC-flagged disk with clean SMART reads as link/aging fault') implies the tool is useful for triage, but the agent is never told when to pick this over sm_storage_health_smart or sm_storage_health_faults.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_storage_health_reportReportB
Report (sm_storage_health). Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state — correlated so a BMC-flagged disk with clean SMART media reads as a link/aging fault, not media wear (CONCEPT:SM-OS.governance.sys-8/SYS-1.5).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuine interpretive context beyond the annotations — it explains how two data sources are cross-correlated and what a specific combination means (link/aging fault rather than media wear), which matters because there is no output schema. But it never discloses whether invoking the tool has any side effects, latency cost, or privilege requirements, leaving the readOnlyHint=false / idempotentHint=false annotations unexplained for what reads like a passive reporting operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core content is front-loaded in one sentence, but that sentence is padded with an em-dash interpretive clause and a cryptic trailing reference '(CONCEPT:SM-OS.governance.sys-8/SYS-1.5)' that carries no actionable meaning for an agent. The leading 'Report (sm_storage_health)' opener is close to tautological.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and sparse annotations, the description should carry more burden: it does not say what the report returns (text vs. structured, per-disk rows vs. summary), whether SMART megaraid passthrough requires elevated privileges, or how expensive a full poll is. The correlation/interpretation note is a real plus for a diagnostic tool, but the picture is still incomplete for a collector that touches BMC and RAID layers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema takes no parameters (additionalProperties: false), so there is nothing for the description to disambiguate. Baseline for a zero-parameter tool applies; the description correctly conveys that the tool is invoked without arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete data sources it aggregates (SMART including megaraid passthrough, BMC/IPMI drive-slot faults, RAID physical-disk state), which is far more specific than the title 'Report'. However, it never explicitly states how it relates to the three per-domain siblings (sm_storage_health_smart, sm_storage_health_faults, sm_storage_health_raid), so the agent has to infer that this is the combined/correlated view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool is framed as a correlated cross-source report, and the note about a BMC-flagged disk with clean SMART reading as a link/aging fault hints at the whole-picture use case. There is no explicit 'use this when you want all three signals at once, use sm_storage_health_smart when you only need media data' routing, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_storage_health_smartSmartB
Smart (sm_storage_health). Physical disk + BMC drive-fault health: SMART (incl. megaraid passthrough), BMC/IPMI drive-slot faults, and RAID physical-disk state — correlated so a BMC-flagged disk with clean SMART media reads as a link/aging fault, not media wear (CONCEPT:SM-OS.governance.sys-8/SYS-1.5).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations state readOnlyHint=false, but the description frames the tool as a health/diagnostic operation and does not explain any non-read-only behavior, permissions, side effects, or output characteristics. It adds useful correlation context, but the non-read-only annotation gap remains unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the main subject before elaborating on the correlated health interpretation. The internal concept reference is slightly noisy, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter diagnostic tool, the description gives enough context to understand what is inspected and how signals are correlated. However, with no output schema and no explanation of return shape or operational caveats, it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to compensate for. The empty closed schema is sufficient, and this dimension reaches the baseline for a no-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific data sources (SMART, BMC/IPMI, RAID physical-disk state) and explains the correlation outcome, which distinguishes it from generic health tools. It is clear what the tool examines, though it lacks an explicit leading verb such as 'retrieve' or 'report'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what is correlated and why, but it does not say when to use this tool instead of siblings such as sm_storage_health_faults, sm_storage_health_raid, or sm_storage_health_report. No exclusions or routing guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_system_operationsSm System OperationsC
System operations for managing packages, system health, and updates
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Must be one of: 'install_applications', 'update', 'reboot', 'clean', 'optimize', 'install_python_modules', 'get_os_statistics', 'get_hardware_statistics', 'search_package', 'get_package_info', 'list_installed_packages', 'list_upgradable_packages', 'system_health_check', 'get_uptime', 'list_env_vars', 'get_env_var', 'clean_temp_files', 'clean_package_cache', 'list_windows_features', 'enable_windows_features', 'disable_windows_features', 'add_repository', 'install_local_package' | |
| env_var | No | Environment variable name | |
| package | No | Single package name | |
| packages | No | List of applications/packages | |
| file_path | No | Path to local package file | |
| repository | No | Repository URL or name | |
| allow_on_k8s | No | Override: allow 'update' or 'reboot' to proceed even if this host is detected as a live Kubernetes (RKE2) node. Prefer the universal-skills `k8s-node-rolling-update` workflow instead. | |
| feature_name | No | Windows feature name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it does not disclose that actions include destructive or disruptive operations such as reboot, clean, update, and package installation. It also omits permission requirements, side effects, and the Kubernetes-node safety override that appears only in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words, but it is under-specified for a 23-action tool. Brevity is appropriate in form, but the sentence does not carry enough structural information to support correct tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex multi-action tool with no annotations and no output schema, the description is far too thin. It does not explain action groups, read-versus-write behavior, destructive risks, or prerequisites needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the action enum and all optional parameters are already documented in the schema. The description adds no parameter meaning beyond what the schema provides, which meets the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names broad domains (packages, system health, updates), but it does not clearly define the tool as a multi-action dispatcher or distinguish its scope from specialized siblings like sm_service_operations or health_check. It is more specific than a tautology yet still too vague for an agent to confidently select this tool over alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many specialized system-operation siblings. There are no exclusions, prerequisites, or routing hints despite the tool's broad action set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sm_user_operationsSm User OperationsC
Operations for user and group management
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Must be one of: 'list_users', 'list_groups' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and fails: it never states that the operations are read-only (both actions are listings), nor mentions return format, pagination, permissions, or scope. The open-ended word "operations" even implies mutation capabilities that the schema does not offer, which can mislead selection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short phrase with no wasted words, but it is under-specified rather than concise. There is no front-loaded statement of what the tool returns or which actions exist.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should at minimum say that this lists users/groups and describe the shape of results. It does neither, leaving the agent to reverse-engineer behavior from a two-value enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'action' parameter already enumerates the allowed values ('list_users', 'list_groups'), so the schema does all the work. The description adds no meaning about what action values mean or their outputs, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Operations for user and group management" names the resource (users/groups) but uses a generic verb ("operations"), which largely restates the tool name 'sm_user_operations'. It is distinguishable from siblings like sm_process_operations, but the agent cannot tell from the description what is actually done. The real scope (only listing) is only discoverable in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus sm_system_operations, sm_service_operations, or any other sibling. No prerequisites, exclusions, or alternatives are mentioned. The agent must infer usage entirely from the action enum in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_system_traceStart System TraceBDestructiveIdempotent
Start a kernel-level event trace (ETW on Windows, or strace on Linux).
| Name | Required | Description | Default |
|---|---|---|---|
| session_name | Yes | Name of the trace session |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a non-read-only, destructive, idempotent operation, so the safety profile is covered structurally. The description adds valuable platform mechanism context (ETW/strace), but says nothing about the elevated privileges required, the performance overhead of kernel tracing, or what happens if a session with the same name already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler, front-loading the verb and the resource. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be explained. But for a destructive, privileged tracing operation the description omits prerequisites (root/admin), overhead warnings, and the lifecycle link to stop_system_trace — meaningful gaps for an agent deciding whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, so the schema already defines session_name. The description adds nothing about naming constraints, whether the name must be unique, or whether reuse is allowed — baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Start') and resource ('kernel-level event trace'), and even names the underlying mechanisms (ETW on Windows, strace on Linux). It does not explicitly contrast with the sibling stop_system_trace, but the purpose is unmistakable from the first clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this versus capture_system_snapshot, query_system_logs, or the paired stop_system_trace, and no mention that a session must later be stopped. The agent must infer the whole workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_system_traceStop System TraceCDestructiveIdempotent
Stop a kernel-level event trace.
| Name | Required | Description | Default |
|---|---|---|---|
| session_name | Yes | Name of the trace session |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds only 'kernel-level' as context and says nothing about what destruction means here (e.g., whether buffered trace data is finalized, discarded, or lost, and what happens if the named session does not exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero waste and no hedging. It is arguably too terse rather than bloated, but nothing in it is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive stop operation, the description omits the practically important context: that a matching trace session should exist and what outcome to expect (data retained vs. lost). An output schema exists, so return values need not be explained, but the operational preconditions and side effects are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('Name of the trace session'), so the schema already carries the parameter meaning. The description adds no extra semantics such as whether the name must match an active session or whether it is case-sensitive, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Stop') and resource ('kernel-level event trace'), which is clearly distinguishable in meaning from unrelated siblings like list_services or get_process_details. It does not, however, name or differentiate itself from its obvious counterpart start_system_trace, leaving the pairing to be inferred from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to invoke this versus alternatives or prerequisites — it doesn't say the session must already be running, nor does it point to start_system_trace as the counterpart. The agent must infer the workflow from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
systems_ingest_hostSystems Ingest HostC
Ingest a keyed host telemetry projection through the governed ChangeEnvelope boundary as typed HardwareNode, NetworkInterface, and DiskVolume nodes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Ingest' implies a write/mutation and 'governed ... boundary' hints at a policy gate, but nothing is said about side effects, idempotency, permissions, failure modes, or what a successful ingest produces. The jargon gestures at governance without disclosing any concrete behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted preamble, which is good. But the sentence is packed with unexpanded domain coinages ('keyed', 'ChangeEnvelope boundary', 'typed ... nodes') whose density substitutes for clarity rather than conveying it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must explain the input source, the response, and side effects, and it does none of these. For a zero-parameter mutation-style tool operating on host hardware/network/disk telemetry, an agent still cannot tell what triggers it or what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and 100% schema coverage, so per the baseline nothing needs to be explained at the parameter level. The description does, however, leave unaddressed how a zero-argument tool obtains telemetry, which is a gap better attributed to contextual completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Ingest' and the object 'host telemetry projection' identify a rough action, and the description names the resulting node types (HardwareNode, NetworkInterface, DiskVolume). However, 'keyed host telemetry projection' and 'governed ChangeEnvelope boundary' are internal jargon that does not tell an agent what data goes in or where it comes from, and nothing distinguishes this from the many sibling system tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which of the roughly 25 siblings (capture_system_snapshot, sm_disk_operations, get_network_connections) it replaces or complements. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v2.2.5- First observed
capture_system_snapshot - First observed
get_management_capabilities - First observed
get_network_connections - First observed
get_process_details - First observed
health_check - First observed
list_kernel_modules - First observed
list_services - First observed
manage_service - First observed
query_system_logs - First observed
sm_advanced_operations - First observed
sm_cron_operations - First observed
sm_disk_operations - First observed
sm_file_operations - First observed
sm_firewall_operations - First observed
sm_network_operations - First observed
sm_process_operations - First observed
sm_service_operations - First observed
sm_storage_health_faults - First observed
sm_storage_health_raid - First observed
sm_storage_health_report - First observed
sm_storage_health_smart - First observed
sm_system_operations - First observed
sm_user_operations - First observed
start_system_trace - First observed
stop_system_trace - First observed
systems_ingest_host
TDQS
Scored across 26 tools
Several broad catch-all tools overlap heavily with specific tools: sm_service_operations vs list_services/manage_service, sm_process_operations vs get_process_details, sm_network_operations vs get_network_connections, and sm_disk_operations vs storage health tools. The four sm_storage_health_* tools share an identical description, and health_check/get_management_capabilities have no descriptions, making tool selection unreliable.
All names use snake_case, but conventions are mixed: some are sm_*_operations, some are sm_storage_health_<aspect>, many are verb_noun, and systems_ingest_host follows a different pattern. The domain prefixes help readability, but the set does not maintain one predictable naming convention.
At 26 tools, the surface is heavy for the apparent scope, and several tools duplicate or obscure each other rather than earning distinct places. The broad domain justifies some breadth, but overlapping *_operations and four nearly indistinguishable storage-health tools inflate the count.
The tool set spans a wide systems-management surface: health, storage, services, processes, network, logs, tracing, snapshots, users, files, cron, firewall, SSH, and host ingestion. Minor gaps remain around clearly separated storage-health actions and undescribed capability/health tools, but core workflows appear covered.
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Secure and manage MCP servers through the Speakeasy AI Control Plane from your agent.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI tools to manage SSH connections, execute commands, transfer files, and perform remote server diagnostics via MCP protocol.1710 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to securely manage Linux, Docker, Kubernetes, and SSH infrastructure through MCP with permission control, audit logging, and dangerous command filtering.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to remotely control multiple computers via MCP: run commands, manage files, install software, view and control screens, and execute parallel tasks across machines.4 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage remote host registries and perform command execution, SFTP file transfers, local port forwarding, and multi-machine cluster runs through MCP tools and human-confirmed management workflows.Apache 2.0