Karagöz

io.github.yagizdoPublished by GitHub account yagizdov0.4.0Updated Nov 4, 2026

Device automation for Android emulators and phones, iOS simulators and iPhones. No daemon.

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Drives Android emulators and phones plus iOS simulators and iPhones on macOS: inspect the screen, tap, swipe, type, install and launch apps.

What you can do
  • List connected Android devices, emulators, iOS simulators and iPhones
  • Capture full-resolution screenshots and read the focused window's accessibility tree
  • Tap, long-press, double-tap, swipe, type text and press keys by pixel or by node text or id
  • Install, launch, open URLs in, terminate and uninstall apps
  • Read device logs and diagnose adb and Xcode tooling
  • Install or remove karagoz's iOS runner on a paired iPhone
When to use it
Useful when an assistant should operate mobile apps on a Mac: reproducing bugs, walking through UI flows, checking screens and logs, or running repeatable device checks on Android and iOS.
Requirements
Runs as a local stdio process on macOS with adb (Android) and Xcode tools (iOS) installed; a USB-paired iPhone needs karagoz's runner installed once via install_runner, built with your Apple team. No API keys or environment variables declared.
Before you install
It controls real devices: taps, typing, app installs, force-stops and uninstalls change state and can remove apps or data. install_runner builds and installs a runner plus provisioning profile on an iPhone, and uninstall_runner removes them. Typing non-ASCII text on Android temporarily uses the clipboard.

Installation

In SourceWeft

  1. Open Karagöz in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

This repository has no README.

Tools

18

devices

List devices

List Android devices and emulators, running iOS simulators, and iPhones connected to this Mac.

Takes no parameters.

screenshot

Take a screenshot

Save a full-resolution PNG of the screen and return its path with size, scale and safe area. Use ui_tree to read the screen; inline only to look at the image.

Parametersoutdeviceinline

ui_tree

Read the UI tree

Return the focused window's accessibility tree as JSON, compact by default: nodes with no text, label or action and nodes off screen are left out. Node bounds [left, top, right, bottom] are the physical pixels tap and swipe take. On an iPhone it needs karagoz's runner: install it once with install_runner.

Parametersdetaildevice

tap

Tap

Tap x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

Parametersxyidtextdevicetimeout

long_press

Long-press

Long-press x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

Parametersxyidtextdevicetimeoutduration

double_tap

Double-tap

Double-tap x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

Parametersxyidtextdevicetimeout

swipe

Swipe

Swipe from x1, y1 to x2, y2 in physical pixels. An iPhone needs install_runner once.

Parametersx1requiredx2requiredy1requiredy2requireddeviceduration

text

Type text

Type into the focused field. Any text; on Android, text beyond ASCII is pasted through the clipboard and the old clip put back. An iPhone needs install_runner once.

Parameterstextrequireddevice

key

Press a key

Press one key.

Parameterskeyrequireddevice

install

Install an app

Install an .apk, or a .app or .ipa on an iOS simulator or iPhone, or replace the installed version of the same app. An iPhone takes only a build signed for it; karagoz does not re-sign. Times out after 30 s plus 1 s per MB.

Parametersapkrequireddevice

launch

Launch an app

Start an app as its launcher icon does. On iOS it returns before the app is in front.

Parametersdevicepackagerequired

open_url

Open a URL

Open a URL in the app that handles it, or in the app named by app. On iOS it returns before the app is in front, and a simulator may first ask "Open in <app>?".

Parametersappurlrequireddevice

terminate

Stop an app

Force-stop every process of an app.

Parametersdevicepackagerequired

uninstall

Uninstall an app

Remove an app.

Parametersdevicepackagerequired

logs

Read device logs

Read the newest device log records, oldest first. On iOS without since: the last minute, or the last hour with package. An iPhone read takes about 10 s.

Parameterslinessincedevicepackage

doctor

Check adb and Xcode

Report which adb and Xcode tools karagoz uses, their versions, and how to fix one that is missing, old or broken.

Takes no parameters.

install_runner

Install karagoz's iPhone runner

Build karagoz's runner with your Apple team and install it on a paired iPhone over USB; ui_tree, tap, swipe, text and key need it there.

Parametersteamdevice

uninstall_runner

Remove karagoz's iPhone runner

Remove karagoz's runner and its provisioning profile from an iPhone.

Parametersdevice

Version history

5
  1. v0.4.0LatestNov 4, 2026
  2. v0.3.2Nov 3, 2026
  3. v0.3.0Oct 31, 2026
  4. v0.2.0Oct 30, 2026
  5. v0.1.1Oct 29, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts