AG-UI is an event-based protocol that lets AI agent backends communicate with user-facing applications. It standardizes agent events and inputs while supporting transports such as server-sent events, WebSockets, and webhooks. The catalogue add-ons help developers build integrations and applications around the protocol.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add ag-ui-protocol/ag-ui --skill agui-dotnet-client-toolsgit clone --depth 1 https://github.com/ag-ui-protocol/ag-uiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ag-ui-protocol/ag-ui/agui-dotnet-client-tools)<a href="https://agentmods.dev/skills/ag-ui-protocol/ag-ui/agui-dotnet-client-tools"><img src="https://agentmods.dev/badge/skills/ag-ui-protocol/ag-ui/agui-dotnet-client-tools.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00216 | $0.00974 |
| Opus 5 | $0.00108 | $0.00487 |
| Sonnet 5 | $0.00043 | $0.00195 |
| Haiku 4.5 | $0.00022 | $0.00097 |
Grade A, and why
agui-dotnet-client-tools scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AG-UI .NET — client (frontend) tools
Goal: let the model call a function that runs in the client app — to read something only the client has (location, local state, UI selection, a device API) — with the client executing the call and returning the result so the run continues to a final answer.
A client tool is an ordinary Microsoft.Extensions.AI AIFunction you attach to the request via ChatOptions.Tools. AGUIChatClient is itself a function-invoking client, so it runs the tool locally and sends the result back automatically — you do not wrap it in UseFunctionInvocation.
Install
dotnet add package AGUI.Client
Microsoft.Extensions.AI supplies AIFunctionFactory, ChatOptions, and AITool. Run dotnet package search AGUI.Client --exact-match for the current version.
Declare a tool and pass it in options
Define the function in the client, wrap it with AIFunctionFactory.Create, and put it on ChatOptions.Tools:
using System.ComponentModel;
using AGUI.Client;
using Microsoft.Extensions.AI;
[Description("Get the user's current location from GPS.")]
static string GetUserLocation() => "Amsterdam, Netherlands (52.37°N, 4.90°E)";
using var httpClient = new HttpClient();
IChatClient client = new AGUIChatClient(new(httpClient, "http://localhost:5003"));
var options = new ChatOptions { Tools = [AIFunctionFactory.Create(GetUserLocation)] };
var messages = new List<ChatMessage> { new(ChatRole.User, "What's fun to do near me?") };
await foreach (var update in client.GetStreamingResponseAsync(messages, options))
{
Console.Write(update.Text);
}
When the model decides to call GetUserLocation, AGUIChatClient invokes it on this machine, returns the result to the server, and the run continues — the streamed text you print already reflects the location.
What the server must do
The server forwards a tool it doesn't own to the client instead of trying to run it. Register the server's chat client with function invocation and TerminateOnUnknownCalls so an unknown (client) tool ends the server turn cleanly and is surfaced to the client to execute:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 68 lines · 216 tokens per session scan A 0f36e40bcd02
agui-dotnet-client-tools is a skill published in the GitHub repository ag-ui-protocol/ag-ui (15,743 stars, last pushed 2d ago), licensed MIT. It adds 216 tokens to every session and 974 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
mcp-host-styling-integration
Integrates MCP App UI with host theming system. Applies host CSS variables, handles onhostcontextchanged, safe area insets, display mode detection, and fullscreen configuration.
mcp-app-scaffolding
Scaffolds MCP App project structure with correct directory layout, dependencies, entry points, and framework-specific templates. Handles React (useApp hook), Vanilla JS, Vue, Svelte, Preact, and Solid.
moai-design-tools
Design tool integration specialist covering Figma MCP, Pencil renderer, and Pencil-to-code export. Use when fetching design context from Figma, rendering Pencil designs, or exporting to React/Tailwind code.
moai-platform-chrome-extension
Chrome Extension Manifest V3 development specialist covering service workers, content scripts, message passing, chrome. APIs, side panel, declarativeNetRequest, and Chrome Web Store publishing. Use when building browser extensions.
moai-framework-electron
Electron 33+ desktop app development specialist covering Main/Renderer process architecture, IPC communication, auto-update, and packaging with Electron Forge. Use when building cross-platform desktop applications.
moai-ref-ui-polish
UI polish and interface-completion reference: the small visual details — concentric border radius, optical alignment, shadow-vs-border, motion easing, typography smoothing, tabular numbers, icon stroke weight, hit areas — that separate polished interfaces from generic ones. Agent-extending skill that amplifies…