NexusAndroid
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NEXUS_ANDROID_ADB | No | Set to the full path of the `adb` executable if `adb` is not on the `PATH`. | |
| NEXUS_ANDROID_SERIAL | No | Forces a specific device, by serial number or `ip:port` address. | |
| NEXUS_ANDROID_AWAKE_IDLE | No | Delay in seconds (default 120) after the last gesture of any agent before the original screen timeout is restored and the screen is turned off. | 120 |
| NEXUS_ANDROID_KEEP_AWAKE | No | Set to 0 to turn off the screen-kept-on behavior while the agent works. | 1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lookA | Voir l'écran du téléphone : éléments numérotés [N] (rôle, texte, états, centre @x,y) et image. show : both (défaut), image, elements, none. query : ne lister que les éléments contenant ce texte. region [x1,y1,x2,y2] : zoom (pixels de la dernière image complète). Arbre UI illisible : l'image n'est pas envoyée (codes non masqués), sauf confirm=true, posé seulement avec l'accord de l'utilisateur. |
| actA | Gestes sur le téléphone, dans l'ordre (arrêt à la première erreur), puis l'écran à jour. Étapes : tap, long_press, double_tap, type (tout texte, accents et emoji compris ; target = champ à toucher d'abord ; hors ASCII, collé par le presse-papiers, rendu ensuite à l'utilisateur tel quel), clear, key (back, home, recent, delete, ctrl+a, flèches, tab, volume ; enter et autres KEYCODE_* : confirm=true), scroll (direction = sens de lecture : down pour voir la suite), swipe (target → to), wait (text apparu, ou gone=true), open_url (text = adresse ou lien d'app). Cible : "[N]" (crochets ; un nombre seul est un texte), texte visible ou "x,y" image ; jugée sur l'écran relu juste avant le geste. Compte rendu : ✓ effet relu, ~ envoyé non vérifié, ✗ échec/refus. Exemple : steps=[{"do":"tap","target":"Rechercher"},{"do":"type","text":"wifi"}]. |
| launchA | Ouvrir une application : nom de paquet (com.whatsapp) ou extrait (« whatsapp », « maps »), puis la voir. |
| messagesA | SMS et RCS du téléphone. Sans argument : conversations récentes [N] avec contact, date, non-lus.
conversation=N, ou contact="Alice" (nom du répertoire) : les |
| draftA | Préparer une réponse sans l'envoyer : ouvre la conversation avec le texte déjà écrit (accents permis). to : nom du répertoire (« Alice »), numéro (06…, +33…, 36179 : des chiffres seuls sont un numéro) ou numéro de conversation entre crochets « [N] ». app : sms (SMS/RCS) ou whatsapp. Envoi : seulement si l'utilisateur dit explicitement « envoie » pour CE brouillon, alors act(steps=[{"do":"tap","target":"Envoyer…","confirm":true}]) et vérifier sur l'image que c'est parti. |
| notificationsA | Notifications affichées sur le téléphone (application, heure, titre, texte), plus récentes d'abord ; codes de sécurité masqués. all=true : aussi les permanentes (services en cours). Android ne garde des notifications retirées que le nom de l'application. |
| filesA | Fichiers du stockage partagé du téléphone (/sdcard : DCIM/Camera pour les photos, Download, Documents…). list : contenu d'un dossier, plus récents d'abord (défaut /sdcard/Download). pull : copie path du téléphone vers le PC (dest, défaut ~\Downloads\Telephone ; jamais d'écrasement). push : dépose le fichier path du PC dans le dossier dest du téléphone (défaut /sdcard/Download ; refusé s'il existe déjà). Rien n'est jamais effacé. |
| infoA | Lecture seule. location : dernière position connue (précision, âge, lien Maps). calls : derniers appels
(reçus, émis, manqués). contacts : numéros d'un nom (query). calendar : agenda des |
| settingsA | Réglages du téléphone, réversibles : sans value, lit l'état ; sinon le change puis le relit. wifi/bluetooth/data/location/nfc : on|off (couper le Wi-Fi est refusé quand la liaison passe par lui). dnd (ne pas déranger) : on|off|priority|alarms. brightness : 1-100 (%) ou auto. volume : 0-100 (%, médias). |
| phoneA | État de la liaison : téléphone joint (USB ou Wi-Fi), modèle, écran, application au premier plan. |
| checkupA | Bilan du téléphone : système, correctif de sécurité, batterie, stockage, mémoire, applications hors magasins, débogage sans fil, accessibilité. clean=true vide aussi les caches des applications (sans perte de données). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct primary purpose: diagnostics (checkup), visual state (look), gesture execution (act), app launching (launch), SMS/RCS reading (messages), reply drafting (draft), notifications, file transfer, read-only info, settings toggles, and connection status. Minor overlaps such as checkup vs phone for status or messages vs notifications for phone data are clarified by descriptions, so an agent can reliably choose the right tool.
All names are single lowercase words with no mixed camelCase or snake_case, giving a consistent surface format. However, they mix verbs (look, act, launch) and nouns (messages, files, settings, phone), so there is no single action-oriented pattern like verb_noun throughout.
11 tools is well within the sweet spot for an Android phone control server. Each tool covers a distinct area of functionality and earns its place, with no obvious redundancy or bloat.
The surface covers core workflows: diagnostics, screen reading, gestures, app launching, SMS/RCS, reply drafting, notifications, files, location/calls/contacts/calendar, settings, and connection state. Direct send-message, call, media, and app-management operations are absent, but the general act tool provides a UI-automation workaround, leaving minor gaps rather than dead ends.