Android MCP Server
Enables control of Android devices through ADB using natural language commands. Supports browser automation, SMS sending, device information retrieval, settings control, and common device actions like screenshots and button presses.
README
Android MCP Server
Overview
This repository provides an MCP (Model Context Protocol) server for Android device control through ADB (Android Debug Bridge). It exposes simple tools (functions) that can be called from LLMs or clients (like Claude Desktop) to automate Android device actions such as opening Chrome and performing a search.
The goal is to make it easy for any client supporting MCP (such as Claude Desktop) to control an Android device using natural language and safe, auditable tools.
Features
- open_chrome_and_search:
Opens the default browser on a connected Android device and performs a Google search for a given query. - screenshot_and_preprocess:
Takes a screenshot and preprocesses it for further use. - send_sms_via_adb:
Sends an SMS message via ADB to a specified number. - get_device_model:
Retrieves the model name of the connected Android device. - get_battery_info:
Returns battery status and information. - get_device_features:
Lists hardware/software features supported by the device. - get_storage_info:
Provides information about device storage usage. - get_network_info:
Returns details about the device's network connectivity. - take_screenshot:
Captures a screenshot from the device. - open_settings:
Opens the main settings app on the device. - toggle_airplane_mode:
Enables or disables airplane mode. - increase_volume / decrease_volume:
Adjusts the device's media volume up or down. - press_power_button:
Simulates pressing the power button. - press_home_button:
Simulates pressing the home button. - press_back_button:
Simulates pressing the back button. - open_wifi_settings:
Opens the Wi-Fi settings screen. - open_bluetooth_settings:
Opens the Bluetooth settings screen. - open_display_settings:
Opens the display settings screen. - Easily extensible: add more ADB-powered tools as needed (launch apps, take screenshots, etc.)
- Secure: only exposes specific, whitelisted actions.
Requirements
- Python 3.10+
- ADB installed and added to your system PATH
- An Android device with:
- Developer mode enabled
- USB debugging enabled
- Claude Desktop (or any MCP-compatible client)
- uv Python project tool (recommended, but you can adapt to pip/venv if you wish)
Installation & Setup
1. Clone the repository
git clone https://github.com/IngaleChinmay04/android-mcp-server
cd android-mcp-server
2. Install uv (if not already)
On Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
On Mac/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Restart your terminal after install.
3. Set up the Python environment
uv venv
# On Windows:
.venv\Scripts\activate
# On Mac/Linux:
source .venv/bin/activate
uv add "mcp[cli]"
4. (Optional) Test the server manually
uv run android_server.py
The server will wait for MCP client connections.
Usage: Integrate with Claude Desktop
To connect your MCP server to Claude Desktop:
1. Ensure Claude Desktop is installed and fully up to date.
2. Edit/Create the Claude config file
On Windows:
- Location:
C:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json
On Mac:
- Location:
~/Library/Application Support/Claude/claude_desktop_config.json
Create the file if it does not exist.
3. Add your server configuration
Example config (update the directory path if you cloned elsewhere):
{
"mcpServers": {
"android_control": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\<YourUsername>\\Desktop\\android-mcp-server",
"run",
"android_server.py"
]
}
}
}
- Use the absolute path to your project folder.
- Save the config file.
4. Restart Claude Desktop
- Fully close all Claude Desktop windows (including tray icon).
- Reopen Claude Desktop.
5. Plug in your Android device
- Enable Developer Options and USB Debugging on your phone.
- Connect via USB.
- Approve any "Allow USB Debugging" prompts.
Example Usage
In Claude Desktop, you can now use the tool by typing a natural language prompt such as:
- "Search for 'latest Android news' on my Android device."
- "Use the open_chrome_and_search tool with query: Python tutorials"
Claude will invoke the tool, and your phone's browser will open and perform the search.
Adding More Tools
To extend functionality, simply add more @mcp.tool() decorated Python functions to android_server.py.
For example, you can add tools to take a screenshot, install an app, open a specific app, etc.
Troubleshooting
- No device found?
Make sure you have runadb devicesand see your device listed. - MCP server not showing up in Claude?
Double check your config file path and syntax, and restart Claude Desktop. - Unexpected token / JSON errors?
Ensure there are NO print statements or logging to stdout in your server code; all outputs must go via MCP calls only. - Still stuck?
Check the Claude logs (button in the Claude Desktop UI) for details.
Credits
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.