Skip to content
CodeDroid
MCP setup

Tools and skills

Everything your agent can use on your phone. It picks the right tool based on your prompt and what’s on the screen, so you rarely need to name one.

Tip: Browse the example prompts to see what these tools are good for in practice.

Available tools

Click a category to see its tools. With several phones paired, your agent picks one with the device argument.

Read the screen(3 tools)
get_screen
List what’s on screen as numbered elements, with up to 120 characters of text each. It can add a screenshot.
take_screenshot
Capture what the list can’t show, such as images and layout. It’s black if the app blocks screenshots.
device_info
Check the model, Android version, user, screen, lock state and whether CodeDroid is ready.
Act on the screen(6 tools)
tap
Tap an element by node, text, resource ID or content description, or tap at coordinates.
long_press
Press and hold an element, found the same way as tap.
type_text
Type into the focused field. It replaces what’s there by default, and can press Enter afterwards.
swipe
Swipe between two points on the screen, which is also how it scrolls.
press_key
Press Back, Home, Enter or Recents.
clipboard
Read or update the clipboard.
Move between apps(3 tools)
open_app
Open an app by package name, optionally at a specific activity.
list_apps
List the apps you can open and their package names, with an optional filter.
wait_for
Wait up to 30 seconds for text to appear or disappear, or for an app to come to the front.
Hand off a task(3 tools)
run_task
Give CodeDroid’s agent a goal across apps. It runs on your CodeDroid account.
get_task
Follow a task’s steps and read its reply.
cancel_task
Stop a running task.
Install and debug builds(2 tools)
install_apk
Install one APK from your computer, with no cable or shared network. See installing builds.
adb
Run adb on your computer to read logs, inspect state and run tests. It needs a USB or wireless debugging connection.
Manage the connection(3 tools)
codedroid_devices
List the paired phones and whether each is connected.
codedroid_status
Connect to the paired phones, report each connection, and explain how to fix problems.
codedroid_setup_phone
Set up a phone on your computer’s adb: install CodeDroid, turn on its accessibility service, and pair with no code. It installs only with install, after you agree. serial picks the phone when several devices are on adb.

What comes back

Every action on the screen returns an after observation, which is how your agent checks each step.

{ "after": { "screen_changed": true, "app": "com.google.android.calendar", "keyboard": false, "top": ["Search", "Today", "Create new event"], "hint": "The screen changed: call get_screen before using node numbers." } }

If the connection drops during a call, the call isn’t replayed, because the action may already have happened. Your agent reads the screen before trying again.

Errors

Errors include a code, a message and a hint for recovery.

busy
CodeDroid’s agent is running a task. Your agent waits with get_task, or cancels the task if it started it.
locked
The phone is locked. Your agent asks you to unlock it.
needs_setup
CodeDroid’s accessibility service or keyboard is off, or it’s signed out. Your agent asks you to fix it.
stale_node, not_found, ambiguous
The element is gone or unclear. Your agent reads the screen again.
bad_args
The arguments are wrong. Your agent corrects them.
failed
Anything else. The message says what went wrong.

Skills

Skills teach your agent how to do this work well. It loads them when a task calls for them, so you can ask in plain words. Journeys and test cases stay in your repo as Markdown, so they’re reviewed and versioned like code.

codedroid-phone
Use the phone one checked step at a time.
test-on-device
Build, install and verify an Android app change, and run an app’s test cases on the phone.
create-cujs
Write an app’s critical user journeys as Markdown files in its repo.
create-tests
Add test cases to those journeys, with steps and expected results.

The Claude Code and Codex plugins and the Gemini CLI extension include them, and setup installs those for you. Clients set up with a server configuration don’t get them automatically. To add them, run the command below for Claude Code, add --codex for Codex, or add --dir=<path> to put them anywhere else.

npx -y @codedroid/mcp skill install

What’s next