/** * Represents the metadata for an MCP (Multi-Channel Platform) agent. * * This interface is used to define the basic information needed to identify and interact with an MCP agent. * * @property id - A unique identifier for the agent. * @property name - The human-readable name of the agent. * @property url - The endpoint or base URL used to communicate with the agent. * @property workflowId - The ID of the workflow that the agent belongs to. * @property headers - Optional headers that may be required for requests to the agent's endpoint. * @property isRegistered - If the MCP is registered in any agent. */ export interface IAgentMcp { id: string; name: string; url: string; workflowId: string; headers?: Record; isRegistered?: boolean; } /** * Represents a tool available from an MCP server. * * @property name - The unique name of the tool. * @property title - The human-readable title of the tool. * @property description - A human-readable description of what the tool does. * @property inputSchema - JSON Schema describing the tool's input parameters. * @property annotations - Additional annotations for the tool. */ export interface IAgentMcpTool { name: string; title?: string; description?: string | null; inputSchema?: Record; annotations?: Record; } /** * Represents the response from listing tools from an MCP server. * * @property success - Whether the request was successful. * @property tools - The list of tools available from the MCP server. * @property error - Error message if the request failed. */ export interface IAgentMcpToolListResult { success: boolean; tools?: IAgentMcpTool[]; error?: string; }