Skip to content
Conduit

mcp server

MentorAgent

Add AI agents to your .NET app: your methods become tools with role checks and human confirmation. Use the ready-made chat widget in Blazor and MAUI, or connect any frontend through SignalR, SSE, MCP

Novior-dev/MentorAgentcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 25, 2026

MentorAgent

NuGet Downloads License: Apache-2.0

Add AI agents to your .NET app: your methods become tools with role checks and human confirmation. Use the ready-made chat widget in Blazor and MAUI, or connect any frontend through SignalR, SSE, MCP or A2A. Built on Microsoft Agent Framework, with any provider that offers an IChatClient: Azure OpenAI, OpenAI, Ollama and others.

Which package

You are buildingInstall
A Blazor Server app, or a .NET MAUI Blazor Hybrid appNovior.MentorAgent
The client project of a Blazor WebAssembly or Auto appNovior.MentorAgent.Blazor, with Novior.MentorAgent.Server on the server
Any other frontend (React, Angular, Vue, mobile), a Web API or a headless backend; an MCP server or an A2A agentNovior.MentorAgent.Server
Specialist agents defined in YAMLNovior.MentorAgent.Declarative, next to the others

Novior.MentorAgent.Abstractions comes with them: you never install it yourself.

Quick start

dotnet add package Novior.MentorAgent
dotnet add package Microsoft.Extensions.AI.OpenAI
// Program.cs — using Microsoft.Extensions.AI; using Novior.MentorAgent.Extensions;
builder.Services.AddScoped<OrderService>();
builder.Services.AddMentorAgent(options =>
{
    options.AppName        = "Orders";
    options.ChatClient     = new OpenAI.Chat.ChatClient("gpt-4.1-mini", builder.Configuration["OpenAI:Key"]).AsIChatClient();
    options.ScanAssemblies = [typeof(Program).Assembly];
});

// OrderService.cs — using Novior.MentorAgent.Attributes;
public class OrderService
{
    [MentorAction(Description = "Cancels an order", RequiresConfirmation = true, RequiredRoles = ["Manager"])]
    public Task<bool> CancelOrderAsync(int orderId, string reason) { ... }
}
@* MainLayout.razor, in an interactive app — @using Novior.MentorAgent.Abstractions.Components *@
<ChatWidget />

Ask the widget to cancel an order: the assistant offers CancelOrderAsync only to a signed-in user with the Manager role, and runs it only after that user confirms in the widget.

Learn more

License

Apache License 2.0: see LICENSE and NOTICE. "MentorAgent" and its logo are trademarks: see TRADEMARKS.md for how they can be used.

↑↓ navigate openesc close