Skip to main content
Glama

android_events

Read-onlyIdempotent

Retrieve UI and notification events from the in-memory feed after a specified cursor. Use to monitor recent activity without persisting event data.

Instructions

Read the bounded in-memory UI/notification event feed after a cursor. Event bodies are not persisted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
afterIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, open-world, and non-destructive behavior, so the description only needs to add extra context. It does so by disclosing that the feed is bounded, in-memory, and that event bodies are not persisted, which is meaningful behavioral information beyond the annotations.

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?

The description is a single compact sentence with no filler. The most important behavior, reading the event feed after a cursor, is front-loaded, and the non-persistence caveat is added efficiently.

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?

For a simple read-only tool with two optional parameters and rich annotations, this is mostly adequate. Still, it lacks detail about how the cursor/afterId semantics work, what the returned event feed includes, and the practical meaning of 'bounded'.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only hints at afterId with the phrase 'after a cursor'. It says nothing about the limit parameter, its default, or the maximum, leaving real semantic gaps for the agent.

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

Purpose4/5

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

The description clearly identifies the action ('Read'), the resource ('bounded in-memory UI/notification event feed'), and the access pattern ('after a cursor'). It is reasonably distinct from siblings like android_events_wait, which implies waiting rather than reading, but it does not explicitly name any of those alternatives.

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?

The phrase 'after a cursor' implies this is for incremental/paginated reads rather than initial fetching or waiting for events, giving some usage context. However, the description gives no explicit guidance about when to prefer this tool over android_events_wait or android_notifications.

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