using ColaFlow.Modules.Mcp.Contracts.JsonRpc;

namespace ColaFlow.Modules.Mcp.Application.Handlers;

/// <summary>
/// Interface for MCP protocol handler
/// </summary>
public interface IMcpProtocolHandler
{
    /// <summary>
    /// Handles a JSON-RPC 2.0 request
    /// </summary>
    /// <param name="request">JSON-RPC request</param>
    /// <param name="cancellationToken">Cancellation token</param>
    /// <returns>JSON-RPC response</returns>
    Task<JsonRpcResponse> HandleRequestAsync(JsonRpcRequest request, CancellationToken cancellationToken);
}
