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¶
Navigation Graph¶
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(androidorios)search(case-insensitive partial match on package name or display name when available)type(userorsystem)profile(Android user ID, e.g.0or10)deviceId(booted device ID, required)
Example URIs:
automobile:apps?deviceId=emulator-5554&platform=android&search=slack&type=userautomobile: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:
documentslibrarycachetmpexternalFileswhere 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.pngautomobile:devices/AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE/apps/com.example.app/files/cache/responses/home.jsonautomobile: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.