using ColaFlow.Modules.Mcp.Contracts.Tools;
namespace ColaFlow.Modules.Mcp.Application.Services;
///
/// Registry interface for MCP Tools
/// Manages tool discovery and dispatching
///
public interface IMcpToolRegistry
{
///
/// Get all registered tools
///
IEnumerable GetAllTools();
///
/// Get tool by name
///
IMcpTool? GetTool(string toolName);
///
/// Check if tool exists
///
bool HasTool(string toolName);
///
/// Execute a tool by name
///
Task ExecuteToolAsync(
McpToolCall toolCall,
CancellationToken cancellationToken = default);
}