Downloads

Get the ScreenMCP Android app and client SDK to start controlling your phone with AI.

Android App

ScreenMCP for Android

Install the app on your Android phone to enable remote control via AI assistants. Requires Android 8.0 or later.

v0.2APK (Android Package)

Install Instructions

  1. 1Download the APK file to your Android phone
  2. 2Open the file and allow installation from unknown sources if prompted
  3. 3Launch ScreenMCP and sign in with your Google account
  4. 4Enable the Accessibility Service when prompted (required for UI automation)
  5. 5Grant screen capture permission when prompted
  6. 6The app will connect automatically and show a green "Connected" indicator

Desktop Clients

System tray apps that let AI control your desktop — screenshots, mouse, keyboard, clipboard, and window listing. Download the binary for your platform from GitHub Releases.

Windows

v0.2

x86_64 · Windows 10 or later — installs to Program Files, adds to Start Menu & startup

Download Installer (.exe)

macOS (Universal)

v0.1

Apple Silicon & Intel · macOS 12 or later

Download .dmg

Linux

v0.1

x86_64 · X11/Wayland with system tray support

Download .tar.gz

Extract the archive and run the binary. Sign in with your Google account or enable Open Source Server mode and configure your server URL and User ID.

Client SDKs

Use a client SDK to programmatically control your phone from your own code. The SDK connects to the ScreenMCP worker via WebSocket and provides a simple API for sending commands.

TypeScript / Node.js SDK

@screenmcp/sdk

TypeScript SDK for controlling your phone or desktop programmatically.

View on GitHub

Install from GitHub

Terminal
git clone https://github.com/shimondoodkin/screenmcp.git
cd screenmcp/sdk/typescript
npm install && npm run build

Quick Start

example.ts
import { ScreenMCP } from "@screenmcp/sdk";

const client = new ScreenMCP({
  apiKey: "pk_your_api_key_here",
  server: "https://screenmcp.com",
});

await client.connect();

// Take a screenshot
const screenshot = await client.screenshot();

// Tap on screen
await client.click(500, 1000);

// Type text
await client.type("Hello from ScreenMCP!");

await client.disconnect();

Requires Node.js 18 or later. Source code in sdk/typescript.

Python SDK

screenmcp

Python client library for controlling your phone or desktop. Ideal for automation scripts, notebooks, and integration with Python-based AI frameworks.

View on GitHub

Install from GitHub

Terminal
git clone https://github.com/shimondoodkin/screenmcp.git
cd screenmcp/sdk/python
pip install .

Quick Start

example.py
from screenmcp import PhoneClient

async with PhoneClient(api_key="pk_...") as client:
    screenshot = await client.screenshot()
    await client.click(500, 1000)
    await client.type("Hello from ScreenMCP!")

Requires Python 3.10 or later. Source code in sdk/python.

MCP Endpoint

If you are using an MCP-compatible AI client (Claude Desktop, Cursor, Claude Code), you do not need a client SDK. Simply configure the MCP endpoint directly.

Cloud (screenmcp.com)

Use the hosted MCP endpoint with your API key from the dashboard.

claude_desktop_config.json
{
  "mcpServers": {
    "screenmcp": {
      "type": "streamable-http",
      "url": "https://mcp.screenmcp.com/mcp",
      "headers": {
        "Authorization": "Bearer pk_your_api_key_here"
      }
    }
  }
}

Self-Hosted MCP Server

Run your own MCP server locally. No cloud account needed — uses a local config file for auth and device management.

View on GitHub
Terminal
git clone https://github.com/shimondoodkin/screenmcp.git
cd screenmcp/mcp-server
npm install && npm run build && npm start
claude_desktop_config.json
{
  "mcpServers": {
    "screenmcp": {
      "type": "streamable-http",
      "url": "http://localhost:3000/api/mcp",
      "headers": {
        "Authorization": "Bearer your_api_key_from_worker_toml"
      }
    }
  }
}

See the MCP Integration docs for full configuration examples for Claude Desktop, Cursor, Claude Code, and custom clients.