Skip to content

AgentPrismToolRegistration

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

A single tool registered with dependency injection. AgentPrism builds the tool registry from these registrations.

public sealed class AgentPrismToolRegistration

objectAgentPrismToolRegistration

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The consumer can also register tools from their own DI modules:

services.AddSingleton(new AgentPrismToolRegistration(myFunction));

AgentPrismToolRegistration(AIFunctionDeclaration, bool, string?, ToolEffect, string?, TimeSpan?)

Section titled “ AgentPrismToolRegistration(AIFunctionDeclaration, bool, string?, ToolEffect, string?, TimeSpan?)”

Creates a new tool registration.

public AgentPrismToolRegistration(AIFunctionDeclaration function, bool requiresApproval = false, string? source = null, ToolEffect effect = ToolEffect.Read, string? requiredPermission = null, TimeSpan? timeout = null)

function AIFunctionDeclaration

The tool to register. An AI.AIFunction runs on the server; an AI.AIFunctionDeclaration that is not an AI.AIFunction (declaration-only, produced by AddClientTool) runs on the caller instead.

requiresApproval bool

Whether explicit approval is required before the call. function must be an AI.AIFunction when this is true — approval defers a server-side call; a client-side tool has no server-side body to approve.

source string?

The tool’s source. null for tools defined in code; the server name for tools coming from a remote MCP server.

effect ToolEffect

The tool’s effect class. Defaults to ToolEffect.Read.

requiredPermission string?

The permission name a caller must hold to call this tool, or null to declare none.

timeout TimeSpan?

The longest duration this tool’s call may run, or null to use the installation default.

ArgumentNullException

function is null.

The tool’s effect class.

public ToolEffect Effect { get; }

ToolEffect

The registered tool.

public AIFunctionDeclaration Function { get; }

AIFunctionDeclaration

The permission name a caller must hold to call this tool, or null when the tool declares none.

public string? RequiredPermission { get; }

string?

Whether explicit approval is required before the call.

public bool RequiresApproval { get; }

bool

The tool’s source. null for tools defined in code.

public string? Source { get; }

string?

The longest duration this tool’s call may run, or null to use the installation default.

public TimeSpan? Timeout { get; }

TimeSpan?