====== Google Artemis – AI automatizace Androidu přes MCP ======
//Vytvořeno: **27.9.2026** | Aktualizováno: **~~LASTMOD~~**//
[[https://github.com/google/artemis|Google Artemis]] je open-source nástroj pro automatizaci úloh a testovacích scénářů na skutečném Android telefonu nebo emulátoru pomocí zadání v přirozeném jazyce. AI klient zadá záměr, Artemis pracuje s rozhraním zařízení a vrátí průběh, stav a diagnostická data.
===== Architektura =====
Artemis není MCP server běžící v telefonu. MCP server běží na počítači, na kterém je nainstalovaný Artemis. K telefonu nebo emulátoru se připojuje přes Android Debug Bridge (ADB).
AI klient, například Claude Code
│ MCP přes lokální proces
▼
Artemis MCP server na počítači
│ ADB
▼
Android telefon nebo emulátor
Telefon je tedy ovládané zařízení, ne samostatný MCP server. Pro běžné připojení je potřeba povolit USB debugging a počítači potvrdit důvěru pro ADB; alternativou je Android emulátor.
===== Jak Artemis pracuje s rozhraním =====
Artemis kombinuje strom přístupnosti, OCR a vizuální modely. Díky tomu umí vyhledávat prvky i v rozhraních, kde nestačí běžný strom UI, například u Canvas, Jetpack Compose nebo Flutteru. Pokud nejsou dostupná lepší data o prvku, může použít vizuální hledání nebo souřadnice jako náhradní postup.
Při prvním běhu může nainstalovat Artemis Accessibility Helper. Tato pomocná služba čte strukturu obrazovky bez obsazení připojení UiAutomation. Pokud helper není dostupný, dokumentace popisuje přepnutí na UIAutomator2.
===== MCP server =====
[[https://github.com/google/artemis/tree/main/mcp_server|MCP server Artemis]] vystavuje nástroje, které může volat Claude Code nebo jiný MCP klient:
* ''mobile_run_task'' spustí asynchronní automatizační úlohu v režimu Flash nebo Pro.
* ''mobile_manage_task'' vrací stav úlohy, umožňuje ji zastavit nebo vložit další instrukci.
* ''mobile_get_device_state'' vrací screenshot nebo OCR a XML hierarchii aktuální obrazovky.
* ''mobile_inspect_trace'' zpřístupní záznam běhu včetně překryvů akcí, uvažování agenta a zařízení.
* ''mobile_diagnose'' kontroluje prostředí, přihlašovací údaje k modelu, ADB, připojená zařízení, emulátory a MCP hostitele.
Server lze spustit například takto:
uv run artemis mcp
Konfiguraci pro podporované AI klienty lze podle dokumentace nainstalovat příkazem:
uv run artemis mcp --install claude
===== Režimy Flash a Pro =====
Artemis má dva odlišné provozní režimy:
* **Flash** je rychlý reaktivní režim. Dokumentace uvádí přibližně 3–5 sekund na krok. Nemá plán úlohy, kontrolu cíle před akcí, checkpointy ani závěrečný report. Hodí se pro krátké interakce a průzkum UI.
* **Pro** používá role Planner, Operator a Checker. Průběžně drží plán, kontroluje checkpointy a před jednotlivou akcí ověřuje cíl proti živému UI stromu a obrazovým datům. Podporuje ADB diagnostiku, analýzu videa, historii kroků a volitelný report. Dokumentace uvádí přibližně 15–40 sekund na krok.
Uvedené časy jsou hodnoty deklarované projektem, nikoli garantovaná odezva. Pro je vhodnější tam, kde je nutné doložit průběh testu nebo bezpečněji ověřovat jednotlivé mezikroky.
===== Limity pro SMS a telefonii =====
Artemis nemá dokumentovaný MCP nástroj ani jiné přímé programové API pro čtení či odesílání SMS, vytáčení, přijímání, ukončování nebo sledování telefonních hovorů.
Teoreticky může obecná automatizace UI pracovat s aplikací Zprávy nebo Telefon, pokud jsou její obrazovky ovladatelné. Znamenalo by to ale postup jako u člověka: otevřít aplikaci, vyhledat kontakt, napsat text a stisknout tlačítko Odeslat. To není vhodná SMS brána:
* každý krok vyžaduje práci nad obrazovkou a může trvat sekundy,
* dokumentace nepopisuje událostní příjem příchozích SMS,
* projekt neposkytuje stabilní telekomunikační API ani kontrakt pro doručení zprávy,
* změna UI aplikace nebo dialog systému může automatizaci přerušit.
Pro SMS bránu je vhodnější samostatná aplikace s Android SMS API a vlastním REST, webhookovým nebo MQTT rozhraním. Řízení skutečných příchozích hovorů je samostatný problém a vyžaduje telefonní vrstvu, ne automatizaci UI.
===== Bezpečnost a soukromí =====
Artemis může pracovat se screenshoty, OCR, XML/UI stromem, Logcatem a trace běhu. Pomocná Accessibility služba podle dokumentace sama data nikam neposílá, ale MCP klient může získat stav zařízení a záznamy běhu. Před použitím s cloudovým AI klientem je proto potřeba ověřit konkrétní datový tok a nepouštět automatizaci nad produkčními účty nebo citlivým obsahem bez odděleného testovacího prostředí.
===== Kdy Artemis použít =====
* End-to-end testování Android aplikace na emulátoru nebo telefonu.
* Reprodukce chyby, kterou je obtížné popsat jen textem.
* Průzkumné testování více kroků napříč aplikacemi.
* Ověření opravy přímo v Android aplikaci v rámci AI coding workflow.
* Sběr screenshotů, Logcatu a trace pro následnou analýzu selhání.
===== Licence =====
Projekt je vydaný pod [[https://github.com/google/artemis/blob/main/LICENSE|Apache License 2.0]].
===== Zdroje =====
* [[https://github.com/google/artemis|Google Artemis – hlavní repozitář a dokumentace]]
* [[https://github.com/google/artemis/tree/main/mcp_server|Google Artemis – MCP server]]
* [[https://github.com/google/artemis/blob/main/LICENSE|Google Artemis – licence Apache License 2.0]]