Table of Contents

Class ToolExecution

Namespace
ModelContextProtocol.Protocol
Assembly
ModelContextProtocol.Core.dll

Represents execution-related metadata for a tool.

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

Remarks

This type provides hints about how a tool should be executed, particularly regarding task augmentation support.

Properties

TaskSupport

Gets or sets the level of task augmentation support for this tool.

[JsonPropertyName("taskSupport")]
public ToolTaskSupport? TaskSupport { get; set; }

Property Value

ToolTaskSupport?

Remarks

This property declares whether a tool supports task-augmented execution:

  • Forbidden: Clients must not attempt to invoke the tool as a task. This is the default behavior.
  • Optional: Clients may invoke the tool as a task or as a normal request.
  • Required: Clients must invoke the tool as a task.

This is a fine-grained layer in addition to server capabilities. Even if a server's capabilities include tasks.requests.tools.call, this property controls whether each specific tool supports tasks.