Gli agenti AI delle tue applicazioni, sotto il tuo controllo.
I metodi della tua app, i tool MCP e gli agenti A2A diventano un agente che governi con le tue regole. Lo porti sul web, nelle app mobili, negli assistenti AI e negli altri agenti.
publicclassPraticheService(IGestionale gestionale)
{
[MentorAction( Description = "Registra una nota sulla pratica", RequiredRoles = ["Operatori"])]publicTask RegistraNota(string pratica, string testo)
=> gestionale.AggiungiNotaAsync(pratica, testo);
}
.NET 10 LTS · Blazor e MAUI Hybrid · React, Angular, Vue e app mobile · MCP e A2A
Dai tuoi sistemi a dove sono i tuoi utenti
MentorAgent gira dentro la tua applicazione .NET. Prende quello che i tuoi sistemi sanno già fare, applica le tue regole e porta lo stesso agente dovunque lavorino i tuoi utenti: nel browser, sul telefono, in un assistente AI, in un altro agente o in uno script.
I tuoi sistemi
Metodi .NET[MentorAction]
Tool MCPdai server MCP
Agenti A2Asu altri host
MentorAgent
Il livello applicativo per gli agenti AI
Governance
Specialisti e team
Pagine e skill
Controllo dei costi
Osservabilità
Modelli cloud o locali
Dove sono i tuoi utenti
WebBlazor, React, Angular, Vue
MobileMAUI (Android, Windows), iOS e Android nativi via SignalR
Assistenti AIMCP
Altri agentiA2A
Script e serviziHTTP, SSE
Aperto oltre .NET
Il cuore è .NET; quello che gli sta intorno può essere scritto in altri linguaggi. I front end si collegano con SignalR o con i Server-Sent Events; tool e agenti con MCP e A2A, che hanno SDK ufficiali per Python, JavaScript, Java, Go e altri.
Si installa dove gira la tua app
È una libreria dentro un'app ASP.NET Core su .NET 10: Windows o Linux, un container, il cloud o i tuoi server. Non manda telemetria ai suoi autori.
Il tuo modello, in cloud o in locale
Azure OpenAI, OpenAI o un modello locale con Ollama. Con un modello locale la conversazione e i dati che leggono le tue azioni restano nella tua rete.
Governi gli agenti come governi la tua applicazione
Il tuo codice decide cosa può fare l'agente. Chi può eseguire ogni azione, cosa chiede conferma, quali limiti valgono e quanto costa: lo dichiari in C#, accanto ai tuoi metodi, e MentorAgent lo applica su ogni canale. Una regola nel prompt si può aggirare con le parole; un controllo nel tuo codice no.
Chi può fare cosa
Ogni azione dichiara in RequiredRoles i ruoli che possono eseguirla. MentorAgent li controlla sull'utente collegato prima di tutto: senza il ruolo, al modello l'azione non viene nemmeno offerta. Per regole per azienda o per record, MentorAgent chiede prima di ogni chiamata al tuo IMentorActionPolicy.
Una conferma prima di cambiare i dati
Una [MentorAction] che cambia i dati chiede prima all'utente e mostra i valori che sta per usare. Le azioni che leggono soltanto dichiarano ReadOnly = true e partono subito.
Le stesse regole su ogni canale
Widget, hub SignalR, SSE, MCP e A2A fanno gli stessi controlli. Dove nessuno può confermare, come con MCP e A2A, le azioni che chiedono conferma non vengono offerte.
Limiti e controlli
Messaggi per utente e loro lunghezza, domande fuori dalla tua applicazione, controlli sui messaggi in arrivo e sulle risposte. Ognuno si regola nelle opzioni.
Costi sotto controllo
Al modello arrivano solo i tool che servono al messaggio, le conversazioni lunghe si accorciano e il modello più potente risponde solo ai turni che lo richiedono. Una dashboard mostra token e costo stimato per modello.
Visibile nel tuo monitoraggio
Turni, chiamate ai tool, errori e messaggi bloccati vanno in OpenTelemetry come tracce e metriche, secondo le convenzioni per l'AI generativa, negli strumenti che usi già. Ogni decisione su un'azione, compreso chi l'ha confermata, arriva anche a un tuo IMentorActionObserver.
Cosa succede quando l'utente chiede all'agente di modificare dei dati
Aggiungi alla pratica P-2026-0102 la nota: documenti ricevuti il 25/09.
Utente con il ruolo Operatori
Ruolo Operatori: presente · registra_nota è offerta al modello
Posso aggiungere la nota. Controlla i dati e conferma.
◆ Conferma richiesta
Registra una nota sulla pratica — Pratica: P-2026-0102 · Testo: Documenti ricevuti il 25/09.
Finché non confermi, non cambia niente.
AnnullaConferma
Confermata: RegistraNota viene eseguito e la nota è salvata.
Annullata: RegistraNota non viene eseguito, non cambia niente e la libreria comunica il rifiuto al modello.
Utente senza il ruolo
Ruolo Operatori: assente · registra_nota non è offerta al modello
Non posso aggiungere note alle pratiche: non è tra le azioni che ho a disposizione.
Nessun riquadro, nessuna modifica: una chiamata fatta comunque è rifiutata prima della domanda.
Scegli l'utente
Aggiungi alla pratica P-2026-0102 la nota: documenti ricevuti il 25/09.
Ruolo Operatori: presente · registra_nota è offerta al modello
Posso aggiungere la nota. Controlla i dati e conferma.
◆ Conferma richiesta
Registra una nota sulla pratica — Pratica: P-2026-0102 · Testo: Documenti ricevuti il 25/09.
Finché non confermi, non cambia niente.
Confermata: RegistraNota viene eseguito e la nota è salvata.
Fatto: la nota è sulla pratica P-2026-0102.
Annullata: RegistraNota non viene eseguito, non cambia niente e la libreria comunica il rifiuto al modello.
Va bene, non ho aggiunto la nota.
Ruolo Operatori: assente · registra_nota non è offerta al modello
Non posso aggiungere note alle pratiche: non è tra le azioni che ho a disposizione.
Nessun riquadro, nessuna modifica: una chiamata fatta comunque è rifiutata prima della domanda.
Dati di esempio; anche le risposte del modello sono esempi. Titolo, testo e pulsanti del riquadro sono quelli del widget; le altre righe riassumono cosa fa la libreria.
Cosa resta nel tuo codice. Quello che non dichiari resta aperto: senza RequiredRoles chiunque raggiunga l'agente può chiamare l'azione, e un metodo con il solo [Description] non chiede mai conferma. I ruoli si controllano per azione: chi può toccare quale record lo decide il tuo codice, nei tuoi metodi o in un IMentorActionPolicy. Gli endpoint dell'hub, di SSE, di MCP e di A2A restano aperti finché non li proteggi.
OpenAI, Azure OpenAI, Foundry o un modello locale come Ollama. Le domande semplici vanno a un modello più economico, il cruscotto mostra quanto costa ciascuno e i turni si possono seguire con OpenTelemetry.
Il codice di questa pagina compila con la 1.2.0, e l'avvio rapido è stato provato il 27/10/2026.
Usi già Microsoft Agent Framework?
MentorAgent si basa su Agent Framework 1.26.0 e non lo nasconde: lo configura al posto tuo, e accetta anche un AIAgent che costruisci tu. Agent Framework porta agenti, workflow e approvazione dei tool; MentorAgent ci aggiunge il livello dell'applicazione, come mostra lo schema.
La tua applicazionemetodi C# con attributi · pagine Blazor · utenti e ruoli di ASP.NET Core
MentorAgentscoperta dei tool · prompt, memoria, RAG · ruoli e conferme · widget, hub, SSE, MCP, A2A · costi e routing
Microsoft Agent Framework 1.26.0agenti · workflow con handoff e group chat · function calling · approvazioni
Il modelloun IChatClient o un AIAgent, con tool calling: Azure OpenAI, OpenAI, Ollama, Foundry
Tool e datidatabase e API interne · server MCP · agenti A2A remoti
È adatta se
hai un'app .NET 10 (Blazor Web App, ASP.NET Core o MAUI Hybrid) e, se ti servono i ruoli, l'autenticazione di ASP.NET Core;
vuoi che l'agente usi i metodi della tua applicazione, non una API scritta apposta per lui;
alcune azioni scrivono dati e vuoi che l'utente le confermi;
ti serve lo stesso agente su più client, o esposto via MCP e A2A.
Non è adatta se
sei su .NET 8 o 9;
ti serve solo un chatbot sui documenti, senza azioni: bastano Microsoft.Extensions.AI o Agent Framework;
cerchi un motore di workflow con stato persistente e compensazioni.
Ogni pacchetto contiene il suo SBOM, l'elenco standard dei file e dei componenti che ha dentro, che il tuo team di sicurezza può controllare. Dalla 1.1.0.
Ogni versione è compilata su macchine pulite nel cloud, mai sul computer di uno sviluppatore, ed esce su NuGet solo dopo l'approvazione di una persona.
Ultima versione: 1.2.0,
pubblicata su NuGet il
(UTC)
· Note di versione
Stabile dalla 1.0.0: le modifiche incompatibili arrivano solo con una nuova versione principale (Semantic Versioning).
In programma
Risposte basate sui tuoi documenti, anche su grandi archivi
Modelli sulle tue macchine, e la misura della qualità delle risposte
Un'app, tanti clienti: dati e limiti separati per ognuno
Più modi di dare azioni all'agente, anche dalle API che hai già
Le azioni dell'interfaccia sotto le stesse regole di tutte le altre
React e Angular alla pari di Blazor: l'agente lavora anche nel tuo front end
Costi chiari: quanto spende ogni agente e ogni utente
Compatibile con lo standard AG-UI e i suoi client
Un widget che tutti possono usare, secondo la norma europea sull'accessibilità
In arrivo: una console per amministrare gli agenti MentorAgent nelle tue applicazioni.
Domande frequenti
Posso usarla in un prodotto commerciale?
Sì, la licenza Apache 2.0 lo permette, anche in un software a pagamento. Se la ridistribuisci, includi una copia della licenza e il file NOTICE che la accompagna, come spiega la pagina della licenza.
Al provider del modello arrivano la conversazione, il nome e i ruoli dell'utente, il contesto della pagina e i risultati delle azioni; ai server MCP e agli agenti A2A remoti arrivano le richieste che deleghi a loro. La libreria non manda telemetria agli autori. La documentazione elenca tutto quello che esce.
Funziona con modelli locali?
Sì, con un endpoint compatibile con OpenAI come Ollama, purché il modello gestisca il tool calling (modelli locali).
Quanto è matura?
È stabile. La 1.2.0, pubblicata in data 27/10/2026 (UTC), è l'ultima delle 23 versioni uscite su NuGet dal 22/06/2026, e dalla 1.0.0 le modifiche incompatibili arrivano solo con una nuova versione principale. Fino alla 1.0.0-rc.15 i pacchetti si chiamavano MentorAgent.*. Le note della 1.2.0 spiegano cosa cambia in questa versione e cosa resta aperto; ogni versione è nelle note di versione.
Funziona su .NET 8 o 9?
No, serve .NET 10, la versione LTS con supporto di Microsoft fino al 14/11/2028 (requisiti). .NET 8 e .NET 9 escono dal supporto il 10/11/2026.
Quanto costa?
La libreria è gratuita: paghi il provider del modello, oppure usi un modello locale.
Serve Blazor?
No, Blazor serve solo per il widget già pronto. Con Novior.MentorAgent.Server i client React, Angular, Vue o mobile si collegano a un hub SignalR oppure usano SSE, e l'interfaccia la scrivi tu (il tuo front end).
Serve .NET dappertutto?
No, su .NET 10 gira solo l'applicazione che ospita l'agente. Front end, tool e altri agenti possono essere scritti in altri linguaggi e collegarsi con SignalR, SSE, MCP o A2A (i canali).
Quali versioni ricevono le correzioni?
L'ultima minor riceve tutte le correzioni; la minor precedente quelle di sicurezza per 3 mesi, la major precedente per 6. I dettagli sono in Supporto e versioni.
Documentazione
Guide, concetti e riferimento, verificati sulla 1.2.0. La documentazione è in inglese.