Sustain

← Torna a Impara
Novità

9 settembre 2026

· 12 min di lettura

Il tuo agente AI ora può creare un album insieme a te

Gli agenti AI stanno iniziando a usare il web invece di limitarsi a leggerlo. Chiedine uno per prenotare un tavolo o compilare un modulo e ci proverà — di solito facendo uno screenshot, cercando un pulsante e cliccando dove pensa che si trovi. Funziona finché il layout non cambia, l'etichetta è un'icona, oppure si apre una finestra modale che non si aspettava.

Ci sembra un modo strano di trattare un software che sa già come svolgere il compito. Per questo Sustain ora pubblica i propri strumenti per qualsiasi agente AI che lavori nel tuo browser: azioni nominate e tipizzate come crea un album, importa le mie foto, costruiscilo. L'agente chiama lo stesso codice richiamato dai pulsanti. Questo articolo spiega cosa può fare, cosa deliberatamente non può fare, e perché progettare per gli agenti è un vantaggio reale e non solo una casella da spuntare.

Ora funziona in due modi. Un agente ovunque — Claude su desktop, ChatGPT, qualsiasi cosa parli MCP — si collega a mcp.sustain-app.com e agisce sul tuo account tramite un’autorizzazione che approvi e puoi revocare. E un agente dentro il browser recupera gli stessi strumenti dalla pagina tramite WebMCP. Questo articolo riguarda soprattutto il primo; la metà browser è in fondo.

Il problema degli agenti che cliccano

Un agente da browser che naviga in un sito normale sta facendo computer vision su un'interfaccia pensata per gli esseri umani. Legge uno screenshot, indovina quali pixel corrispondono al pulsante Crea album, clicca, aspetta, fa un altro screenshot e cerca di capire se ha funzionato.

Ognuno di questi passaggi può fallire in un modo che l'agente non riesce a vedere. Clicca su un pulsante disabilitato e interpreta la pagina invariata come un successo. Non nota un errore di validazione reso in un colore che non riesce a interpretare. Un menu a tendina si comporta diversamente su una finestra stretta e l'intero piano deraglia. Peggio ancora, non ha idea di cosa costi un'azione — niente sullo schermo gli dice che quel particolare pulsante consuma i tuoi crediti.

Nulla di tutto questo dipende dal fatto che l'agente sia scadente nel suo lavoro. Gli viene chiesto di ricostruire un'intenzione a partire da un'immagine, quando il sito avrebbe potuto semplicemente dirglielo.

Cosa abbiamo costruito invece

Sustain pubblica un insieme di strumenti: azioni con nome e tipi, con descrizioni scritte per una macchina che non ha mai visto la nostra interfaccia. Un agente li chiama invece di cercare i pulsanti.

Si raggiungono in due modi. mcp.sustain-app.com è un server MCP ospitato — Claude su desktop, ChatGPT, Cursor, qualsiasi cosa parli MCP si collega via rete e lavora sul tuo account tramite un’autorizzazione che approvi tu. E quando un agente gira dentro il browser, gli stessi strumenti vengono pubblicati nella pagina tramite WebMCP, uno standard web emergente. Gran parte di questo articolo riguarda il primo; la metà browser è in fondo.

Oggi sono disponibili dieci strumenti, che rispecchiano il percorso reale di creazione di un album piuttosto che i nostri endpoint REST:

  • ask_site — risponde alle domande basandosi sui contenuti pubblicati da noi (prezzi, stampa, privacy, le guide che stai leggendo ora) e restituisce le pagine di origine, così l'agente può citare invece di inventare.
  • create_album e album_status — avviano un album e ne verificano lo stato.
  • request_photos e import_google_photos — due modi per importare le foto, nessuno dei quali fa passare anche una sola immagine attraverso la conversazione. Ne parliamo più avanti.
  • quick_place e build_album — dispongono le foto gratuitamente, oppure avviano la creazione completa con l'IA.
  • list_albums, get_credits, start_checkout — trovano i tuoi album, leggono il tuo saldo, acquistano altri crediti.

The short version

Other sites make an agent guess which button to press. We hand it the buttons, labelled, with the consequences written on them.

Collegare Claude o ChatGPT (due minuti)

È la strada che non richiede flag né estensioni, e funziona con qualsiasi piano — gratuito compreso.

In Claude apri Impostazioni → Connettori → Aggiungi connettore personalizzato e incolla https://mcp.sustain-app.com/mcp. Claude trova il resto da solo.

Arriverai su una pagina Sustain che chiede cosa può fare questa app sul tuo account. Quattro caselle: vedere i tuoi album, creare e modificare album, spendere i tuoi crediti per le elaborazioni IA e vedere il saldo crediti e i piani. Puoi spuntarne meno di quante ne ha chieste — l’agente ottiene ciò che concedi. Un agente senza spendere crediti non vede nemmeno lo strumento che avvia un’elaborazione a pagamento.

Poi chiedi quello che vuoi. «Fammi un album del mio viaggio in Italia» basta. Se l’agente può leggere i tuoi file — Claude su desktop può — crea l’album e carica le foto da solo; basta dirgli quale cartella. Se non può, ti dà un link da aprire sul dispositivo dove sono le foto. In ogni caso poi propone di avviare la build IA, dicendoti prima che costa crediti.

Puoi revocare tutto da Impostazioni → App collegate. La disconnessione ha effetto alla chiamata successiva dell’agente, perché quei token li emettiamo noi invece di distribuire qualcosa che non potremmo revocare.

Point it at a folder: install the skill

The connector hands an agent the tools. It does not tell it how to use them well, and uploading is where that gap shows. An upload ticket takes a whole batch of files per request and allows twenty requests an hour — plenty when the agent sends sixty photos at a time, useless when it sends one at a time, which is the shape an agent tends to improvise first. It works for nineteen photos and then stalls for an hour.

So we publish the arithmetic as a skill: a short recipe your agent installs once, which knows the batch sizes, the file types we accept, and what to do when something is refused. Install it whichever way matches the Claude you use.

  • Claude Code, in a terminal. Paste the command below to add our catalogue, then run /plugin install sustain-skills@sustain.
  • The Claude desktop app. Open Settings → Skills (under Customize), press Add, and upload the skill file. Skills there read SKILL.md from the top of the archive, which is exactly what that download is — the plugin archive the terminal uses is a different shape and will not work here.

Both need the same thing underneath: an agent that can actually reach your disk and run a command. A Claude that only runs in the cloud cannot open ~/Pictures/Italy no matter which skill it has, and for that one the upload page is the right route.

Claude Code — paste this

/plugin marketplace add https://www.sustain-app.com/claude-plugin/marketplace.json

1

Install the skill

Paste the command above, then pick Sustain Skills from the /plugin menu. Once, not per album.

2

Name a folder

That is the whole instruction: “make a Sustain album from ~/Pictures/Italy”. You do not have to select the photos, sort them, or zip anything.

3

Read the survey before you agree

Nothing is created yet. It counts what it found, adds up the megabytes, and lists what it is going to leave behind — screenshots that are not photos, a stray .gif, an empty file. Then it asks. If the folder needs more than twenty requests it says so up front instead of stopping halfway.

4

Let it upload

It creates the album, takes a ticket, and sends the files in batches straight from your disk. Duplicates you already uploaded are recognised and skipped by the server, so pointing it at a folder twice does not double the album.

5

Free draft first, AI only if you say so

It lays the photos out immediately for nothing. The full AI pass — reading every photo, then curating and designing — spends credits, so it quotes you first and waits. Neither step needs you to open the site.

Your photos never enter the conversation

The files go from your disk to us. They are not read into the chat, not encoded into a tool call, and not passed through the model — which is what makes four hundred of them a non-event rather than an impossibility.

If your agent says it cannot reach us

One failure is worth naming, because it looks like our fault and it is not. An agent that runs commands on your machine usually does so inside a sandbox with its own network allowlist, and until sustain-app.com is on that list the upload is refused before it ever leaves your laptop — a 403, with blocked-by-allowlist in the response if you look closely.

The tell is an odd asymmetry: the agent creates the album perfectly well and then cannot upload a single photo. That is the two paths differing. The tool calls travel from Claude to us and are never affected; the files leave from your own machine, through the sandbox. Only the second one is blocked. An agent describing this as a permissions problem with your folder has misread its own error.

Allow the domain wherever your agent runs:

  • The Claude desktop app. Go to Settings → Capabilities → Domain allowlist. Under Additional allowed domains type sustain-app.com and press Add, then do the same for *.sustain-app.com. The allowlist ships set to Package managers only, which is exactly why we are blocked until you add us.
  • Claude Code, in a terminal. It asks the first time a command wants a new host — choose “Yes, and don’t ask again” and it is remembered for good. To pre-allow it instead, add "allowedDomains": ["sustain-app.com", "*.sustain-app.com"] under sandbox.network in ~/.claude/settings.json, then start a fresh session; the sandbox reads its policy at startup.

If you edit settings rather than using the app’s screen, use your user settings, not a repository’s — a project-level .claude/settings.json is ignored for this particular setting, so a rule that works in the terminal can quietly do nothing in the app.

There is always the other route

None of this is load-bearing. request_photos returns an upload page next to the machine endpoint, and it works from any browser on any device. A blocked agent should hand you that link — and if it does not, ask it for one.

I limiti, visto che può spendere crediti

Un permesso concesso non è un assegno in bianco, e il guasto che ci aspettiamo davvero non è un attaccante: è un agente che va in loop su una chiamata che ha letto come fallita.

Per questo ci sono limiti che valgono comunque: un tetto di chiamate al minuto e un tetto di elaborazioni a pagamento al giorno. Se si raggiunge uno dei due l’agente riceve un avviso chiaro, e tu puoi comunque fare la stessa cosa dal sito.

Ogni chiamata viene registrata: quale strumento, se ha funzionato e su cosa. Non quello che hai scritto: gli argomenti vengono conservati come impronta, non come testo.

Come entrano davvero le foto

Questa è la parte più facile da sbagliare, e infatti l'abbiamo sbagliata anche noi all'inizio. La soluzione ovvia è uno strumento che prende le foto come argomento — l'agente ci consegna le immagini, noi le archiviamo. Funziona per una singola foto piccola e crolla per tutto il resto, perché una chiamata a uno strumento è testo: l'immagine deve essere codificata nella conversazione, e una singola foto a piena risoluzione può superare da sola un'intera finestra di contesto dell'IA. Suddividerla in più chiamate lo rende peggiore, perché ogni chiamata resta nella trascrizione e viene rinviata a ogni turno successivo.

Perciò gli strumenti non spostano affatto le foto. request_photos emette un ticket di caricamento — una credenziale di breve durata, valida per un solo scopo e un solo album — e chiunque abbia effettivamente le foto ce le invia direttamente:

  • Le foto sono sul telefono. Il ticket è accompagnato da un link. Lo apri, scegli le foto, fatto. Anche centinaia, senza che nessuna passi per l'IA.
  • Hai dato all'agente accesso ai tuoi file. Allora le carica lui stesso, direttamente, dal disco a Sustain. L'agente non legge mai le immagini all'interno della conversazione — usa solo il ticket.
  • La tua libreria è su Google Photos. import_google_photos avvia una sessione di selezione, tu scegli nella finestra di Google stessa, e Sustain le scarica lato server — fino a mille foto, di nuovo senza che nulla passi per l'agente.

Il ticket scade dopo 24 ore, è limitato a un solo album e rispetta comunque i limiti di foto e spazio del tuo piano. È lo stesso meccanismo alla base del caricamento tramite codice QR che offriamo già, ed è un buon segno: la soluzione giusta per un agente si è rivelata essere quella che avevamo già costruito per gli esseri umani.

La via di Google Photos è quella in cui l'agente partecipa davvero alla selezione: dopo che hai scelto, può scartare i video e saltare gli screenshot prima di importare. Facciamo attenzione a non spingere troppo oltre questa affermazione — Google ci fornisce un nome file e un tipo di file, ma nulla su cosa ci sia dentro un'immagine, quindi un agente che ti dicesse di aver rimosso le foto sfocate se lo starebbe inventando.

The rule we held to

Move the capability, not the data. The agent gets a ticket; the photos go straight from wherever they live to us.

Non vede mai la tua password

Questa è la parte su cui le persone chiedono per prime, e la risposta è migliore del solito per le integrazioni con agenti.

Un agente collegato non riceve mai una password né una chiave API. Ottiene un’autorizzazione OAuth che approvi su una pagina Sustain, con l’elenco esatto di ciò che può fare, e il token dietro è un record nostro, non una chiave firmata che non potremmo ritirare. Disconnettilo da Impostazioni → App collegate e la sua chiamata successiva fallisce, non quando il token scade.

Un agente nel browser non riceve nemmeno quello. Gira nella pagina in cui hai già effettuato l’accesso, quindi il browser allega lo stesso cookie di sessione di sempre: nulla da emettere, nessuna schermata di consenso, nulla da incollare. Può agire solo come la persona già connessa in quella scheda, e finché dura la sessione.

Questo stabilisce anche il limite massimo di ciò che un agente malfunzionante potrebbe fare: esattamente ciò che potresti fare tu stesso in quella scheda, niente di più. Il server verifica ogni permesso in modo indipendente, esattamente come quando clicchi tu.

Cosa deliberatamente non farà

Alcune cose non dovrebbero accadere solo perché un software ha deciso che dovessero accadere. Le abbiamo escluse deliberatamente:

  • Non può effettuare un ordine di stampa. Questo comporta una spesa reale e richiede un indirizzo di spedizione. Lo fai tu stesso.
  • Non può accettare un pagamento. start_checkout crea una sessione di pagamento e ti fornisce il link — paghi sulla pagina del fornitore stesso. Gli strumenti non toccano mai i dati della carta.
  • Non può servirsi dei tuoi file. Un agente nel browser non può proprio — una pagina web non può leggere il tuo disco. Un agente desktop collegato può leggere ciò che tu gli hai concesso nel tuo client IA: un permesso che dai lì, non qualcosa che distribuiamo noi. Da parte nostra può comunque caricare solo con un ticket che hai chiesto di creare, nell’album che quel ticket indica.
  • Non può annullare il tuo abbonamento né eliminare un album.

Una cosa che può fare è spendere crediti: build_album avvia la costruzione a pagamento con l'IA in un'unica chiamata, e il costo dipende da quante foto sopravvivono alla deduplicazione. Trattiamo i crediti come qualsiasi API a consumo tratta i token — lo strumento dichiara apertamente che li spende, e se il tuo saldo è insufficiente restituisce l'esatto importo mancante, così l'agente può dirtelo e proporti di ricaricare invece di fallire in silenzio.

Anche nel tuo browser — lo stato onesto delle cose

Tutto quanto sopra riguarda il server ospitato, e funziona oggi senza attivare nulla. Il resto dell’articolo è l’altra metà: gli stessi strumenti, pubblicati nella pagina per un agente che gira dentro il browser.

È a uno stadio più iniziale, e preferiamo dire dove si trova piuttosto che lasciar intendere di più.

WebMCP è uno standard davvero nuovo: Chrome lo include dalla versione 149 ma non lo ha attivato di default, quindi questa strada è opt-in.

Come funziona in pratica

Hai effettuato l'accesso a Sustain con un agente attivo nel tuo browser. Dici: «Fammi un album del mio viaggio in Italia.» Quello che succede dopo non è una sequenza di clic:

1

It creates the album

The agent calls create_album with the name “Italy 2026”. The editor opens on your screen — you see it happen.

2

It asks for your photos

It calls request_photos and gets an upload ticket. If the agent can read your files, it uploads them itself. If it cannot, it hands you a link to open on your phone. Either way the pictures go straight to Sustain, not through the conversation.

3

It waits for them to land

It polls album_status until your uploads stop arriving, and tells you the count.

4

It shows you a free draft

It calls quick_place — free — so you have something real to look at before spending anything.

5

You approve the real build

You like it, so it calls build_album: the full AI pass that scores every photo, drops the near-duplicates, groups by face and scene, designs the pages and writes the captions.

Per tutto il tempo state guardando la stessa pagina. L’agente non sta usando una copia nascosta del sito da qualche parte — sta lavorando nella vostra scheda, e ogni risultato compare davanti a voi.

Provalo con l’inspector di Chrome (cinque minuti)

Google pubblica un’estensione Model Context Tool Inspector proprio per questo — si installa dal Chrome Web Store come qualsiasi altra, con sorgente pubblico. È la via più breve dalla curiosità a un album finito, ed è quella che oggi ti indicheremmo davvero per la strada nel browser.

1

Install the inspector extension

Open the WebMCP — Model Context Tool Inspector listing in the Chrome Web Store and click Add to Chrome, then Add extension. Pin it from the puzzle-piece icon in the toolbar so you can reach it quickly. It is built by a Chrome engineer and the source is public; it lists the tools a page offers and lets you talk to them with Gemini.

2

Open Sustain and sign in

Go to sustain-app.com and log in as normal. The tools register against your session — signed out you will only see ask_site.

3

Check the tools are there

Click the extension’s icon while Sustain is the active tab. You should see ten tools listed, from ask_site through build_album. An empty list means the flag has not taken effect — confirm it says Enabled at chrome://flags/#enable-webmcp-testing and relaunch again.

4

Ask for an album

Paste the prompt from the end of this section into the inspector’s chat box. You will watch create_album fire, the editor open on that album, and request_photos come back with an upload link. Nothing was clicked.

5

Send the photos

Open the link on your phone and pick your pictures. Then ask the agent “are they in yet?” — it polls album_status and tells you the count.

6

Build it

Ask it to “lay them out” for a free draft (quick_place), or “build the album properly” to run the paid AI pass (build_album). It will tell you first if your credit balance is short.

E poi di’ questo

Una volta installato l’inspector e con Sustain aperto davanti a lui, questo è il prompt da cui partire. Incollalo e guarda scorrere le chiamate.

Si ferma deliberatamente prima di spendere: chiede un’impaginazione gratuita e una descrizione di cosa farebbe una build a pagamento, così la tua prima prova non può sorprenderti con un addebito di crediti.

Try this prompt

Create a Sustain album called “Italy 2026”, then give me a link I can open on my phone to upload the photos. Once they are all in, lay them out so I can see a draft — do not spend any credits yet, just tell me what a full AI build would do.

Perché pensiamo che questo sia importante

Esiste una versione dei prossimi anni in cui le persone smettono di visitare i siti e cominciano a chiedere a un assistente di occuparsene. In quel mondo, un sito che parla solo in pixel è un sito che un agente sbaglia, abbandona, o salta a favore di uno che riesce davvero a usare.

Essere pronti per gli agenti non è una medaglia. È la differenza fra un assistente che sa davvero farti un album di foto e uno che clicca a caso, spende i tuoi crediti per sbaglio e ti restituisce qualcosa che non avevi chiesto. Preferiamo essere leggibili per le macchine che sempre più spesso fanno le domande.

Ci tiene anche onesti sul nostro prodotto. Scrivere la descrizione di uno strumento ti obbliga a dire esattamente cosa fa un’azione e quanto costa, in una frase, senza un’interfaccia dietro cui nascondersi. Diverse delle nostre sono diventate più chiare nella scrittura.

Domande frequenti

Pronto a provarlo?

Apri il tuo album

Usiamo i cookie per analizzare l'utilizzo del sito e migliorare la tua esperienza. Scopri di più