//using ModelContextProtocol;
//using ModelContextProtocol.Protocol;
//using System.ComponentModel;

///// <summary>
///// 用户信息工具 - 提供会话用户信息
///// </summary>
//[McpServerToolType]
//public sealed class UserInfoTool
//{
//    [McpServerTool, Description("获取当前 MCP 会话的用户信息")]
//    public static string GetUserInfo()
//    {
//        return $"用户信息:\n" +
//               $"- 用户 ID: {Guid.NewGuid().ToString("N")[..8]} (模拟)\n" +
//               $"- 用户名: User{new Random().Next(1, 1000)}\n" +
//               $"- 角色: User, Guest\n" +
//               $"- 最后登录: {DateTime.Now.AddMinutes(-new Random().Next(1, 60)):HH:mm:ss}\n" +
//               $"- 账户状态: 激活";
//    }
//}

///// <summary>
///// 时钟相关工具 - 提供时间和日期操作
///// </summary>
//[McpServerToolType]
//public sealed class ClockTool
//{
//    [McpServerTool, Description("获取当前服务器时间")]
//    public static string GetTime()
//    {
//        return $"当前服务器时间: {DateTime.Now:yyyy-MM-dd HH:mm:ss}";
//    }

//    [McpServerTool, Description("获取指定格式的当前日期")]
//    public static string GetDate(
//        [Description("日期格式 (如 'yyyy-MM-dd', 'MM/dd/yyyy')")] 
//        string format = "yyyy-MM-dd")
//    {
//        try
//        {
//            return $"当前日期: {DateTime.Now.ToString(format)}";
//        }
//        catch (FormatException)
//        {
//            return $"无效的格式 '{format}'，使用默认格式: {DateTime.Now:yyyy-MM-dd}";
//        }
//    }

//    [McpServerTool, Description("转换时区")]
//    public static string ConvertTimeZone(
//        [Description("源时区 (如 'UTC', 'EST')")] string fromTimeZone = "UTC",
//        [Description("目标时区 (如 'PST', 'GMT')")] string toTimeZone = "PST")
//    {
//        var now = DateTime.Now;
//        return $"时区转换 {fromTimeZone} → {toTimeZone}: {now:HH:mm:ss} (演示)";
//    }
//}


///// <summary>
///// 计算器工具 - 提供数学计算功能
///// </summary>
//[McpServerToolType]
//public sealed class CalculatorTool
//{
//    [McpServerTool, Description("执行基本算术运算（加、减、乘、除）")]
//    public static string Calculate(
//        [Description("数学表达式 (如 '5 + 3', '10 - 2', '4 * 6', '15 / 3')")] 
//        string expression)
//    {
//        try
//        {
//            expression = expression.Trim();
            
//            if (expression.Contains("+"))
//            {
//                var parts = expression.Split('+');
//                if (parts.Length == 2 && 
//                    double.TryParse(parts[0].Trim(), out var a) && 
//                    double.TryParse(parts[1].Trim(), out var b))
//                {
//                    return $"{expression} = {a + b}";
//                }
//            }
//            else if (expression.Contains("-"))
//            {
//                var parts = expression.Split('-');
//                if (parts.Length == 2 && 
//                    double.TryParse(parts[0].Trim(), out var a) && 
//                    double.TryParse(parts[1].Trim(), out var b))
//                {
//                    return $"{expression} = {a - b}";
//                }
//            }
//            else if (expression.Contains("*"))
//            {
//                var parts = expression.Split('*');
//                if (parts.Length == 2 && 
//                    double.TryParse(parts[0].Trim(), out var a) && 
//                    double.TryParse(parts[1].Trim(), out var b))
//                {
//                    return $"{expression} = {a * b}";
//                }
//            }
//            else if (expression.Contains("/"))
//            {
//                var parts = expression.Split('/');
//                if (parts.Length == 2 && 
//                    double.TryParse(parts[0].Trim(), out var a) && 
//                    double.TryParse(parts[1].Trim(), out var b))
//                {
//                    if (b == 0)
//                        return "错误: 除数不能为零";
//                    return $"{expression} = {a / b}";
//                }
//            }
            
//            return $"无法计算表达式: {expression}。支持的运算: +, -, *, /";
//        }
//        catch (Exception ex)
//        {
//            return $"计算 '{expression}' 时出错: {ex.Message}";
//        }
//    }

//    [McpServerTool, Description("计算百分比")]
//    public static string CalculatePercentage(
//        [Description("基数")] double number,
//        [Description("百分比值")] double percentage)
//    {
//        var result = (number * percentage) / 100;
//        return $"{number} 的 {percentage}% = {result}";
//    }

//    [McpServerTool, Description("计算平方根")]
//    public static string SquareRoot(
//        [Description("要计算平方根的数字")] double number)
//    {
//        if (number < 0)
//            return "错误: 无法计算负数的平方根";
        
//        var result = Math.Sqrt(number);
//        return $"√{number} = {result}";
//    }
//}