Skip to main content
Glama

keyboard_check

Opens the iOS keyboard on a field and reports whether it covers the field, fixed bars, or suggestion popups, returning a screenshot and confirming viewport recovery after closing.

Instructions

Open the keyboard on a field and report whether it covers anything important: the field itself, fixed bars, suggestion popups. Optionally puts a value in the field first, to bring up suggestions. Returns the report and a screenshot with the keyboard up, then closes the keyboard and checks that the viewport recovers.

Input Schema

NameRequiredDescriptionDefault
hideNoclose the keyboard afterwards, default true
pageNoindex in inspector_pages; default the first page with a real address
waitNoseconds to wait for the page list, default 60
indexNo
valueNoput this in the field (fill) after the keyboard is up, so that suggestions appear
selectorNothe field; default the first visible text input
settle_sNoseconds to wait after the value, default 8

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and mostly does: it discloses the full side-effect sequence (opens keyboard, optionally fills value, waits, screenshots, then closes the keyboard by default and re-checks viewport recovery). That is real behavioral context an agent needs. It stops short of saying whether focus/tap is required to open the keyboard or what happens on failure/timeout.

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?

Content is front-loaded — what it does, what it reports, then what it returns and how it cleans up. Dense but nearly every clause carries information; only the run-on construction around the return/cleanup step costs it a point.

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?

For a 7-parameter, no-annotation, no-output-schema tool, the description covers the sequence, the return artifacts (report plus screenshot) and the default cleanup. What is missing is the meaning of 'index', error/timeout behavior, and the report's shape — enough to keep it from a 5.

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 coverage is 86%, so the schema already documents hide, page, wait, value, selector and settle_s; the description only reinforces 'value' (fills the field to trigger suggestions) and 'selector' (the field). The 'index' parameter has no description in either the schema or the description, leaving a real 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?

The description names a specific verb and resource (open the keyboard on a field) and a specific outcome (report occlusion of the field, fixed bars, suggestion popups). It is clearly not a plain show/hide/state tool, distinguishing it from siblings keyboard_show, keyboard_hide and keyboard_state, which only manipulate or read keyboard state without an occlusion report.

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?

Usage is implied rather than stated: the mention of 'suggestion popups' and 'optionally puts a value in the field first, to bring up suggestions' tells the agent this is the tool for keyboard-occlusion audits, and the 'hide' behavior hints at the after-state check. But there is no explicit when-to-use or when-not against keyboard_state / keyboard_show / screenshot, and no prerequisites (e.g. that a page must be loaded) are stated.

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