# Choose your packages

> Which MentorAgent package to install for Blazor, MAUI, or a backend for React, Angular, Vue and mobile apps, and what each one contains.

- URL: https://docs.mentoragent.net/get-started/packages
- Verified with: MentorAgent 1.0.0
- Last updated: 2026-10-14
- Packages: Novior.MentorAgent, Novior.MentorAgent.Server, Novior.MentorAgent.Blazor, Novior.MentorAgent.Abstractions, Novior.MentorAgent.Declarative

Use this page to choose the MentorAgent packages for your kind of app. MentorAgent is published on NuGet as a family of five packages. They are released together with one version number, 1.0.0. Keep every MentorAgent package in a project on the same version.

The common case is a Blazor Web App with Server interactivity, which needs only one package, `Novior.MentorAgent`. The Quickstart builds such an app. The table shows when you need more.

## Packages for each kind of app

| Your app | Project that runs the agent | Client project |
|---|---|---|
| Blazor Web App with Server interactivity | `Novior.MentorAgent` | None |
| Blazor Web App with Auto interactivity set per page or component, where the chat widget runs on the server | `Novior.MentorAgent` | None |
| Blazor Web App with WebAssembly or Auto interactivity, where the chat widget runs in the browser | `Novior.MentorAgent.Server` | `Novior.MentorAgent.Blazor` |
| Blazor WebAssembly standalone | `Novior.MentorAgent.Server`, in the API backend | `Novior.MentorAgent.Blazor` |
| .NET MAUI Blazor Hybrid, built for Android and Windows | `Novior.MentorAgent`, in the MAUI app | None |
| .NET MAUI app that uses an agent on a server you host | `Novior.MentorAgent.Server`, on that server | A SignalR client |
| React, Angular, Vue or any other JavaScript front end, a native mobile or desktop app, or a script | `Novior.MentorAgent.Server`, in your ASP.NET Core backend | Nothing from MentorAgent: a SignalR client for your platform, or plain HTTP for Server-Sent Events |
| Model Context Protocol (MCP) server or Agent-to-Agent (A2A) agent for other AI clients | `Novior.MentorAgent.Server` | None |

In a Blazor Web App you choose where the widget runs: on the server (as in Blazor Server) or in the browser (as in WebAssembly). See [Blazor WebAssembly and Auto](https://docs.mentoragent.net/configure/blazor-webassembly). For a front end other than Blazor, see [Any front end](https://docs.mentoragent.net/configure/any-front-end).

The agent always runs in the project that calls `AddMentorAgent()`. In a WebAssembly client project you install `Novior.MentorAgent.Blazor` and never call `AddMentorAgent()`: the model, the keys and your actions stay on the server.

> **Note:**
> The MCP server and the A2A agent are in `Novior.MentorAgent.Server`, also for a Blazor Server app. To serve MCP or A2A without the SignalR hub, add the package and call `AddMentorAgentMcp()` or `AddMentorAgentA2A()` after `AddMentorAgent()`. `AddMentorAgentServer()` calls both. The methods are in the `Novior.MentorAgent.Extensions` namespace, like `AddMentorAgent()`.

[Channels](https://docs.mentoragent.net/concepts/channels#the-channels-at-a-glance) explains how each client reaches the agent, and the [Configure](https://docs.mentoragent.net/configure) pages give the setup for each one.

## The packages

| Package | What it contains | When you install it |
|---|---|---|
| `Novior.MentorAgent` | The core. It finds your actions, agents, teams and pages, and it runs the coordinator, which is built on Agent Framework. It runs the role checks and the confirmation, and it includes the MCP and A2A clients. It also holds the services behind the chat widget in Blazor Server and Blazor Hybrid | In the app that runs the agent. In a Blazor Server or Blazor Hybrid app, it is the only MentorAgent package you need. If the chat runs outside the server, or the app publishes the MCP server or the A2A agent, install `Novior.MentorAgent.Server` instead: it brings `Novior.MentorAgent` with it |
| `Novior.MentorAgent.Server` | The SignalR hub (`/mentor-hub`), the Server-Sent Events endpoint (`/mentor/chat`) and the HTTP endpoints for confirmation, stop, session, tour and metrics (`/mentor/approve`, `/mentor/cancel` and others). It also holds the MCP server (`/mcp`) and the A2A agent (`/a2a`). It brings `Novior.MentorAgent` with it | In the ASP.NET Core project that serves a chat running outside the server (Blazor WebAssembly, a JavaScript front end or a mobile app). Also in any ASP.NET Core project that publishes the MCP server or the A2A agent |
| `Novior.MentorAgent.Blazor` | The WebAssembly client: the services that connect the same `<ChatWidget />` to the hub over SignalR | In the client project of a Blazor WebAssembly or Auto app |
| `Novior.MentorAgent.Abstractions` | The contracts, models and Razor components shared by the server and the browser, including `<ChatWidget />` | Never directly: it comes with `Novior.MentorAgent` and `Novior.MentorAgent.Blazor` |
| `Novior.MentorAgent.Declarative` | Specialist agents defined in YAML files instead of C# classes | Only if you want YAML agents, next to `Novior.MentorAgent` or `Novior.MentorAgent.Server` |

Besides the code, every package contains:

- its README;
- `LICENSE`, the Apache License 2.0, and `NOTICE`, with the copyright notice;
- the XML documentation that IntelliSense shows;
- `CHANGELOG.md`, with the history of every version;
- `THIRD-PARTY-NOTICES.md`, with the licenses of the icons and fonts that the widget takes from other projects.

The release notes of a version on NuGet are its section of `CHANGELOG.md`. [What's new](https://docs.mentoragent.net/whats-new) summarizes them.

## Install

The common case is a Blazor Web App with Server interactivity, which needs only `Novior.MentorAgent`:

**.NET CLI**

```shell
dotnet add package Novior.MentorAgent
```

**PackageReference**

```xml title="YourApp.csproj"
<ItemGroup>
  <PackageReference Include="Novior.MentorAgent" Version="1.0.0" />
</ItemGroup>
```

**Central Package Management**

```xml title="Directory.Packages.props"
<ItemGroup>
  <PackageVersion Include="Novior.MentorAgent" Version="1.0.0" />
</ItemGroup>
```

```xml title="YourApp.csproj"
<ItemGroup>
  <PackageReference Include="Novior.MentorAgent" />
</ItemGroup>
```

**File-based app**

```csharp title="app.cs"
#:package Novior.MentorAgent@1.0.0
```

The other packages install the same way. For example, on a backend:

```shell
dotnet add package Novior.MentorAgent.Server
```

Add the package of your model provider too: see [What comes with MentorAgent](https://docs.mentoragent.net/get-started/packages#what-comes-with-mentoragent).

## What comes with MentorAgent

`Novior.MentorAgent` includes Agent Framework, `Microsoft.Extensions.AI` and the clients for MCP and A2A. You do not add them yourself. `Novior.MentorAgent.Server` also includes the packages for the MCP server and the A2A agent.

`Novior.MentorAgent` does not include a model provider package. Add the package of the provider you use. For OpenAI it is `Microsoft.Extensions.AI.OpenAI`. Azure OpenAI also needs `Azure.AI.OpenAI`. For the versions, see [Provider package versions](https://docs.mentoragent.net/get-started/prerequisites#provider-package-versions).

The Foundry package of Agent Framework is not included either. Add it yourself only if you use a Foundry project: see [If you use Foundry](https://docs.mentoragent.net/get-started/prerequisites#if-you-use-foundry).

`Novior.MentorAgent.Abstractions` is a separate package because the browser cannot load the server's dependencies. It contains only what runs in WebAssembly, so `Novior.MentorAgent` and `Novior.MentorAgent.Blazor` can share the same widget and the same contracts.

---

- Previous: [Prerequisites](https://docs.mentoragent.net/get-started/prerequisites.md)
- Next: [Samples](https://docs.mentoragent.net/samples.md)
