home / mcp / phone mcp server

Phone MCP Server

Controls an Android device via MCP using ADB commands for calls, messages, UI automation, and app management.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "hao-cyber-phone-mcp": {
      "command": "uvx",
      "args": [
        "phone-mcp"
      ]
    }
  }
}

You can control an Android device from your computer using a dedicated MCP server that runs locally or remotely. This server exposes a rich set of commands for calling, messaging, app control, UI automation, screen analysis, and more, all through simple MCP client interactions. It enables automated workflows, testing, and hands-free device management from your preferred assistant or automation setup.

How to use

Install and run the MCP server on your machine or a nearby host, then connect to it from your MCP client. Once connected, you can issue natural language requests or scripted commands to perform tasks such as placing a call, sending an SMS, launching apps, taking screenshots, analyzing the screen, navigating the UI, and more. Combine multiple actions to build end-to-end automation, for example: open the contacts app, create a new contact, and save it automatically.

How to install

# Run directly with uvx (recommended, part of uv, no separate installation needed)
uvx phone-mcp

# Or install with uv
uv pip install phone-mcp

# Or install with pip
pip install phone-mcp

Configuration and setup

Configure how the MCP server runs and how it is accessed by your MCP client. You can choose between running via uvx/uv or using a Python module. The following configurations show common setups you can paste into your client configuration.

{
  "mcpServers": {
    "phone_mcp": {
      "command": "uvx",
      "args": [
        "phone-mcp"
      ]
    }
  }
}

Security and prerequisites

Before you start, ensure you have a working connection to an Android device. The device must have USB debugging enabled and be connected to your computer. ADB should be installed and accessible from your shell. Use the appropriate startup method for your environment (uvx or Python) and confirm the MCP server is reachable from your client.

Basic commands you can perform

Once the server is running, you can perform a wide range of actions. The commands are grouped by capability, and you can mix them to automate common workflows.

Examples of common actions

- Place a call to a number or contact, and end the call when needed. - Send an SMS to a number with a custom message. - Launch an app or a specific activity, then interact with the UI to complete a task. - Take a screenshot or record the screen for debugging. - Analyze the current screen, tap elements, and input text. - Open a URL in the device's default browser.

Notes on usage with your assistant

You can issue commands directly in conversation with your AI assistant. For example, ask it to call a contact or to launch a specific app. The server translates your request into ADB operations on the connected device and returns the result.

Available tools

interact_with_screen

Execute screen interaction actions such as tap, swipe, key press, and text input with a parameter dictionary that defines the exact behavior.

analyze_screen

Analyze the current screen and return a structured description of UI elements, with an option to include a screenshot.

create_contact

Create a new contact on the device using UI automation to fill out name and phone fields.

launch_app_activity

Launch an app by providing the package name and optionally the activity name for reliable startup.

launch_intent

Launch an activity using the Android intent system with optional extras.