Skip to main content
Glama

current_app

Identifies the Android package and activity currently in the foreground, helping agents verify which app screen is active during automated testing.

Instructions

Package and activity currently in the foreground.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serialNoadb serial; optional when exactly one device is connected

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden and does not meet it. It never states that this is a side-effect-free read, what happens when no app is foreground (home screen/launcher), or whether it errors with multiple devices attached — all relevant for an adb-backed 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?

A single seven-word sentence with no filler, front-loading the key output concepts. It is a sentence fragment rather than a complete statement of purpose, which keeps it just short of ideal.

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?

With no annotations and no output schema, the description must supply both safety profile and return shape. It hints at the return shape (package + activity) but omits the no-foreground-app case and any device-selection caveat, leaving a simple tool only minimally covered.

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% and the single optional `serial` parameter is fully documented in the schema ('optional when exactly one device is connected'). The description adds nothing about parameters, so the baseline 3 applies.

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

Purpose3/5

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

The description states the information the tool surfaces (foreground package and activity), which is a real clarification over the bare name 'current_app'. However it is a noun phrase with no verb, and it does nothing to distinguish itself from siblings like get_screen_info, get_ui, or list_dev_apps, so an agent must infer that this is the read-only foreground-app lookup.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no statement of the scenario this answers ('which app is on screen right now?'), no contrast with get_screen_info or list_dev_apps, and no mention of prerequisites such as a connected device. The agent is left to infer placement from the name alone.

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