J'ai créé un agent IA qui contrôle n'importe quelle app Mac
Les apps de bureau piègent votre temps derrière des formulaires, des menus déroulants et des onglets que vous cliquez des centaines de fois par an. mac-use permet à Claude Code de contrôler n'importe quelle application macOS via les APIs d'accessibilité — sans captures d'écran, sans coordonnées de pixels. Je l'ai utilisé pour automatiser ma déclaration d'impôts.
Par Alex Diaz · Mis à jour 30 mars 2026
En bref : mac-use est un serveur MCP open source qui permet à Claude Code de contrôler n’importe quelle app macOS — cliquer sur des boutons, remplir des formulaires, lire des valeurs, naviguer dans les menus — via l’API d’Accessibilité d’Apple. Pas de captures d’écran. Pas de coordonnées de pixels. Je l’ai construit pour automatiser ma déclaration d’impôts suisse. Ça fonctionne pour n’importe quelle app de bureau dont vous en avez assez de cliquer manuellement.
Déclarer ses impôts en Suisse signifie eTax — une app de bureau de 2003 qui en a l’air. Des dizaines d’onglets. Des centaines de champs. Des menus déroulants qui obligent à faire défiler tous les municipalités suisses. Chaque année, même rituel : ouvrir l’app, saisir manuellement des chiffres depuis des documents que j’ai déjà en numérique, cliquer dans les mêmes séquences, perdre un après-midi entier sur une interface graphique.
La Suisse n’est pas un cas isolé. Les États-Unis ont TurboTax. Le Royaume-Uni a les outils desktop de HMRC. La France a le client impots.gouv. L’Italie a Entratel. Chaque pays doté d’une administration fiscale a une app de bureau legacy qui n’a pas été significativement mise à jour depuis le milieu des années 2000. Les formulaires changent chaque année. Le logiciel, non.
Cette année, j’ai automatisé l’intégralité du processus avec mac-use. Il rejoint le stack de skills IA qui permet à une équipe de 5 personnes de fonctionner sans départements.
Points clés :
- mac-use connecte Claude Code à n’importe quelle application macOS via l’API d’Accessibilité native d’Apple
- Il lit les éléments d’interface, clique sur les boutons, remplit les formulaires, navigue dans les menus — sans modèle de vision, sans captures d’écran
- Les apps de bureau non scriptables (logiciel fiscal, outils enterprise legacy, formulaires administratifs) deviennent automatisables
- Installation :
pip install mac-use— une ligne, zéro configuration au-delà des permissions d’accessibilité macOS - Open source : fonctionne avec toute app qui affiche des éléments d’interface macOS standards
Le problème dont personne ne parle
Chaque founder a au moins une app de bureau qui dévore des heures et ne peut pas être automatisée.
Portails bancaires. Outils de déclaration administrative. Le logiciel comptable sur lequel insiste votre expert-comptable. Formulaires de réclamation d’assurance. Apps de déclaration douanière. Elles partagent toutes la même philosophie : l’information entre par un humain qui clique. Pas d’API. Pas de CLI. Pas de bouton d’export qui donne ce dont vous avez réellement besoin.
Le web a eu ses APIs. Le mobile a eu les deep links. Les apps de bureau sont restées à la traîne. Vos données entrent par la porte principale — l’interface graphique — ou elles n’entrent pas du tout.
Les solutions habituelles :
| Approche | Problème |
|---|---|
| IA par captures d’écran (GPT-4V, etc.) | Lent, cher, dépendant de la résolution, casse à différentes tailles d’écran |
| AppleScript / Automator | Requiert une expertise poussée en scripting macOS, fragile, difficile à débugger |
| Keyboard Maestro / similaire | Enregistre et rejoue — casse dès qu’un bouton se déplace |
| Outils RPA (UiPath, etc.) | Prix enterprise, complexité enterprise, cycle de vente enterprise |
| Saisie manuelle | Ça marche. Ça vous coûte des heures que vous n’avez pas. |
Chaque option est soit fragile, soit chère, soit requiert une expertise sans rapport avec la tâche elle-même.
Ce que mac-use fait différemment
mac-use est un serveur MCP — un pont entre Claude Code et l’API d’Accessibilité de votre Mac. Au lieu de prendre des captures d’écran et de deviner où se trouvent les boutons, il lit l’arbre réel des éléments d’interface. Le même arbre que VoiceOver utilise pour aider les utilisateurs malvoyants à naviguer dans macOS.
Claude Code peut ainsi :
- Voir chaque bouton, champ de texte, menu déroulant, onglet et élément de menu — par nom, rôle et état
- Cliquer sur des éléments par leur nom, pas par leur position à l’écran
- Lire les valeurs de n’importe quel élément d’interface — champs texte, labels, indicateurs d’état
- Saisir dans des champs spécifiques sans avoir à tabuler dans tout le formulaire
- Remplir plusieurs champs de formulaire en une seule opération
- Naviguer dans les menus par chemin : Fichier > Exporter > PDF
- Appuyer sur des raccourcis clavier — Cmd+S, Cmd+P, tout ce que l’app supporte
Pas de modèle de vision dans la boucle. Pas d’appel API par action à GPT-4V à 0,01 $/image. Des interactions purement textuelles avec la couche d’accessibilité qu’Apple a intégrée dans chaque app Mac.
La différence est significative :
| Par captures d’écran | mac-use (API d’Accessibilité) | |
|---|---|---|
| Vitesse | 3-5s par action (modèle de vision) | Instantané (appel API direct) |
| Précision | Dépendant des pixels, casse avec le scaling | Basé sur les éléments, indépendant de l’échelle |
| Coût | 0,01-0,03 $ par capture | Zéro coût marginal |
| Résolution | Échoue Retina vs. non-Retina | Indifférent à la résolution |
| Fiabilité | Casse quand l’interface bouge de 10px | Fonctionne si l’élément existe |
Comment j’ai automatisé eTax
Voici à quoi ressemble le workflow de déclaration d’impôts en pratique :
- Claude Code lit mes documents de revenus (PDFs, CSVs de mon logiciel comptable)
- Il ouvre eTax et navigue vers la première section
- Pour chaque section — revenus, déductions, actifs, passifs — il identifie les champs du formulaire par nom, les remplit avec les bonnes valeurs et passe à l’onglet suivant
- Il gère les menus déroulants (sélection de commune, codes de canton, catégories professionnelles) en lisant les options disponibles et en sélectionnant la bonne
- Quand il rencontre un champ qu’il ne peut pas remplir avec certitude, il s’arrête et demande
Le tout tourne dans Claude Code. Je décris ce que je veux : “Remplis ma déclaration d’impôts cantonale suisse avec les données de ces documents.” Claude Code orchestre le reste — lecture des documents, contrôle d’eTax via mac-use, validation au fur et à mesure.
Temps total : moins de 10 minutes pour ce qui prenait un après-midi entier. Et la précision est meilleure parce qu’il n’y a pas de transcription manuelle — les chiffres vont directement des documents sources aux champs du formulaire.
Au-delà des déclarations d’impôts
Le logiciel fiscal a été le déclencheur. Mais une fois qu’on a un agent IA capable de contrôler n’importe quelle app de bureau, les cas d’usage se multiplient :
Extraction de données d’apps verrouillées. Ce vieux CRM que votre entreprise utilise ? Celui sans fonction d’export ? mac-use peut lire chaque champ, chaque tableau, chaque enregistrement — et tout exporter dans le format de votre choix. Pas de screen scraping. Pas d’OCR sur des captures. Lecture directe des éléments.
Workflows inter-applications. Copier des données de votre logiciel comptable vers votre portail bancaire. Transférer des entrées d’un système à l’autre. Le genre de travail qu’un assistant ferait — ouvrir deux apps, lire dans l’une, saisir dans l’autre — sauf que l’assistant est Claude Code et il ne fait pas d’erreurs de transcription.
Soumission automatisée de formulaires. Réclamations d’assurance. Demandes administratives. Renouvellements de permis. Déclarations douanières. Toute app de bureau intensive en formulaires où vous saisissez les mêmes catégories d’information depuis des documents que vous avez déjà en numérique.
Tests et QA. Si vous développez des apps macOS, mac-use donne à votre agent IA la capacité de naviguer dans votre app, vérifier les états des éléments, valider les formulaires et rapporter ses observations. Les tests de conformité d’accessibilité deviennent triviaux — si mac-use ne trouve pas un élément, VoiceOver non plus.
Installation
Une ligne :
pip install mac-use
Ajoutez à votre config Claude Code (~/.claude.json) :
{
"mcpServers": {
"mac-use": {
"command": "mac-use"
}
}
}
Accordez les permissions d’accessibilité à votre terminal (Réglages Système > Confidentialité et sécurité > Accessibilité). C’est tout.
Ensuite, dites à Claude Code ce que vous voulez : “Ouvre eTax et remplis mes revenus depuis ce PDF.” Il gère le reste — identification des fenêtres, lecture des éléments d’interface, clics, saisie, navigation.
Prérequis : macOS Ventura ou ultérieur. Python 3.10+. L’app cible doit afficher des éléments d’interface macOS standards (la plupart le font — même les apps Electron exposent des arbres d’accessibilité).
Comment ça fonctionne sous le capot
mac-use communique avec macOS via osascript et System Events — le même mécanisme qui alimente VoiceOver, Switch Control et toutes les fonctions d’accessibilité du Mac.
Quand Claude Code appelle get_ui_elements(), mac-use renvoie l’arbre complet des éléments : noms des boutons, valeurs des champs texte, options des menus déroulants, labels des onglets, structures de menus. Claude Code utilise cet arbre pour décider avec quoi interagir. Il ne devine pas à partir de pixels. Il lit la description réelle de l’interface que l’app fournit au système d’exploitation.
C’est pour ça que c’est fiable. Apple exige que les apps exposent des informations d’accessibilité. C’est une exigence de la plateforme depuis des années. mac-use utilise simplement ces informations pour l’automatisation au lieu de l’aide au handicap. Même API, usage différent.
Questions fréquentes
Est-ce que ça fonctionne avec n’importe quelle app macOS ?
Toute app qui expose des éléments d’accessibilité standards — c’est le cas de la plupart. Les apps macOS natives (Swift/AppKit/SwiftUI) fonctionnent le mieux. Les apps Electron fonctionnent. Les apps Java fonctionnent. Certaines interfaces très personnalisées (jeux, certains outils créatifs) peuvent ne pas exposer d’arbres d’éléments.
En quoi c’est différent de Keyboard Maestro ou Automator ?
Ces outils enregistrent et rejouent des séquences fixes. mac-use donne à un agent IA une compréhension dynamique de l’interface. Il lit l’état actuel, décide quoi faire, gère les variations et récupère des états inattendus. C’est la différence entre un script et un agent.
Est-ce sûr pour des données sensibles comme les déclarations d’impôts ?
Tout tourne en local. mac-use est un serveur MCP sur votre machine — il communique avec vos apps via votre OS. Aucune donnée ne quitte votre Mac (à part ce que Claude Code envoie à l’API pour le raisonnement). Vos données fiscales restent en local.
Puis-je l’utiliser sans Claude Code ?
mac-use est un serveur MCP, il fonctionne donc avec tout client compatible MCP. Claude Code est le choix le plus naturel car il peut orchestrer des workflows multi-étapes, mais tout client parlant MCP peut l’utiliser.
Et Windows ou Linux ?
En cours de développement. Windows a UI Automation et Linux a AT-SPI — même concept, implémentations différentes. Envoyez-moi un message si c’est urgent pour vous.
Les apps de bureau étaient le dernier bastion — le logiciel qu’on ne pouvait pas automatiser parce qu’il n’avait jamais été conçu pour ça. mac-use change la donne. Clonez-le, pointez-le vers l’app qui vous fait perdre du temps, et laissez Claude Code cliquer à votre place.
Articles similaires
Tes utilisateurs gratuits ne sont pas tes clients
Moins de 4% de nos boutiques génèrent presque 40% de nos revenus. Des milliers de boutiques sur nos plans gratuit et basique consomment l'essentiel de notre support et ne paieront jamais. Voici ce qu'on a appris.
Ce que l'IA ne peut pas faire pour vous
L'IA gere la production. Les humains gerent la direction. Plus l'execution devient gratuite, plus les choses non automatisables prennent de la valeur. Voici la liste.
Les skills Claude Code que j'utilise chaque jour en tant que fondateur
Revue de code sans ingenieur senior. Voix de marque sans copywriter. Optimisation de contenu sans equipe SEO. Sept skills IA qui ont remplace sept embauches.