Tracon.AspNetCore
1.0.0-preview.3
Prefix Reserved
dotnet add package Tracon.AspNetCore --version 1.0.0-preview.3
NuGet\Install-Package Tracon.AspNetCore -Version 1.0.0-preview.3
<PackageReference Include="Tracon.AspNetCore" Version="1.0.0-preview.3" />
<PackageVersion Include="Tracon.AspNetCore" Version="1.0.0-preview.3" />
<PackageReference Include="Tracon.AspNetCore" />
paket add Tracon.AspNetCore --version 1.0.0-preview.3
#r "nuget: Tracon.AspNetCore, 1.0.0-preview.3"
#:package Tracon.AspNetCore@1.0.0-preview.3
#addin nuget:?package=Tracon.AspNetCore&version=1.0.0-preview.3&prerelease
#tool nuget:?package=Tracon.AspNetCore&version=1.0.0-preview.3&prerelease
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
Authorizationheader 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.
Links
- Full documentation: https://tracon.dev
- HTTP API reference: https://tracon.dev/http-api/
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 | Versions 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. |
-
net10.0
- A2A.AspNetCore (= 1.0.0-preview2)
- Microsoft.Agents.AI.Hosting (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.A2A (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.AspNetCore (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.OpenAI (= 1.20.0-alpha.260831.1)
- ModelContextProtocol.AspNetCore (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
- Tracon.Core (= 1.0.0-preview.3)
-
net8.0
- A2A.AspNetCore (= 1.0.0-preview2)
- Microsoft.Agents.AI.Hosting (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.A2A (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.AspNetCore (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.OpenAI (= 1.20.0-alpha.260831.1)
- ModelContextProtocol.AspNetCore (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
- Tracon.Core (= 1.0.0-preview.3)
-
net9.0
- A2A.AspNetCore (= 1.0.0-preview2)
- Microsoft.Agents.AI.Hosting (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.A2A (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.AspNetCore (= 1.20.0-preview.260831.1)
- Microsoft.Agents.AI.Hosting.OpenAI (= 1.20.0-alpha.260831.1)
- ModelContextProtocol.AspNetCore (>= 2.2.0)
- ModelContextProtocol.Extensions.Tasks (>= 2.2.0)
- Tracon.Core (= 1.0.0-preview.3)
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 |