Model Context Protocol server for controlling Android & iOS devices with natural language
Project description
Minitap MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to control and interact with real mobile devices (Android & iOS) through natural language commands.
Quick Start
Installation
pip install minitap-mcp
Prerequisites
Before running the MCP server, ensure you have the required mobile automation tools installed:
-
For Android devices:
- ADB (Android Debug Bridge) - For device communication
- Maestro - For mobile automation (optional but recommended)
-
For iOS devices (macOS only):
- Xcode Command Line Tools with
xcrun - Maestro - For mobile automation (optional but recommended)
- Xcode Command Line Tools with
For detailed setup instructions, see the mobile-use repository.
Configuration
Set your Minitap API credentials as environment variables:
export MINITAP_API_KEY="your_api_key_here"
export MINITAP_API_BASE_URL="https://platform.minitap.ai/api/v1"
export MINITAP_LLM_PROFILE_NAME="default"
You can set these variables in your .bashrc or equivalent.
Running the Server
With environment variables:
minitap-mcp --server
With API key as argument:
minitap-mcp --server --api-key your_api_key_here
Using --api-key overrides the MINITAP_API_KEY environment variable, useful for quick testing.
By default, the server will bind to 0.0.0.0:8000. Configure via environment variables:
export MCP_SERVER_HOST="0.0.0.0"
export MCP_SERVER_PORT="8000"
IDE Integration
- Start the server:
minitap-mcp --server - Add to your IDE MCP settings file:
# For Windsurf
{
"mcpServers": {
"minitap-mcp": {
"serverUrl": "http://localhost:8000/mcp"
}
}
}
# For Cursor
{
"mcpServers": {
"minitap-mcp": {
"transport": "http",
"url": "http://localhost:8000/mcp"
}
}
}
Available Tools
Once connected, your AI assistant can use these tools:
execute_mobile_command
Execute natural language commands on your mobile device using the Minitap SDK. This tool allows you to control your Android or iOS device using natural language.
Parameters:
goal(required): High-level goal describing the action to performoutput_description(optional): Description of expected output formatprofile(optional): Profile name to use (defaults to "default")
Examples:
"Open the settings app and tell me the battery level"
"Find the first 3 unread emails in Gmail"
"Open Google Maps and search for the nearest coffee shop"
"Take a screenshot and save it"
analyze_screen
Capture and analyze what's currently shown on the mobile device screen using a vision-capable LLM. Useful for understanding UI elements, extracting text, or identifying specific features.
Parameters:
prompt(required): Analysis prompt describing what information to extractdevice_id(optional): Specific device ID to target
Examples:
"What app is currently open?"
"Read the text messages visible on screen"
"List all buttons and their labels on the current screen"
"Extract the phone number displayed"
Advanced Configuration
Custom ADB Server
If using a remote or custom ADB server (like on WSL):
export ADB_SERVER_SOCKET="tcp:192.168.1.100:5037"
Vision Model
Customize the vision model used for screen analysis:
export VISION_MODEL="qwen/qwen-2.5-vl-7b-instruct"
Device Setup
Android
- Enable USB debugging on your device
- Connect via USB or network ADB
- Verify connection:
adb devices
iOS (macOS only)
- Install Xcode Command Line Tools
- Start a simulator or connect a physical device
- Verify:
xcrun simctl list devices booted
Troubleshooting
No devices found:
- Verify ADB/xcrun connection
- Check USB debugging is enabled (Android)
- Ensure device is unlocked
Connection refused errors:
- Check ADB/xcrun connection
API authentication errors:
- Verify
MINITAP_API_KEYis set correctly
Links
- Mobile-Use SDK: github.com/minitap-ai/mobile-use
- Mobile-Use Documentation: docs.minitap.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file minitap_mcp-0.3.0.tar.gz.
File metadata
- Download URL: minitap_mcp-0.3.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e708bf69ca37b9fc9bfdc3afbc4c8090ef23ad669e8f130e6abdc7f94e04d05c
|
|
| MD5 |
f4be68b847727729fbe2398fac59f50b
|
|
| BLAKE2b-256 |
4f9f306cada286f89a962410a44c1d2da942553ea047d1921c4b25d4764cb671
|
File details
Details for the file minitap_mcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: minitap_mcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d844b4dca446b83810f3bbdc7ca49353f6f3e9792a168022571b578bdc8974a
|
|
| MD5 |
9c186cc241b6d323021f2a0a53f19190
|
|
| BLAKE2b-256 |
4264e7dd13c690b19b01aab9d424b7443b9d22ca1ab9f230e69cabed081b8018
|