Curiosity
A circular tool-loop diagram with four nodes and arrows, illustrating AI tool selection and workflow.

AI tools

AI tools are C# methods the LLM can call during a chat turn. The workspace discovers them, advertises them to the LLM, and routes calls back.


A minimal tool:

public class GreeterTool
{
    [Tool("Greet the user by name. Use when the user says hello.")]
    public static string Greet(ToolScope scope,
        [Parameter("The person's name", required: true)] string name)
    {
        scope.SetToolCallDisplayName($"Greeted {name}");
        return $"Hello, {name}!";
    }
}
return new GreeterTool();

The ToolScope contract:

Property What it gives you
scope.Graph Full graph and search access
scope.CurrentUser The user who started the chat
scope.ChatAI.GetTextFromNode(uid, limit) Pull indexed text for grounding
scope.AddSnippet(uid, text) Register a citation, returns snippet ID
scope.SetToolCallDisplayName(text) Human-readable label in the chat trace

Tool description quality matters. The LLM picks tools by description alone. Be specific about intent ("Search the support-ticket KB"), the trigger ("use when user describes a symptom"), and what it returns.

AI tools