3 types derived from HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (3)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (1)
17
public sealed class HostedMcpServerToolAlwaysRequireApprovalMode :
HostedMcpServerToolApprovalMode
HostedMcpServerToolNeverRequireApprovalMode.cs (1)
17
public sealed class HostedMcpServerToolNeverRequireApprovalMode :
HostedMcpServerToolApprovalMode
HostedMcpServerToolRequireSpecificApprovalMode.cs (1)
18
public sealed class HostedMcpServerToolRequireSpecificApprovalMode :
HostedMcpServerToolApprovalMode
41 references to HostedMcpServerToolApprovalMode
Microsoft.Extensions.AI.Abstractions (11)
HostedMcpServerToolAlwaysRequireApprovalMode.cs (2)
13
/// Use <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>.
20
/// <remarks>Use <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to get an instance of <see cref="HostedMcpServerToolAlwaysRequireApprovalMode"/>.</remarks>
HostedMcpServerToolApprovalMode.cs (3)
27
/// Gets a predefined <see cref="
HostedMcpServerToolApprovalMode
"/> indicating that all tool calls to a hosted MCP server always require approval.
32
/// Gets a predefined <see cref="
HostedMcpServerToolApprovalMode
"/> indicating that all tool calls to a hosted MCP server never require approval.
41
/// Instantiates a <see cref="
HostedMcpServerToolApprovalMode
"/> that specifies approval behavior for individual tool names.
HostedMcpServerToolNeverRequireApprovalMode.cs (2)
13
/// Use <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>.
20
/// <remarks>Use <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to get an instance of <see cref="HostedMcpServerToolNeverRequireApprovalMode"/>.</remarks>
Tools\HostedMcpServerTool.cs (4)
70
/// You can set this property to <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to require approval for all tool calls,
71
/// or to <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to never require approval.
74
/// The default value is <see langword="null"/>, which some providers might treat the same as <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/>.
80
public
HostedMcpServerToolApprovalMode
? ApprovalMode { get; set; }
Microsoft.Extensions.AI.Abstractions.Tests (23)
HostedMcpServerToolApprovalModeTests.cs (18)
14
Assert.Same(
HostedMcpServerToolApprovalMode
.AlwaysRequire,
HostedMcpServerToolApprovalMode
.AlwaysRequire);
15
Assert.Same(
HostedMcpServerToolApprovalMode
.NeverRequire,
HostedMcpServerToolApprovalMode
.NeverRequire);
21
string json = JsonSerializer.Serialize(
HostedMcpServerToolApprovalMode
.NeverRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
24
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
25
Assert.Equal(
HostedMcpServerToolApprovalMode
.NeverRequire, result);
31
string json = JsonSerializer.Serialize(
HostedMcpServerToolApprovalMode
.AlwaysRequire, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
34
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
35
Assert.Equal(
HostedMcpServerToolApprovalMode
.AlwaysRequire, result);
41
var requireSpecific =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
45
HostedMcpServerToolApprovalMode
? result = JsonSerializer.Deserialize(json, TestJsonSerializerContext.Default.HostedMcpServerToolApprovalMode);
52
var mode1 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
53
var mode2 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["ToolA", "ToolB"], ["ToolC"]);
77
var mode3 =
HostedMcpServerToolApprovalMode
.RequireSpecific(null, null);
79
var mode4 =
HostedMcpServerToolApprovalMode
.RequireSpecific(["a"], null);
84
var mode5 =
HostedMcpServerToolApprovalMode
.RequireSpecific(null, ["b"]);
91
var mode6 =
HostedMcpServerToolApprovalMode
.RequireSpecific([], []);
TestJsonSerializerContext.cs (1)
38
[JsonSerializable(typeof(
HostedMcpServerToolApprovalMode
))]
Tools\HostedMcpServerToolTests.cs (4)
51
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire;
52
Assert.Same(
HostedMcpServerToolApprovalMode
.NeverRequire, tool.ApprovalMode);
54
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.AlwaysRequire;
55
Assert.Same(
HostedMcpServerToolApprovalMode
.AlwaysRequire, tool.ApprovalMode);
Microsoft.Extensions.AI.OpenAI.Tests (7)
OpenAIResponseClientIntegrationTests.cs (5)
60
Tools = [new HostedMcpServerTool("deepwiki", "https://mcp.deepwiki.com/mcp") { ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire }],
85
HostedMcpServerToolApprovalMode
.RequireSpecific(null, ["read_wiki_structure", "ask_question"]) :
86
HostedMcpServerToolApprovalMode
.NeverRequire,
125
HostedMcpServerToolApprovalMode
.RequireSpecific(["read_wiki_structure", "ask_question"], null) :
126
HostedMcpServerToolApprovalMode
.AlwaysRequire,
OpenAIResponseClientTests.cs (2)
1038
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
1451
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,