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)
15
public sealed class HostedMcpServerToolRequireSpecificApprovalMode :
HostedMcpServerToolApprovalMode
46 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)
91
/// You can set this property to <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/> to require approval for all tool calls,
92
/// or to <see cref="
HostedMcpServerToolApprovalMode
.NeverRequire"/> to never require approval.
95
/// The default value is <see langword="null"/>, which some providers might treat the same as <see cref="
HostedMcpServerToolApprovalMode
.AlwaysRequire"/>.
101
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)
59
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire;
60
Assert.Same(
HostedMcpServerToolApprovalMode
.NeverRequire, tool.ApprovalMode);
62
tool.ApprovalMode =
HostedMcpServerToolApprovalMode
.AlwaysRequire;
63
Assert.Same(
HostedMcpServerToolApprovalMode
.AlwaysRequire, tool.ApprovalMode);
Microsoft.Extensions.AI.OpenAI.Tests (12)
OpenAIConversionTests.cs (3)
321
ApprovalMode =
HostedMcpServerToolApprovalMode
.AlwaysRequire
338
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire
355
var approvalMode =
HostedMcpServerToolApprovalMode
.RequireSpecific(alwaysRequireTools, neverRequireTools);
OpenAIResponseClientIntegrationTests.cs (7)
105
Tools = [new HostedMcpServerTool("deepwiki", new Uri("https://mcp.deepwiki.com/mcp")) { ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire }],
130
HostedMcpServerToolApprovalMode
.RequireSpecific(null, ["read_wiki_structure", "ask_question"]) :
131
HostedMcpServerToolApprovalMode
.NeverRequire,
170
HostedMcpServerToolApprovalMode
.RequireSpecific(["read_wiki_structure", "ask_question"], null) :
171
HostedMcpServerToolApprovalMode
.AlwaysRequire,
392
HostedMcpServerToolApprovalMode
.AlwaysRequire :
393
HostedMcpServerToolApprovalMode
.NeverRequire,
OpenAIResponseClientTests.cs (2)
1441
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,
1857
ApprovalMode =
HostedMcpServerToolApprovalMode
.NeverRequire,