Skip to main content
Glama

mac_status

Read-onlyIdempotent

Reports macOS Accessibility and Screen Recording permissions, frontmost app, OS version, display frames, and read-only mode to diagnose failing mac_* actions and confirm available capabilities.

Instructions

Report what the Mac layer can do here: Accessibility and Screen Recording permission for the MCP host app, cliclick, the frontmost app, macOS version, displays (frame, scale), read-only mode. Run it first when mac_* tools fail.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "mac_status"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.6

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so safety is covered. The description adds real value on top: it discloses that the tool surfaces permission grants for the host app and a read-only mode flag, which is behavioral information an agent cannot get from the annotations or the empty schema.

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

Conciseness5/5

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

Two sentences total. The payload list is front-loaded and every enumerated item is a genuinely distinct diagnostic signal, and the operational instruction ('run it first when mac_* tools fail') is placed last as an actionable takeaway.

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

Completeness5/5

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

There is no output schema, so the description carries the burden of describing return content — and it does, naming the permission states, tool availability, OS version, display geometry and read-only mode. For a zero-parameter diagnostic tool with full annotation coverage, nothing needed to invoke or interpret it is missing.

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

Parameters4/5

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; baseline for a no-param tool is 4. The schema also allows additionalProperties, which the description does not address, but that is a marginal gap.

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

Purpose5/5

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

States a specific verb ('Report') plus the resource ('what the Mac layer can do here') and then enumerates exactly what is inspected: Accessibility and Screen Recording permissions, cliclick, frontmost app, macOS version, displays with frame/scale, read-only mode. That enumeration clearly separates it from phone_status and from the action-oriented mac_* siblings.

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

Usage Guidelines4/5

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

Gives one crisp triggering condition: 'Run it first when mac_* tools fail' — an explicit diagnostic-first rule that tells the agent when to reach for it. It stops short of stating exclusions (for example, that it should not be used for routine capability checks when things are working), so it is clear but not fully bidirectional.

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