Skip to main content
Glama
lhwlhw0829-cmd

claude-background-control

type

Destructive

Inserts text into the focused element of the frontmost macOS app via paste, supporting IME and restoring clipboard.

Instructions

Type text into the focused element of the frontmost app (via paste, so Korean and other IME text work; the clipboard, images included, is restored). Prefer set_value for plain text fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds genuinely useful behavior beyond that: input goes through paste for IME (Korean) support, and the clipboard including images is restored afterward. It still doesn't say whether typing appends to or replaces existing field content, which matters for a destructive tool.

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?

One lead sentence with the action front-loaded, a parenthetical for mechanism details, and a short routing sentence. Zero wasted words.

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?

With annotations covering the safety profile and no output schema to explain, the description covers mechanism, IME handling, clipboard side effects, and sibling routing. The remaining gap is focus/replacement semantics and what happens if no element is focused.

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?

There is one required parameter (text) with 0% schema description coverage, so the description carries the burden. "Type text" makes the parameter's meaning inferable, but it adds nothing about newlines, special characters, or length handling beyond the schema's minLength: 1.

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 (type) and resource (focused element of the frontmost app), and the parenthetical explains the mechanism. It explicitly names the sibling it is not — set_value — so an agent can route between the two without opening either schema.

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?

"Prefer set_value for plain text fields" gives a clear alternative and the condition that selects it, which is strong guidance. It stops short of full 5 because it doesn't address when typing is preferable to key, click, or other input siblings, nor any when-not conditions.

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