Skip to main content
Glama
mcpAD

mcpAD

Find Stale Computers

find_stale_computers
Read-only

Identifies stale Active Directory computers by last logon age, flagging those older than a cutoff (default 90 days) and optionally including never-logged-on machines.

Instructions

Find computers whose last logon is older than days (default 90).

Matches lastLogonTimestamp at or before the cutoff. Set include_never=True to also return computers that never logged on. Pass base (a DN) to scope to an OU.

Input Schema

NameRequiredDescriptionDefault
baseNo
daysNo
limitNo
domainNo
include_neverNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds genuinely useful semantics beyond that: the comparison is against `lastLogonTimestamp` at or before the cutoff, 90 days is the default, and never-logged-on machines are excluded unless `include_never=True`. It omits the notable behavioral fact that `limit` defaults to 100, so results may be silently truncated - a relevant gap for an audit tool.

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

Conciseness4/5

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

Three short sentences with the core criterion front-loaded in the first clause, followed by the matching rule and the optional parameters. No filler or redundant restatement, though the parameter notes could be organized more tightly rather than as a prose run-on.

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 and annotations cover safety, so those needs are met. However, for a 5-parameter tool with zero schema descriptions, the description leaves `limit` (default 100, truncation risk) and `domain` (needed in multi-domain environments) entirely unexplained, which is a real completeness gap for an agent that must call it correctly on the first try.

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 full burden and it only partially delivers: it explains `days` (semantics plus default), `include_never`, and `base` ('a DN' that scopes to an OU). The `limit` and `domain` parameters are never mentioned, leaving 2 of 5 parameters undocumented anywhere.

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 ('Find'), resource ('computers') and the exact selection criterion ('last logon older than `days`'), which clearly separates it from find_computers (all computers) and find_inactive_users (users, not computers). It never names a sibling explicitly, but the scoping condition makes the distinction inferable without opening the schema.

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

Usage Guidelines3/5

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

Guidance is limited to parameter-level usage notes: when to set `include_never` and when to pass `base` to scope to an OU. There is no explicit statement of when this tool should be preferred over find_computers, search_ldap or find_recently_modified, and no prerequisites or exclusions. Usage is implied by the tool's name and criterion rather than stated.

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