app_appearance
This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET
Read the device's light/dark setting, or change it. Call with no argument to read. Dark mode renders every screen differently and is where contrast and hard-coded colors break, so it is worth checking a flow in both. Android also accepts "auto"; iOS does not and says so. Changing it invalidates the refs from the previous screen.
Changes the device, the app or the session: readOnlyHint is false.
Arguments
| Name | Type | Required | What it is |
|---|---|---|---|
appearance | string: light, dark, auto | "light", "dark", or "auto" (Android only). Omit to read the current setting. | |
device | string | Device serial to target, e.g. "emulator-5554". Omit when only one device is running. | |
driver | string: uiautomator2, uiautomator, wda | Driver to use: "uiautomator2" (default for Android; fast, installs a server APK on first use), "uiautomator" (Android, installs nothing, slower, cannot type), or "wda" (WebDriverAgent: iOS simulators and iPhones). |
Examples
Each is the arguments of a tools/call request; the first is shown whole.
Switch to dark mode
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "app_appearance",
"arguments": {
"appearance": "dark"
}
}
}
On an Android 15 emulator the answer's text was:
dark (was light)

mobium appearance dark on an Android 15 emulator