Class ScheduleWebMcpTool
Metadata-only customization entry for a Schedule WebMCP tool. No execution handler is bound here; all execution is centralized on OnWebMcpExecute.
Inheritance
Inherited Members
Namespace: Syncfusion.Blazor.Schedule
Assembly: Syncfusion.Blazor.Schedule.dll
Syntax
public class ScheduleWebMcpTool : SfDataBoundComponent, IComponent, IHandleEvent, IHandleAfterRender, IDisposable
Constructors
ScheduleWebMcpTool()
Declaration
public ScheduleWebMcpTool()
Properties
Command
Built-in operation this tool maps to, or Custom for a developer-defined tool.
Declaration
[Parameter]
public ScheduleWebMcpToolCommand Command { get; set; }
Property Value
| Type |
|---|
| ScheduleWebMcpToolCommand |
Description
Natural-language description shown to the AI agent.
Declaration
[Parameter]
public string Description { get; set; }
Property Value
| Type |
|---|
| string |
Enabled
Whether this tool is registered with the browser's WebMCP runtime.
Declaration
[Parameter]
public bool Enabled { get; set; }
Property Value
| Type |
|---|
| bool |
InputSchema
JSON-Schema for this tool's input, encoded as a JSON string.
Required when Command is Custom; ignored
otherwise. The browser registration path parses the string
into a JavaScript object before calling
document.modelContext.registerTool.
Declaration
[Parameter]
public string InputSchema { get; set; }
Property Value
| Type |
|---|
| string |
Name
Tool identifier registered with the browser. Required when
Command is Custom; optional for built-ins.
Declaration
[Parameter]
public string Name { get; set; }
Property Value
| Type |
|---|
| string |
Methods
BuildRenderTree(RenderTreeBuilder)
Declaration
protected override void BuildRenderTree(RenderTreeBuilder __builder)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderTreeBuilder | __builder |
Overrides
Dispose(bool)
Removes this tool from its cascading ScheduleWebMcpSettings collection on disposal so a removed or replaced tool child no longer contributes to the effective tool catalog. The dirty flag is raised so a subsequent render re-registers without this tool.
Declaration
protected override void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | disposing |
Overrides
OnInitializedAsync()
Validates the configuration, registers with the cascading ScheduleWebMcpSettings, and surfaces Syncfusion.Blazor.Schedule.ISchedule.HasWebMcpToolChanges.
Declaration
protected override Task OnInitializedAsync()
Returns
| Type |
|---|
| Task |
Overrides
Remarks
Invalid configuration no longer throws. The validator logs a
browser-console warning (via console.warn through
JSRuntime) and marks the entry as invalid; the
resolver in
ResolveEffectiveTools(ScheduleWebMcpSettings)
then skips it so the Scheduler keeps rendering and the
other (valid) tools continue to register. The warning is
also enqueued so a prerender-time call (when
JSRuntime is not yet available) is retried on
the next render.
OnParametersSet()
Tracks runtime changes to the Command, Name, Description, InputSchema, and Enabled parameters. When at least one value differs from the last-seen snapshot, the validator re-runs Syncfusion.Blazor.Schedule.ScheduleWebMcpTool.ValidateConfiguration, the dirty flags on ScheduleWebMcpSettings and ISchedule are raised, and a warning is emitted only when the changed configuration is invalid. Ordinary parent re-renders that leave parameters unchanged do not trigger a re-registration or repeat the same warning.
Declaration
protected override void OnParametersSet()