Tracon.AspNetCore 1.0.0-preview.3

Prefix Reserved
This is a prerelease version of Tracon.AspNetCore.
dotnet add package Tracon.AspNetCore --version 1.0.0-preview.3
                    
NuGet\Install-Package Tracon.AspNetCore -Version 1.0.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tracon.AspNetCore" Version="1.0.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tracon.AspNetCore" Version="1.0.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Tracon.AspNetCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tracon.AspNetCore --version 1.0.0-preview.3
                    
#r "nuget: Tracon.AspNetCore, 1.0.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tracon.AspNetCore@1.0.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tracon.AspNetCore&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Tracon.AspNetCore&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Tool

Tracon.AspNetCore

The HTTP layer. One call maps the whole control plane into an existing ASP.NET Core application.

dotnet add package Tracon.AspNetCore --prerelease
builder.AddTracon()
       .UseOpenAI(apiKey)
       .UsePostgreSql(connectionString);

var app = builder.Build();

app.MapTracon("/tracon");

168 operations over 130 paths, all under the prefix you choose. The prefix appears in exactly one place; nothing else in your application has to know it.

Two endpoint groups

The management API — everything the control plane needs: agents and their version history, runs and their event streams, sessions, skills, workflows, evals, experiments, the job queue, quotas, retention, webhooks, API keys, the audit trail, and diagnostics.

OpenAI-compatible endpoints — /v1/responses, /v1/conversations, and /v1/chat/completions, so an existing OpenAI client can point at your agents without being rewritten.

Streaming endpoints answer with text/event-stream. A run can also be queued instead of streamed by sending Prefer: respond-async, which returns 202 Accepted with a Location header, and deduplicated by sending Idempotency-Key.

Access is layered

Each layer is independent; use as many as you need.

Layer Default What it does
Loopback restriction on Nothing but localhost reaches the endpoints until you turn it off
Bearer token off AuthToken is compared in constant time
API keys off Keys issued from /api/keys, stored hashed, scoped per capability
Authorization policy off Your own ASP.NET Core policy runs on every endpoint
Role policies off Reader / Operator / Admin separated per endpoint
app.MapTracon("/tracon", options =>
{
    options.AllowRemoteAccess = true;
    options.RequireAuthorization("TraconAdmin");
    options.RequireRolePolicies = true;
});

The safe default is deliberate: an application that maps Tracon and forgets to configure anything is not exposed to the network. Never ship AllowRemoteAccess on without a token, a key, or a policy behind it.

The UI shell is exempt from the bearer layer — a browser cannot attach an Authorization header to a script or stylesheet request. The loopback restriction and the authorization policy still apply to it.

OpenAPI: metadata only, no dependency

Every route carries WithName, WithTags, WithSummary, WithDescription, Accepts, and Produces. The package itself does not reference Microsoft.AspNetCore.OpenApi, so it cannot force that dependency — and the CVE-bearing Microsoft.OpenApi version it drags in — onto your graph.

Call AddOpenApi() in your own application and the Tracon endpoints appear in your document, fully described, with your title and your servers.

A snapshot of the generated document is published on the documentation site.

Pre-release dependencies live here

This package depends on Microsoft.Agents.AI.Hosting (preview) and Microsoft.Agents.AI.Hosting.OpenAI (alpha). Every pre-release dependency in Tracon is deliberately concentrated in this one package, so a consumer that uses only the runtime never takes one.

Also in this package

MapTraconMcpServer() exposes your agents as MCP tools, and MapTraconA2A() speaks the agent-to-agent protocol. Both must be mapped after MapTracon so they inherit its access settings. Set TraconMcpServerOptions.EnableTasks to serve a long-running MCP call as a pollable task instead of holding the connection open; it defaults to false.

Compatibility

Targets net8.0, net9.0, and net10.0. This package is not AOT-compatible — the hosting dependencies are not — while the runtime packages below it are.

License: PolyForm Small Business 1.0.0 - free below 100 people and 1,000,000 USD (2019, inflation adjusted) revenue; a commercial licence applies above that. Terms ship in the package as LICENSE.md. Details: https://tracon.dev/reference/licensing/

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Tracon.AspNetCore:

Package Downloads
Tracon.UI

TraconUI - embedded management UI. Single-page application written with React + TypeScript, embedded in the assembly, and served under /tracon. Creates no JavaScript dependency in the consumer's project.

Tracon.Testing

Test helpers for Tracon: a non-networked model provider, an in-memory host fixture, and assertions on run records. Binds to no test framework (xunit, NUnit, MSTest).

Tracon

Tracon meta package. A production-oriented agent control plane built on Microsoft Agent Framework, with PostgreSQL support and an embedded management UI. One reference brings the common set: runtime, HTTP API, PostgreSQL persistence, the OpenAI provider, workflows, MCP, and the embedded management UI. Other providers and storage engines are separate packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-preview.3 46 9/24/2026
1.0.0-preview.2 107 9/20/2026
1.0.0-preview.1 70 9/20/2026