Skip to main content
Glama
mobile-debug-mcp

mobile-debug-mcp

get_logs

Retrieve recent Android or iOS simulator logs with filters for app, pid, tag, level, and time, returning structured device metadata and logs for AI analysis.

Instructions

Get recent logs from Android or iOS simulator. Returns device metadata and structured logs suitable for AI consumption. Returns evidence metadata with acquisition intervals and conservative freshness. Optional actionRef links a known same-session/device action; unavailable references collect independently. Device log times are not comparable with host dispatch times.

Input Schema

NameRequiredDescriptionDefault
pidNoFilter by process id
tagNoFilter by tag (Android) or subsystem/category (iOS)
appIdNoFilter by Android package name or iOS bundle id
levelNoLog level filter (VERBOSE, DEBUG, INFO, WARN, ERROR)
limitNoOverride default number of returned lines
linesNoLegacy - number of log lines (android only)
containsNoSubstring to match in log message
deviceIdNoDevice UDID (iOS) or Serial (Android). Defaults to booted/connected.
platformYes
actionRefNo
since_secondsNoOnly return logs from the last N seconds

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.34.0
    • addedInput schema / allOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "expectedState"
      +      ]
      +    }
      +  }
      +]
    • addedInput schema / properties / actionRef
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "actionId": {
      +      "maxLength": 128,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "sessionId": {
      +      "maxLength": 128,
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "sessionId",
      +    "actionId"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.31.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses that device metadata and evidence metadata (acquisition intervals, conservative freshness) are returned, explains that actionRef links a known same-session/device action while unavailable references collect independently, and warns that device log times are not comparable with host dispatch times. It omits permissions and volume/pagination behavior, but the behavioral disclosure is substantially richer than typical.

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?

Front-loaded with the core purpose, then layered behavioral detail. Mostly earns its place, though 'evidence metadata with acquisition intervals and conservative freshness' is jargon-heavy and the timestamp caveat could be tightened.

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 an 11-parameter tool with no annotations and no output schema, the description covers the return shape (device metadata, structured logs, evidence metadata) and key caveats. It leaves filter interaction and default/limit behavior to the schema, which is a modest gap but not a blocking one.

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 82%, so the schema already documents most filters (pid, tag, appId, level, limit, contains, deviceId, since_seconds). The description adds genuine meaning beyond the schema by explaining the semantics of the nested actionRef object and its fallback behavior when the reference is unavailable.

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?

States a specific verb and resource ('Get recent logs') with the platform scope ('Android or iOS simulator'). However, it never distinguishes this from the closely related streaming siblings start_log_stream and read_log_stream, so an agent must guess when a one-shot snapshot is preferable.

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 only implied: 'Get recent logs' plus an actionRef linkage hint suggest a point-in-time fetch, but there is no explicit when-to-use guidance and no mention of when to prefer the streaming alternatives over this tool.

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