Interface ITool
Contract for a model-callable tool (“function”) that an LM-Kit agent can expose to an LLM.
The model discovers the tool via Name, inspects Description and InputSchema,
and invokes InvokeAsync(string, CancellationToken) with JSON arguments.
public interface IToolProperties
- Description
- Concise, human-readable summary of what the tool does. This text is surfaced to the model and influences tool selection. Prefer an imperative, single sentence (≈ 200 chars or fewer). 
- InputSchema
- JSON Schema (Draft-07 subset) describing the expected input arguments object. Aligned with MCP naming ( - inputSchema). Provide this schema when registering the tool.
- Name
- Stable, unique identifier for the tool (e.g., - get_weather). Used by the LLM to reference this tool; keep it stable across versions.
Methods
- InvokeAsync(string, CancellationToken)
- Executes the tool with the provided JSON argument payload and returns a JSON payload result.