Features

Built around Logcat signal.

Keynobi is a Mac app for Android developers who spend too much time digging through noisy logs. It puts live Logcat and filters first, then gives AI agents like Claude Code and Codex your real build, device, log, and UI context through MCP.

Get started →MCP docs

  1. Filter pills combined with AND / OR
  2. Age windows and “My App” in one click
  3. Process died / restarted markers in the stream
  4. Devices and emulators, one click to target
  5. MCP status for Claude Code and Codex

01 · Primary focus

Logcat: find the signal fast

The Logcat tab is the main reason to open Keynobi. It is built for the moment when the device is noisy, the repro is fresh, and you need the exact crash, package line, warning, JSON payload, or timeout without scanning a thousand unrelated rows.

Filters that map to real debugging

50K bufferCrash groupingSaved filtersJSON viewer
Filters
ANDOR
package:minelevel:error | is:crash-tag:systemage:5m+ add filter
Saved filters
Crashes onlyMy app, last 5mNo system noise

Android Studio Logcat

Android Studio shows the stream, then leaves you to combine text searches and mental context while the noise keeps moving.

Keynobi filters

Keynobi turns it into an investigation: package-aware filters, AND/OR groups, crash matching, negation, age windows, and saved searches in one place.

  • Live streaming from the selected device
  • Backend-side filters where possible before IPC
  • Package dropdown for app-only logs or packages seen in the session
  • Crash highlighting and grouped stack traces
  • ANR badges and crash counter navigation
  • JSON message badge with structured detail viewer
  • Pause display updates without losing buffered data
  • Jump to end, row selection, keyboard navigation, multi-row copy
  • Filtered export to .log or .txt for sharing evidence
  • Click a stack-trace line to open the file in Android Studio
  • Bounded ring buffer with configurable size and visible line cap
Keynobi Logcat: package:mine AND level:debug, a grouped FATAL EXCEPTION with Studio links, then process died and restarted markers
A crash in context: the app's own frames link to Android Studio, and process death and restart are marked in the stream.

Saved filters are capped at 50 so the useful searches stay curated. Logcat keeps a bounded ring buffer and lets you tune ring size plus visible line limits under Settings.

02 · Agents

MCP: Android context for your AI agent

Keynobi includes a local stdio MCP server in the app binary. Claude Code, Codex, and other MCP clients can run builds, read logs and crashes, inspect devices and UI, drive guarded UI automation, and query project health from your real project and device. Your agent starts its own background Keynobi process, so the window doesn't need to be open. There is no Keynobi-hosted proxy.

AreaWhat your agent can doMCP tools
BuildRun Gradle, inspect live build state, pull structured errors, switch variants, find APKs, and run tests.
  • run_gradle_task
  • get_build_status
  • get_build_errors
  • get_build_log
  • cancel_build
  • list_build_variants
  • set_active_variant
  • find_apk_path
  • run_tests
  • get_build_config
Logcat and crashesStart streams, read filtered entries, pull crash logs and stack traces, clear buffers, and summarize log stats.
  • start_logcat
  • stop_logcat
  • get_logcat_entries
  • get_crash_logs
  • get_crash_stack_trace
  • clear_logcat
  • get_logcat_stats
Devices and appsList devices and AVDs, capture screenshots, inspect packages and memory, install, launch, stop, and restart apps.
  • list_devices
  • screenshot
  • get_device_info
  • dump_app_info
  • get_memory_info
  • install_apk
  • launch_app
  • stop_app
  • restart_app
  • get_app_runtime_state
  • list_avds
  • launch_avd
  • stop_avd
UI hierarchy and automationRead UI Automator trees, find elements, tap/type/swipe safely, wait/assert UI state, open links/settings, and change test conditions.
  • get_ui_hierarchy
  • find_ui_elements
  • list_clickable_elements
  • find_ui_parent
  • ui_tap
  • ui_tap_element
  • ui_type_text
  • ui_fill_input
  • clear_focused_input
  • ui_type_text_unicode
  • send_ui_key
  • hide_soft_keyboard
  • ui_swipe
  • ui_scroll_until_element
  • grant_runtime_permission
  • revoke_runtime_permission
  • wait_for_element
  • ui_wait_for_idle
  • ui_assert_element
  • open_deep_link
  • open_app_settings
  • set_device_orientation
  • set_network_state
  • compare_ui_state
Project and healthReport the active project, how it was chosen, its trust state and JDK, and health checks for Java, SDK, ADB, and the Gradle wrapper.
  • get_project_info
  • run_health_check
Built-in prompts
  • diagnose-crash
  • full-deploy
  • build-and-fix
Resources
  • android://health
  • android://manifest
  • android://app-build-gradle
  • android://build-gradle
  • android://gradle-settings
  • android://project-info

MCP validates external input before acting: Gradle tasks, package names, serials, APK paths, deep links, runtime permissions, UI keys, coordinates, and tree paths are checked. File access stays inside the effective project root or project build outputs.

03 · The whole loop

The rest of the loop

Builds

Stream Gradle output colored by level, jump to structured Problems (Kotlin, KSP, lint, R8, AAPT2), pick variants, run build-only or build → install → launch with Cmd+R, clean, cancel, and review recent builds in build history.

Keynobi Build tab: a failed installDebug started by Claude Code, with the Gradle log and build history

Projects

Keep a multi-project registry, detect Gradle roots, switch saved projects, and edit versionName/versionCode through Project App Info. New projects ask for trust first: Safe Mode opens a project without running any of its build code.

Layout

Capture a UI Automator accessibility snapshot, search class/resource-id/text/content-desc/package, hide boilerplate, inspect interactive nodes, hit-test the wireframe, and understand what automation sees.

Keynobi Layout tab: wireframe over the device screenshot, UI tree, and node detail

Devices and AVDs

See physical devices and emulators, choose the active deploy target, create emulators (downloading system images when needed), launch, stop, wipe, or delete them, and keep device selection connected to install and launch.

Keynobi device panel: a connected phone, an emulator, and three virtual devices

Health, updates, and window controls

Health Center checks the Android SDK, ADB, emulator, Android Studio CLI, JDK, and app data directory. Get notified of new releases, focus the window on Logcat with Log Mode, keep it on top, and jump through actions with Cmd+Shift+P.

Find your next crash faster.

Free and open source for macOS 12+. Gradle projects in Kotlin or Java.

Apple Silicon · Intel Mac? Get the Intel build