Skip to main content

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:

  • For iOS devices (macOS only):

    • Xcode Command Line Tools with xcrun
    • Maestro - For mobile automation

For detailed setup instructions, see the mobile-use repository.

Running the Server

The simplest way to start:

minitap-mcp --server --api-key your_minitap_api_key

This starts the server on localhost:8000 with your API key. Get your free API key at platform.minitap.ai/api-keys.

Available CLI options:

minitap-mcp --server --api-key YOUR_KEY --llm-profile PROFILE_NAME

Configuration (Optional)

Alternatively, you can set environment variables instead of using CLI flags:

export MINITAP_API_KEY="your_minitap_api_key"
export MINITAP_API_BASE_URL="https://platform.minitap.ai/api/v1"
export MINITAP_LLM_PROFILE_NAME="default"

You can set these in your .bashrc or equivalent, then simply run:

minitap-mcp --server

CLI flags always override environment variables when both are present.

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

  1. Start the server: minitap-mcp --server --api-key your_minitap_api_key
  2. 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 perform
  • output_description (optional): Natural language description of the desired output format. Results are returned as structured JSON (e.g., "An array with sender and subject for each email")
  • profile (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 extract
  • device_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

  1. Enable USB debugging on your device
  2. Connect via USB or network ADB
  3. Verify connection: adb devices

iOS (macOS only)

  1. Install Xcode Command Line Tools
  2. Start a simulator or connect a physical device
  3. 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_KEY is set correctly

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minitap_mcp-0.4.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minitap_mcp-0.4.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file minitap_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: minitap_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.7

File hashes

Hashes for minitap_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 fe94595bc93d4c6bc61e9bef1471f5b538c186c71d48da62618e908b0a6b9e4f
MD5 036478afb47a969995befd68411a81b6
BLAKE2b-256 fcc3430cef1b07c21cf1c19640bf6e45c969a46f0b1f550eaecc4a9cf7c6271d

See more details on using hashes here.

File details

Details for the file minitap_mcp-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for minitap_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9341d4b235992de093ae8bee9eaf67e6ddc0d8c809907a45596a4e9cc4ecca60
MD5 65e1d23e4f2ba04d65f649a4608fe1d5
BLAKE2b-256 21b709e74a6611c6d15bebf50a271e0c78d60bde36abf40cb2a2f6fffbadfdd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page