Agent DevTools di Next.js: il debug con l'AI nel 2026
Next.js 16.3 dà agli agenti accesso da terminale a errori di build, rotte e albero React. Il setup di MCP e agent-browser, in cinque passi.
In questo pezzo
Imposti tutto una volta e l'agente legge da solo gli errori di build di Next.js, i metadati delle rotte e l'albero dei componenti React. Niente stack trace incollate in chat. Il giro si chiude nel terminale, dove l'agente vive già, e la documentazione che legge corrisponde alla versione di Next.js installata nel progetto.
Ci vogliono una ventina di minuti. Servono Next.js 16.3, un agente che parli MCP e un dev server che puoi lasciare acceso. Tutto quello che segue è first-party: lo pubblica Vercel e non costa niente.
Ci sono volute due release. Next.js 16.2 ha aggiunto il Browser Log Forwarding, il file AGENTS.md dentro create-next-app e un Agent DevTools sperimentale basato su una CLI chiamata next-browser. Next.js 16.3, uscito il 3 agosto 2026, ha fatto confluire next-browser nella CLI generalista agent-browser e porta la documentazione agli agenti attraverso un blocco AGENTS.md gestito. Nella stessa release le Skills sono state ritirate.
Cosa serve prima di cominciare
- Next.js 16.3 o successiva. Con la 16.2 hai il log forwarding e
AGENTS.md, ma l'introspezione di React si è spostata dentroagent-browser. - Un agente che parli MCP: Claude Code, Cursor o qualsiasi client che legga un file di configurazione MCP.
- Un dev server che puoi tenere acceso. Gli strumenti MCP leggono un server vivo, non il codice sorgente.
- Accesso in scrittura a
next.config.tse alla radice del repository.
Passo 1: passare a Next.js 16.3
npm install next@latest react@latest react-dom@latestDella 16.3 qui contano due cose oltre agli strumenti per gli agenti. Gli agenti leggono documentazione allineata alla versione senza nessuna configurazione, e le sessioni di sviluppo lunghe consumano fino al 90% di memoria in meno rispetto a prima. Il dato sulla memoria non è un numero da vetrina, in questo scenario. Un flusso guidato da un agente tiene acceso un solo dev server per ore, mentre interroga, modifica e interroga di nuovo: è proprio il caso in cui il processo di sviluppo si gonfiava.
Passo 2: dare all'agente la documentazione della tua versione
create-next-app ora crea un file AGENTS.md di default. È una direttiva breve in Markdown che dice all'agente di leggere la documentazione inclusa in node_modules/next/dist/docs/ prima di scrivere codice. Su un progetto già avviato non lo aggiunge nessuno, quindi crealo tu nella radice del repository.
Vercel ha misurato la differenza. Con la documentazione inclusa nel pacchetto gli agenti hanno raggiunto il 100% di test superati sugli eval di Next.js, mentre il recupero via skill si è fermato al 79%. La ragione è poco romantica: spesso l'agente non si accorge del momento in cui dovrebbe andare a cercare la documentazione, quindi un contesto sempre presente batte un contesto da richiedere.
Il prezzo è il budget di contesto. La documentazione occupa token che l'agente potrebbe spendere leggendo il codice, quindi tratta quel blocco come qualsiasi altra istruzione sempre caricata. È la stessa disciplina che abbiamo descritto per i file CLAUDE.md e per la gestione della context window.
Passo 3: portare i log del browser nel terminale
Dalla 16.2 Next.js manda gli errori del browser nel terminale durante lo sviluppo, e lo fa di default. Un agente non apre la console del browser. Il terminale è l'unica superficie che legge, e fino a questa aggiunta gli errori lato client per lui non esistevano.
// next.config.ts
export default {
logging: {
browserToTerminal: 'error',
},
}I livelli sono 'error' (il default), 'warn', true per tutto l'output della console e false per spegnere tutto. Parti da 'error' e restaci un po'. Mettere true su un'applicazione che scrive un log a ogni render riempie il terminale e brucia il contesto dell'agente in rumore.
Passo 4: collegare il server MCP dei DevTools
Next.js 16 espone un endpoint MCP su /_next/mcp. Il pacchetto next-devtools-mcp trova i dev server accesi e fa da proxy verso quell'endpoint: così l'agente riceve errori di build, rotte e log dal vivo, invece del riassunto che gli hai scritto tu.
npx add-mcp next-devtools-mcp@latestPer Claude Code in particolare:
claude mcp add next-devtools npx next-devtools-mcp@latestOppure scrivi la configurazione a mano, e vale per qualsiasi client:
{
"mcpServers": {
"next-devtools": {
"command": "npx",
"args": ["-y", "next-devtools-mcp@latest"]
}
}
}Arrivano quattro strumenti. nextjs_index trova i dev server Next.js 16+ attivi e dice quali strumenti runtime espone ciascuno. nextjs_call esegue get_errors, get_logs o get_page_metadata sulla porta trovata. nextjs_docs individua la documentazione allineata alla versione installata. Se hai già costruito un server MCP per il tuo SaaS, la forma ti sarà familiare.
Passo 5: aggiungere agent-browser per l'introspezione di React
npm install -g agent-browser@^0.27La CLI gestisce un'istanza di Chromium con React DevTools già caricato, quindi non c'è niente da configurare nel browser. Ogni comando è una richiesta secca contro una sessione che resta aperta. L'agente interroga la pagina quante volte vuole senza portarsi dietro lo stato del browser.
I comandi React sono la metà che vale la pena imparare. react tree elenca l'albero dei componenti. react inspect <fiberId> restituisce props e hook di un singolo componente. react renders start e react renders stop profilano i re-render. react suspense --only-dynamic --json mostra cosa sta trattenendo un render, che è la strada più rapida dentro una shell di Partial Prerendering che non si risolve. Screenshot, richieste di rete, output della console e Web Vitals arrivano insieme. Dopo la fusione della 16.3 la stessa CLI funziona anche su applicazioni che non usano Next.js.
Come verificare che funzioni
- Avvia il dev server e lascialo acceso.
- Rompi qualcosa apposta. Basta un errore di tipo dentro un route handler.
- Chiedi all'agente quali errori sta segnalando il dev server. Dovrebbe chiamare
nextjs_callconget_errorse risponderti con file e riga, senza chiederti di incollare niente. - Chiedigli l'elenco delle rotte.
get_page_metadatarestituisce pagine e metadati dei componenti dall'applicazione accesa. - Lancia
agent-browser react treesu una pagina. Devi ottenere un albero di componenti con i fiber id da rigirare subito areact inspect.
Cinque su cinque vuol dire che il giro è chiuso. Se qualcosa manca, il paragrafo seguente lo copre.
Guasti frequenti e come si risolvono
- Nessun server Next.js trovato.
nextjs_indexvuole un dev server acceso, su Next.js 16 o successiva. Una build di produzione non espone/_next/mcp, e nemmeno un server crashato tre minuti fa. - Lo strumento della documentazione non restituisce niente. I file stanno in
node_modules/next/dist/docs/. Qualsiasi passaggio di installazione che sfoltisce la documentazione dei pacchetti, cosa comune nei layer Docker snelli e in certe cache di CI, li porta via. - L'agente cita un'API che non esiste più. La documentazione segue la versione installata, quindi dopo
npm install next@latestriavvia la sessione dell'agente e lascia che rilegga il set nuovo. - Il terminale è illeggibile. Riporta
browserToTerminaldatruea'error'. - Un secondo dev server non parte. La 16.2 ha aggiunto un file di lock del dev server che restituisce un messaggio comprensibile al posto di una collisione di porta da decifrare. Chiudi il primo server.
Dove andare da qui
Questo setup rende dove gli agenti sono più deboli: ragionare su uno stato runtime che non vedono. Sull'architettura non cambia niente. Un agente che legge get_errors alla perfezione mette lo stesso una query nel posto sbagliato, quindi le regole che imponi in revisione pesano come prima. Le nostre le teniamo scritte per le Server Actions in produzione e per i Core Web Vitals.
C'è un altro aggiornamento che sta bene insieme a questo. next build ora può fare il type check con TypeScript 7, e il compilatore in Go accorcia la distanza fra la modifica dell'agente e l'errore che quella modifica produce. Più corta è quella distanza, meno giri servono per ogni correzione.
Domande frequenti
Funziona anche senza Claude Code?+
Sì. next-devtools-mcp è un server MCP standard, quindi lo usa qualsiasi client che legga una configurazione MCP, Cursor compreso e ogni editor con supporto MCP. Il comando npx add-mcp next-devtools-mcp@latest scrive la configurazione per tutti gli agenti che trova sulla macchina. Quello di Claude Code al passo 4 è una scorciatoia, non un obbligo. agent-browser è una CLI normale e non dipende da nessun client.
Posso puntare Agent DevTools su un'applicazione in produzione?+
No, e non conviene provarci. L'endpoint MCP su /_next/mcp appartiene al dev server e nextjs_index trova soltanto processi di sviluppo. Anche il Browser Log Forwarding è una funzione di sviluppo. Esporre errori runtime, metadati delle rotte e log a chiunque raggiunga la porta sarebbe un problema di sicurezza in produzione, ed è proprio per questo che la superficie resta sul dev server. Per il debug in produzione si usa lo stack di osservabilità.
Servono ancora le Skills o un MCP di documentazione dedicato per Next.js?+
No. Next.js 16.3 ha ritirato le Skills nel momento in cui la documentazione inclusa ha iniziato ad arrivare agli agenti tramite il blocco gestito AGENTS.md. Un MCP di documentazione fatto in casa oggi è lavoro doppio: i file stanno in node_modules/next/dist/docs/ e corrispondono alla versione esatta che hai installato, garanzia che nessuna fonte esterna può dare. Le Skills tienile per quello che Next.js non pubblica, come le convenzioni interne e le librerie di casa.
Cosa perdo se resto sulla 16.2?+
Meno di quanto sembri. L'endpoint MCP c'è da Next.js 16 in poi, il Browser Log Forwarding è arrivato con la 16.2 e AGENTS.md è uscito con create-next-app nella stessa release. Quello che perdi è la parte di introspezione React: next-browser era sperimentale ed è confluito in agent-browser con la 16.3, quindi un progetto fermo alla 16.2 resta su uno strumento che sotto quel nome non riceve più manutenzione. Perdi anche il calo di memoria in sviluppo, che conta quando il dev server sta acceso per un'intera giornata di lavoro.
Servizi correlati
Studio
Inizia un progetto.
Scriviamo riguardo a ciò che costruiamo. Raccontaci cosa vuoi costruire tu.