Class McpTask | MCP C# SDK

Namespace
ModelContextProtocol.Protocol
Assembly
ModelContextProtocol.Core.dll

Represents an MCP task, which is a durable state machine carrying information about the underlying execution state of a request.

[Experimental("MCPEXP001", UrlFormat = "https://github.com/modelcontextprotocol/csharp-sdk/blob/main/docs/list-of-diagnostics.md#mcpexp001")]
public sealed class McpTask
Inheritance

McpTask

Inherited Members

Properties

CreatedAt

Gets or sets the ISO 8601 timestamp when the task was created.

[JsonPropertyName("createdAt")]
public required DateTimeOffset CreatedAt { get; set; }

Property Value

DateTimeOffset

LastUpdatedAt

Gets or sets the ISO 8601 timestamp when the task status was last updated.

[JsonPropertyName("lastUpdatedAt")]
public required DateTimeOffset LastUpdatedAt { get; set; }

Property Value

DateTimeOffset

PollInterval

Gets or sets the suggested time between status checks.

[JsonPropertyName("pollInterval")]
[JsonConverter(typeof(TimeSpanMillisecondsConverter))]
public TimeSpan? PollInterval { get; set; }

Property Value

TimeSpan?

Status

Gets or sets the current state of the task execution.

[JsonPropertyName("status")]
public required McpTaskStatus Status { get; set; }

Property Value

McpTaskStatus

StatusMessage

Gets or sets an optional human-readable message describing the current state.

[JsonPropertyName("statusMessage")]
public string? StatusMessage { get; set; }

Property Value

string

TaskId

Gets or sets the unique identifier for the task.

[JsonPropertyName("taskId")]
public required string TaskId { get; set; }

Property Value

string

TimeToLive

Gets or sets the time to live (retention duration) from creation before the task may be deleted.

[JsonPropertyName("ttl")]
[JsonConverter(typeof(TimeSpanMillisecondsConverter))]
public TimeSpan? TimeToLive { get; set; }

Property Value

TimeSpan?