Skip to content

Resources

✅ Implemented 🧪 Tested

Current state: All resources listed here are implemented. See the Status Glossary for chip definitions.

AutoMobile exposes resources through the Model Context Protocol for AI agents to access.

MCP Resources provide read-only access to:

  • Navigation graph data
  • Test execution history
  • Performance metrics
  • Device information

Available Resources

URI: automobile:navigation/graph

Returns the current navigation graph showing:

  • Known screens and their IDs
  • Screen transitions and triggers
  • UI elements that cause navigation

See Navigation Graph for details.

Booted Devices

URI: automobile:devices/booted

Returns booted device inventory across Android and iOS, including:

  • Total, per-platform, virtual, and physical device counts
  • Optional daemon pool status (idle/assigned/error) when the daemon is active
  • Per-device pool assignment (status + session UUID) when available

URI Template: automobile:devices/booted/{platform}

This resource replaces the removed listDevices and daemon_available_devices tools.

Installed Apps

URI: automobile:apps

Returns installed apps for booted devices. deviceId is required. Supports query parameters for filtering:

  • platform (android or ios)
  • search (case-insensitive partial match on package name or display name when available)
  • type (user or system)
  • profile (Android user ID, e.g. 0 or 10)
  • deviceId (booted device ID, required)

Example URIs:

  • automobile:apps?deviceId=emulator-5554&platform=android&search=slack&type=user
  • automobile:apps?deviceId=YOUR_IOS_DEVICE_ID&platform=ios&search=calendar

Clients can subscribe to specific automobile:apps?deviceId=... URIs for change notifications and re-read filtered URIs after updates.

App Container Files

URI Template: automobile:devices/{deviceId}/apps/{appId}/files/{container}

Lists files in a logical app container without requiring callers to know Android or iOS container paths. Supported logical containers are:

  • documents
  • library
  • cache
  • tmp
  • externalFiles where the platform supports it

List responses include each entry’s relative path, name, resourceUri, isDirectory marker, byte size for files when available, and lastModified timestamp when the platform can report one. Host absolute app-container paths are intentionally omitted.

Example list request:

{
  "method": "resources/read",
  "params": {
    "uri": "automobile:devices/emulator-5554/apps/com.example.app/files/documents"
  }
}

URI Template: automobile:devices/{deviceId}/apps/{appId}/files/{container}/{path}

Reads a single file from an app container. Nested paths and filenames containing spaces are encoded as URI path segments. Binary content is returned as an MCP blob so it can be round-tripped losslessly. UTF-8 text files are returned as text with text/plain; charset=utf-8 so clients do not need Android or iOS specific decoding logic.

iOS simulator examples:

  • automobile:devices/AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE/apps/com.example.app/files/documents/fixtures/welcome.png
  • automobile:devices/AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE/apps/com.example.app/files/cache/responses/home.json
  • automobile:devices/AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE/apps/com.example.app/files/tmp/session/output.bin

Example read request:

{
  "method": "resources/read",
  "params": {
    "uri": "automobile:devices/emulator-5554/apps/com.example.app/files/documents/fixtures/welcome%20image.png"
  }
}

Test Timing History

URI: automobile:test-timings

Returns historical test execution data:

  • Test class and method names
  • Average execution duration
  • Success/failure rates
  • Device information
  • Supports query parameters for filtering and sorting (e.g., lookbackDays, limit, minSamples, orderBy, sessionUuid).

See Daemon for test timing aggregation.

Performance Results

URI: automobile:performance-results

Returns recent UI performance audit results:

  • Scroll framerate measurements
  • Frame drop counts
  • Render time statistics

Localization Settings

URI: automobile:devices/{deviceId}/localization

Returns current localization settings for a device:

  • Locale tag
  • Time zone
  • Text direction
  • Time format
  • Calendar system

Using Resources

AI agents can request resources via MCP:

{
  "method": "resources/read",
  "params": {
    "uri": "automobile:navigation/graph"
  }
}

The agent receives structured data that it can analyze and use to inform decisions.

Implementation

See MCP Server for technical implementation details of resource providers.