Skip to main content

app_biometric

This tool on every surface: CLI · MCP · Python · JavaScript · Go · Java · .NET

Biometrics on an emulator or simulator: read whether a face or finger is enrolled, enroll or unenroll one, and present a matching (match) or non-matching (nomatch) one to a prompt that is up. An iOS simulator is a Face ID or a Touch ID model, by its device type; an Android emulator has a fingerprint, and enrolling walks Settings' own enrollment — setting a PIN of 1111 first when the emulator has no screen lock, since Android enrolls none without one; unenroll removes both. match and nomatch report what the device made of it, read back: accepted, not recognized, failed (the prompt gave up) or locked out — and are refused when no prompt or lock screen is asking, rather than sent to nothing. Whether the app signed in is the app's to show: check the screen after. A real phone refuses — nothing outside it can present a finger or a face.

Changes the device, the app or the session: readOnlyHint is false.

Arguments​

NameTypeRequiredWhat it is
actionstring: status, enroll, unenroll, match, nomatchstatus (the default) reads; enroll and unenroll set the enrollment; match and nomatch present a face or finger to the prompt
devicestringDevice serial to target, e.g. "emulator-5554". Omit when only one device is running.
driverstring: uiautomator2, uiautomator, wdaDriver 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.

Enroll a face or a finger​

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

Present a matching one to the prompt that is up​

{
"action": "match"
}