Skip to main content
Glama

Logcat

android_logcat

Read Android device logs to debug React Native and Expo apps, filtering to console and crash entries by default and optionally clearing the buffer for fresh output.

Instructions

Recent logcat lines. By default only ReactNativeJS (console.*), ReactNative and crash tags; all: true lifts the filter. clearAfter: true empties the buffer so the next call shows only new lines.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "android_logcat"
  }
}

Input Schema

NameRequiredDescriptionDefault
allNo
serialNoadb serial (from android_devices). Default: the only online device.
containsNoCase-insensitive substring filter
maxLinesNoDefault 200
clearAfterNo

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?

Annotations only declare readOnlyHint=false and destructiveHint=false, so the description carries real weight here and delivers: it discloses that clearAfter empties the buffer, which is a consequence an agent must know before calling. It stops short of saying whether lines are returned before or after the clear, which is the one ambiguity left.

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?

Two tight sentences, zero filler, with the default-scope behavior front-loaded before the two opt-in flags. Every clause carries information the agent needs.

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 no output schema, the description still identifies the return value as log lines and defines the filter scope, so an agent knows what comes back. The remaining gap is the exact return format (raw lines vs. tag-prefixed entries) and the interaction between clearAfter and the returned batch.

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

Parameters4/5

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

Schema coverage is 60%, and the two undocumented parameters (all, clearAfter) are exactly the ones the description explains, so it compensates well for the gap. serial, contains, and maxLines are already documented in the schema and correctly get no redundant prose.

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?

"Recent logcat lines" names the concrete resource and the retrieval action, and the platform prefix distinguishes it from ios_logs in the sibling list. It also states the default tag scope, which sharpens what the tool actually returns, though it never explicitly contrasts itself with ios_logs.

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?

The description gives clear operating context: this is the default-tag view, and you opt into the wider view with all: true. It does not state prerequisites (e.g., a device must be online) or when-not-to-use, but the context for choosing the filter mode is clear.

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