Skip to content
Tracon

TraconMcpServerOptions

Namespace Tracon · Assembly Tracon.AspNetCore.dll

Settings for publishing Tracon agents as MCP tools.

public sealed class TraconMcpServerOptions

objectTraconMcpServerOptions

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

This type is deliberately not a record: the options object carries no secret today, but the compiler- generated ToString could repeat the same trap for a field added in the future; the class keeps this type discipline.

public TraconMcpServerOptions()

Depth and token budget template for external calls. Each tools/call creates a new AgentRunBudget instance with these values; the object itself is not shared.

public AgentRunBudget Budget { get; set; }

AgentRunBudget

The default AgentRunBudget.MaxDepth is 1: letting an externally-called agent open its own tree makes the cost unpredictable.

Serves long-running agent calls as MCP tasks instead of holding the connection open. Default false: enabling it is an explicit choice, and today’s synchronous behavior is unchanged.

public bool EnableTasks { get; set; }

bool

Exposes every agent in the catalog. Default false; enabling it is an explicit choice.

public bool ExposeAllAgents { get; set; }

bool

Names of agents to expose. If empty and TraconMcpServerOptions.ExposeAllAgents is off, no agent is visible through MCP.

public IList<string> ExposedAgents { get; }

IList<string>

Poll interval advertised to the client. Default 2 seconds.

public TimeSpan TaskPollInterval { get; set; }

TimeSpan

How long a finished task stays readable. Default 1 hour.

public TimeSpan TaskTimeToLive { get; set; }

TimeSpan

Advisory only: the underlying run row’s lifetime is governed by the retention policy (data retention), not by this value. A task stays readable for as long as its run row does.

MCP tool name prefix. Default tracon; the tool name becomes {ToolNamePrefix}_{agent}.

public string ToolNamePrefix { get; set; }

string