Référence des outils MCP
Cette section décrit les 33 outils publics que Daimon expose à votre client IA par le protocole MCP, en stdio. Daimon est un organe local de perception et d'action : il ne fait appel à aucune IA lui-même et ne répond que lorsque votre client l'interroge.
Les valeurs par défaut citées sont celles du code ; en cas d'écart, le code fait foi.
Les organes
| Organe | Rôle | Outils | Page |
|---|---|---|---|
| Vue | Voir l'écran : captures, conversion de coordonnées, localisation de texte, profils d'écrans | 8 | Vue |
| Touché | Lire l'arbre d'accessibilité : éléments, rôles, libellés | 2 | Touché |
| Mains | Agir : cliquer, saisir, faire défiler, glisser, piloter les fenêtres | 15 | Mains |
| Overlay | Montrer à la personne devant l'écran ce que fait l'IA | 5 | Overlay |
| Diagnostic | Vérifier l'état de la machine et le plafond d'autorisation | 2, plus ping | Diagnostic |
Tableau des 33 outils
| Outil | Organe | Niveau requis |
|---|---|---|
vue_displays | Vue | lecture |
vue_snapshot | Vue | lecture |
vue_resolve | Vue | lecture |
vue_find | Vue | lecture |
vue_calibrate | Vue | lecture (enregistre un profil d'écrans) |
vue_profile | Vue | lecture |
vue_profile_brief | Vue | lecture |
vue_pilot_brief | Vue | lecture |
touche_tree | Touché | lecture |
touche_probe | Touché | lecture |
main_navigate | Mains | L1 |
main_hover | Mains | L1 |
main_activate | Mains | L1 |
main_window_minimize | Mains | L1 |
main_window_hide | Mains | L1 |
main_window_show | Mains | L1 |
main_click | Mains | L2 |
main_type | Mains | L2 |
main_drag | Mains | L2 |
main_key | Mains | L2 |
main_press | Mains | L3 |
main_mouse_down | Mains | L4 |
main_mouse_up | Mains | L4 |
main_key_down | Mains | L4 |
main_key_up | Mains | L4 |
overlay_highlight | Overlay | aucun (présentation) |
overlay_spotlight | Overlay | aucun (présentation) |
overlay_cursor | Overlay | aucun (présentation) |
overlay_banner | Overlay | aucun (présentation) |
overlay_clear | Overlay | aucun (présentation) |
daimon_doctor | Diagnostic | lecture |
main_ceiling | Diagnostic | lecture |
ping | Diagnostic (annexe) | lecture |
Les niveaux d'autorisation
Les outils de perception, d'overlay et de diagnostic ne sont jamais soumis au plafond. Seuls les 15 outils d'action des Mains le sont. Le plafond est un réglage humain : une IA ne peut jamais le relever, et un outil situé au-dessus du plafond est refusé.
| Niveau | Nom interne | Ce qu'il autorise |
|---|---|---|
| L0 | READ | Regarder uniquement, aucune action |
| L1 | NONDESTRUCTIVE | Défilement, survol, activation et masquage de fenêtres |
| L2 | INPUT | Clic, saisie, touches, glisser-déposer |
| L3 | VALIDATION | Activation d'un bouton engageant (main_press) |
| L4 | AUTONOMOUS | Primitives bas niveau : maintien de souris et de touches |
Le niveau effectif d'un appel peut être relevé par la cible (par exemple, un dépôt sur la Corbeille), jamais abaissé sous le niveau nominal du tableau ci-dessus. Un nom d'outil inconnu est traité comme une lecture et ne relève jamais le plafond. Pour connaître le plafond actif, appelez main_ceiling (voir Diagnostic).
Conventions communes
Coordonnées. Vue et Mains parlent en points : l'unité du bureau global, celle que renvoient vue_find et vue_resolve et que le pointeur utilise. Sur un écran Retina, un point correspond à plusieurs pixels de l'image servie ; image_scale donne le nombre de pixels d'image par point. Sous Windows, un point est un pixel physique de l'écran virtuel et backing_scale vaut toujours 1.0. Les coordonnées de l'Overlay sont, elles, des pixels globaux bruts : voir Overlay.
Région. Un paramètre region est un rectangle {x, y, width, height} en points, local à l'écran choisi (l'origine est le coin haut-gauche de cet écran, pas du bureau). Il est borné à l'écran ; un rectangle de surface nulle ne capture rien.
Espace d'image. Les outils de Mains qui prennent un point acceptent space="image" avec display=k : vous donnez les pixels d'un vue_snapshot et Daimon résout lui-même le point global. Passez alors les mêmes max_width et region que ceux du snapshot.
Réponses. Les réponses sont des objets JSON structurés. Une erreur de l'organe Vue ou de résolution de point prend la forme {"error": "<code>", "message": "<détail>"}. Les Mains renvoient {"status": "refused" | "done" | "error", ...} : voir Mains.
Présence à l'écran. Chaque appel d'outil allume d'abord la marque de présence, afin que la personne devant l'écran sache qu'une IA utilise Daimon, pour regarder comme pour agir.
Confidentialité. Les applications protégées par vos exclusions sont censurées dans les captures, et les contenus sensibles sont expurgés des arbres d'accessibilité. Le texte saisi par main_type n'est jamais écrit dans le journal d'audit.