Skip to main content
Glama

cim_query

Read-onlyIdempotent

Query Windows CIM/WMI classes read-only via Get-CimInstance to inspect system information, using optional WQL filters and property selection.

Instructions

Query CIM/WMI classes via Get-CimInstance (Windows only), e.g. Win32_OperatingSystem, Win32_LogicalDisk, Win32_NetworkAdapterConfiguration, Win32_Service. filter is a WQL WHERE clause such as "DriveType=3". Read-only.

Input Schema

NameRequiredDescriptionDefault
limitNo
filterNo
namespaceNoroot/cimv2
class_nameYes
propertiesNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered for free. The description still adds real value with the Windows-only platform constraint and the clarification that `filter` is a WQL WHERE clause (i.e., a fragment, not a full query) — both are behavioral facts not present in the annotations. It stops short of disclosing error modes when a class is absent or WMI is unavailable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded: the verb, mechanism, and platform constraint arrive in the first clause. The four class examples are defensible as disambiguation aids, though they cost roughly a third of the text and could be trimmed to two without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. With five parameters at 0% schema description coverage and no annotation hints about failure behavior, the description should say more about `limit` semantics (is 50 a cap that silently truncates results?) and `namespace`/`properties` usage than it does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden, and it only partially discharges it: `filter` is explained well (WQL WHERE clause, with a "DriveType=3" example) and `class_name` is implied through the class examples. `limit`, `namespace`, and `properties` — including the default root/cimv2 namespace and that `properties` narrows the returned field set — are left entirely undocumented.

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

Purpose4/5

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

States a specific verb and resource ("Query CIM/WMI classes via Get-CimInstance") and grounds it with four concrete class examples, so the agent knows exactly what domain it operates in. It does not, however, distinguish itself from overlapping siblings like system_info, list_services, list_processes, or network_interfaces, which an agent might reasonably choose instead.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Windows only" is a genuine gating condition that helps the agent decide whether the tool is even callable. Beyond that there is no guidance on when to prefer cim_query over system_info, service_status, or list_ports, nor any note about prerequisites such as WMI permissions or the class names being machine-specific.

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