Ho costruito un agente IA che controlla qualsiasi app del Mac
Le app desktop intrappolano il tuo tempo dietro moduli, dropdown e schede che clicchi centinaia di volte all'anno. mac-use permette a Claude Code di controllare qualsiasi applicazione macOS tramite le API di accessibilità — niente screenshot, niente coordinate pixel. L'ho usato per automatizzare la mia dichiarazione dei redditi.
Di Alex Diaz · Aggiornato 30 marzo 2026
In breve: mac-use è un server MCP open source che permette a Claude Code di controllare qualsiasi app macOS — cliccare pulsanti, compilare moduli, leggere valori, navigare nei menu — tramite l’API di Accessibilità di Apple. Niente screenshot. Niente coordinate pixel. L’ho costruito per automatizzare la mia dichiarazione dei redditi svizzera. Funziona con qualsiasi app desktop che sei stanco di usare manualmente.
Fare la dichiarazione dei redditi in Svizzera significa eTax — un’app desktop del 2003 che ne ha tutta l’aria. Decine di schede. Centinaia di campi. Dropdown che richiedono di scorrere tutti i comuni svizzeri. Ogni anno, stesso rituale: aprire l’app, digitare manualmente numeri da documenti che ho già in digitale, cliccare nelle stesse sequenze, perdere un pomeriggio intero con una GUI.
La Svizzera non è un caso speciale. Gli Stati Uniti hanno TurboTax. Il Regno Unito ha gli strumenti desktop di HMRC. La Francia ha il client impots.gouv. L’Italia ha Entratel. Ogni paese con un’autorità fiscale ha qualche app desktop legacy che non viene aggiornata in modo significativo dalla metà degli anni 2000. I moduli cambiano ogni anno. Il software no.
Quest’anno ho automatizzato l’intero processo con mac-use. Si aggiunge allo stack di skill IA che permette a un team di 5 persone di operare senza dipartimenti.
Punti chiave:
- mac-use connette Claude Code a qualsiasi applicazione macOS tramite l’API di Accessibilità nativa di Apple
- Legge gli elementi UI, clicca pulsanti, compila moduli, naviga nei menu — niente modelli di visione, niente screenshot
- Le app desktop non scriptabili (software fiscale, strumenti enterprise legacy, moduli governativi) diventano automatizzabili
- Installazione:
pip install mac-use— una riga, zero configurazione oltre ai permessi di accessibilità macOS - Open source: funziona con qualsiasi app che renderizza elementi UI standard di macOS
Il problema di cui nessuno parla
Ogni founder ha almeno un’app desktop che divora ore e non si può automatizzare.
Portali bancari. Strumenti di presentazione governativa. Il software di contabilità su cui insiste il tuo commercialista. Moduli per i reclami assicurativi. App per le dichiarazioni doganali. Condividono tutte la stessa filosofia di design: l’informazione entra tramite un umano che clicca. Nessuna API. Nessuna CLI. Nessun pulsante di export che ti dia quello di cui hai bisogno.
Il web ha avuto le API. Il mobile ha avuto i deep link. Le app desktop sono rimaste indietro. I tuoi dati entrano dalla porta principale — la GUI — o non entrano affatto.
Le soluzioni standard:
| Approccio | Problema |
|---|---|
| IA basata su screenshot (GPT-4V, ecc.) | Lenta, costosa, dipendente dalla risoluzione, si rompe con dimensioni di schermo diverse |
| AppleScript / Automator | Richiede conoscenza approfondita dello scripting macOS, fragile, difficile da debuggare |
| Keyboard Maestro / simili | Registra e riproduce — si rompe appena un pulsante si sposta |
| Strumenti RPA (UiPath, ecc.) | Prezzi enterprise, complessità enterprise, ciclo di vendita enterprise |
| Inserimento manuale | Funziona. Ti costa ore che non hai. |
Ogni opzione è fragile, costosa, o richiede competenze che non c’entrano nulla con il compito reale.
Cosa fa di diverso mac-use
mac-use è un server MCP — un ponte tra Claude Code e l’API di Accessibilità del tuo Mac. Invece di fare screenshot e indovinare dove sono i pulsanti, legge l’albero reale degli elementi UI. Lo stesso albero che VoiceOver usa per aiutare gli utenti non vedenti a navigare in macOS.
Questo significa che Claude Code può:
- Vedere ogni pulsante, campo di testo, dropdown, scheda ed elemento di menu — per nome, ruolo e stato
- Cliccare sugli elementi per nome, non per posizione sullo schermo
- Leggere i valori di qualsiasi elemento UI — campi di testo, etichette, indicatori di stato
- Digitare in campi specifici senza dover tabulare attraverso l’intero modulo
- Compilare più campi del modulo in un’unica operazione
- Navigare nei menu per percorso: File > Esporta > PDF
- Premere scorciatoie da tastiera — Cmd+S, Cmd+P, qualsiasi cosa l’app supporti
Nessun modello di visione nel processo. Nessuna chiamata API per azione a GPT-4V a 0,01 $/immagine. Interazioni puramente testuali con il livello di accessibilità che Apple ha integrato in ogni app Mac.
La differenza conta:
| Basato su screenshot | mac-use (API di Accessibilità) | |
|---|---|---|
| Velocità | 3-5s per azione (modello di visione) | Istantaneo (chiamata API diretta) |
| Precisione | Dipendente dai pixel, si rompe con lo scaling | Basato sugli elementi, indipendente dalla scala |
| Costo | 0,01-0,03 $ per screenshot | Zero costo marginale |
| Risoluzione | Fallisce Retina vs. non-Retina | Irrilevante la risoluzione |
| Affidabilità | Si rompe quando la UI si sposta di 10px | Funziona se l’elemento esiste |
Come ho automatizzato eTax
Ecco come appare il workflow della dichiarazione dei redditi nella pratica:
- Claude Code legge i miei documenti di reddito (PDF, CSV dal mio software contabile)
- Apre eTax e naviga alla prima sezione
- Per ogni sezione — redditi, deduzioni, attivi, passivi — identifica i campi del modulo per nome, li compila con i valori corretti e passa alla scheda successiva
- Gestisce i dropdown (selezione del comune, codici del cantone, categorie professionali) leggendo le opzioni disponibili e selezionando quella giusta
- Quando incontra un campo che non può compilare con certezza, si ferma e chiede
Il tutto gira in Claude Code. Descrivo quello che voglio: “Compila la mia dichiarazione dei redditi cantonale svizzera usando i dati di questi documenti.” Claude Code orchestra il resto — legge documenti, controlla eTax tramite mac-use, valida man mano.
Tempo totale: meno di 10 minuti per quello che prima richiedeva un pomeriggio. E la precisione è maggiore perché non c’è trascrizione manuale — i numeri vanno direttamente dai documenti sorgente ai campi del modulo.
Oltre le dichiarazioni dei redditi
Il software fiscale è stato il trigger. Ma una volta che hai un agente IA che può controllare qualsiasi app desktop, i casi d’uso si moltiplicano:
Estrazione dati da app chiuse. Quel CRM legacy che usa la tua azienda? Quello senza funzione di export? mac-use può leggere ogni campo, ogni tabella, ogni record — e scaricarlo nel formato che ti serve. Niente screen scraping. Niente OCR su screenshot. Lettura diretta degli elementi.
Workflow cross-applicazione. Copiare dati dal software contabile al portale bancario. Trasferire voci da un sistema all’altro. Il tipo di lavoro che farebbe un assistente — aprire due app, leggere da una, digitare nell’altra — tranne che l’assistente è Claude Code e non fa errori di trascrizione.
Invio automatico di moduli. Reclami assicurativi. Domande governative. Rinnovi di permessi. Dichiarazioni doganali. Qualsiasi app desktop ricca di moduli dove digiti le stesse categorie di informazioni da documenti che hai già in digitale.
Testing e QA. Se sviluppi app macOS, mac-use dà al tuo agente IA la capacità di navigare nella tua app, verificare gli stati degli elementi, validare i moduli e riportare ciò che trova. I test di conformità all’accessibilità diventano banali — se mac-use non trova un elemento, nemmeno VoiceOver lo trova.
Configurazione
Una riga:
pip install mac-use
Aggiungi alla tua config di Claude Code (~/.claude.json):
{
"mcpServers": {
"mac-use": {
"command": "mac-use"
}
}
}
Concedi i permessi di accessibilità al tuo terminale (Impostazioni di Sistema > Privacy e Sicurezza > Accessibilità). Fatto.
Poi dì a Claude Code cosa vuoi: “Apri eTax e compila i miei redditi da questo PDF.” Si occupa del resto — identifica le finestre, legge gli elementi UI, clicca, digita, naviga.
Requisiti: macOS Ventura o successivo. Python 3.10+. L’app target deve renderizzare elementi UI standard di macOS (la maggior parte lo fa — anche le app Electron espongono alberi di accessibilità).
Come funziona sotto il cofano
mac-use comunica con macOS tramite osascript e System Events — lo stesso meccanismo che alimenta VoiceOver, Switch Control e ogni altra funzione di accessibilità del Mac.
Quando Claude Code chiama get_ui_elements(), mac-use restituisce l’albero completo degli elementi: nomi dei pulsanti, valori dei campi di testo, opzioni dei dropdown, etichette delle schede, strutture dei menu. Claude Code usa questo albero per decidere con cosa interagire. Non indovina dai pixel. Legge la descrizione reale dell’interfaccia che l’app fornisce al sistema operativo.
Ecco perché funziona in modo affidabile. Apple richiede che le app espongano informazioni di accessibilità. È un requisito della piattaforma da anni. mac-use usa semplicemente quelle informazioni per l’automazione invece che per l’assistenza alla disabilità. Stessa API, scopo diverso.
Domande frequenti
Funziona con qualsiasi app macOS?
Qualsiasi app che espone elementi di accessibilità standard — la maggior parte. Le app native macOS (Swift/AppKit/SwiftUI) funzionano meglio. Le app Electron funzionano. Le app Java funzionano. Alcune UI con rendering molto personalizzato (giochi, alcuni strumenti creativi) potrebbero non esporre alberi di elementi.
Come si differenzia da Keyboard Maestro o Automator?
Quegli strumenti registrano e riproducono sequenze fisse. mac-use dà a un agente IA una comprensione dinamica dell’interfaccia. Legge lo stato attuale, decide cosa fare, gestisce le variazioni e si riprende da stati inattesi. È la differenza tra uno script e un agente.
È sicuro per dati sensibili come le dichiarazioni dei redditi?
Tutto gira in locale. mac-use è un server MCP sulla tua macchina — comunica con le tue app tramite il tuo OS. Nessun dato esce dal tuo Mac (a parte quello che Claude Code invia all’API per il ragionamento). I tuoi dati fiscali restano in locale.
Posso usarlo senza Claude Code?
mac-use è un server MCP, quindi funziona con qualsiasi client compatibile MCP. Claude Code è la scelta più naturale perché può orchestrare workflow multi-step, ma qualsiasi client che parla MCP può usarlo.
E per Windows o Linux?
In arrivo. Windows ha UI Automation e Linux ha AT-SPI — stesso concetto, implementazioni diverse. Mandami un messaggio se lo vuoi il prima possibile.
Le app desktop erano l’ultimo bastione — il software che non si poteva automatizzare perché non era mai stato progettato per esserlo. mac-use cambia le cose. Clonalo, puntalo verso l’app che ti ruba tempo, e lascia che Claude Code faccia i clic.
Articoli correlati
I tuoi utenti gratuiti non sono i tuoi clienti
Meno del 4% dei nostri store genera quasi il 40% del nostro fatturato. Migliaia di store sui piani gratuiti e basic consumano la maggior parte del nostro supporto e non pagheranno mai. Ecco cosa abbiamo imparato.
Cosa l'IA non puo fare per te
L'IA gestisce la produzione. Gli umani gestiscono la direzione. Piu l'esecuzione diventa gratuita, piu le cose non automatizzabili acquistano valore. Ecco la lista.
Gli skill di Claude Code che uso ogni giorno come fondatore
Revisione del codice senza ingegnere senior. Voce di brand senza copywriter. Ottimizzazione contenuti senza team SEO. Sette skill IA che hanno sostituito sette assunzioni.