Skip to main content
Glama

ACTION_BRIGHTNESS

Set, read, or toggle automatic screen brightness on Android devices, with fixed-brightness control by disabling auto mode.

Instructions

屏幕亮度:设置、读取、开关自动亮度(set/auto_on/auto_off 需「修改系统设置」权限(WRITE_SETTINGS);get 不需要)。输出:brightness_success, brightness_error, brightness_value, brightness_mode。自动亮度开着时 set 的值可能被系统改掉,要固定亮度先 auto_off。brightness_mode 为 auto/manual。。字符串参数支持 ${var} 插值;结果以变量快照 JSON 返回。

Input Schema

NameRequiredDescriptionDefault
valueNo亮度 0-255(超出截断),action=set 时必填
actionYesset=设置亮度;get=读取亮度和模式;auto_on/auto_off=开/关自动亮度
requireNo执行后要求为 true 的变量名(如 click_success),不满足按出错处理
on_errorNo节点出错时:skip=跳过继续(默认),stop=停止整个工作流
node_timeout_msNo单节点超时毫秒,0=不限;默认 30 分钟

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does well: it discloses the permission requirement per action, the risk that a set value gets overridden while auto mode is on, the exact output variable names, and that results come back as a variable-snapshot JSON. It leaves out failure modes (e.g. what happens when WRITE_SETTINGS is denied) and any timeout/rate behavior.

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?

The text is dense and front-loaded: operation list first, then permissions, outputs, the auto-brightness caveat, and the interpolation note. It is efficient overall, though the trailing '。' duplication and the slightly jumbled ordering of outputs vs. caveat keep it from being perfectly polished.

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

Completeness4/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 correctly compensates by naming the four returned fields and the brightness_mode values. Combined with the permission note and the auto-mode caveat, an agent has what it needs to call this correctly; only error/denial handling is unspecified.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents value range, action meanings, require, on_error and node_timeout_ms; that sets a baseline of 3. The description adds only marginal parameter-level value, mainly that string parameters support ${var} interpolation and which action values need permission.

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?

The description opens with a specific verb+resource statement (screen brightness) and enumerates the exact operation set: set, get, auto_on, auto_off, matching the action enum. An agent can immediately distinguish this from neighbors such as ACTION_VOLUME or ACTION_FLASHLIGHT, which control different hardware.

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?

It gives real when-to-use guidance: set/auto_on/auto_off require WRITE_SETTINGS while get does not, and it explicitly says to call auto_off before set if you want a fixed brightness because the system may override the value. It does not discuss cases where a different tool (e.g. ACTION_GET_SCREEN_STATE) should be preferred, but the hardware scope makes that mostly moot.

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