Microsoft announced the new Blazor AI components, an experimental package aimed at Blazor application developers who want to integrate intelligent-agent interactions into their application interfaces instead of relying solely on a traditional chat interface. The components provide a state model and UI elements for displaying streamed responses, tool calls, approval requests, shared state, and generated UI experiences.
The experiment requires the .NET 11 RC1 SDK and the experimental Microsoft.AspNetCore.Components.AI package. It provides a ready-made entry point through the ChatPage component, including a message list, an input field, a streaming indicator, and retry capability. At the programming level, UIAgent manages the interaction state and wraps IChatClient from Microsoft.Extensions.AI, then converts streamed response updates into observable and re-renderable content blocks.
From Conversation to a Full Application Interface
The package is not limited to displaying text. ContentBlock represents part of an interaction with an identity, role, lifecycle state, and change notifications. There are custom blocks for conversational content, tool calls, approvals, and frontend actions. For those who need a custom layout, the package provides low-level elements such as AgentBoundary, MessageList, MessageInput, and BlockRenderer.
The application can also use server-executed tools, such as a weather tool, and convert the call and its result into a custom Razor component. Similarly, frontend tools enable the execution of functions owned by the application, such as navigation, opening a window, or changing the interface color. Actions that require a human decision suspend the interaction through FunctionApprovalBlock until the user approves or rejects them.
Connecting Remote Agents Through AG-UI
Blazor AI components work with any IChatClient, and they can also connect to remote agents through AGUIChatClient from the AG-UI .NET SDK package. AG-UI functions as an open, event-based protocol for standardizing communication between agents and user-facing applications without imposing specific UI components.
The AgenticUI sample presents an architecture that combines a Blazor Web App, an agent server built on ASP.NET Core, and Aspire AppHost, using Microsoft Foundry and Microsoft Agent Framework. Events are sent through HTTP and Server-Sent Events, while the Blazor application retains its own presentation layer.
What Changes in Practice?
The components give the application ownership over how the agent's output is displayed. A developer can display a tool call as a custom card, synchronize structured state between the user and the agent, show a suggestion as a change that can be reviewed before being applied, or update a live plan as new state arrives. They also support processing reasoning summaries provided by the model, with the clarification that these are summaries sent by the model rather than its internal chain of thought.
This layer expands Blazor's role from displaying a conversation to building a workspace in which the user and agent collaborate, but it does not eliminate the application's responsibilities. Image, file, and audio input, as well as processing model-specific media, remain the responsibility of the application and AI services. The components are also still experimental, meaning that their APIs and user experience may change based on feedback submitted to the dotnet/aspnetcore repository.
Conclusion for Developers
Microsoft is targeting developers who need to integrate agents into applications with clear architectures and workflows, rather than adding a separate chatbot. The core value is unifying streaming, tools, state, and approval within a customizable Blazor model, while keeping the final decision about presentation and interface behavior in the hands of the application.