from mcp.server.fastmcp import FastMCP

mcp = FastMCP("upper")


@mcp.tool()
def change_case(text: str, mode: str = "upper") -> str:
    """将文本转换为指定的大小写格式。

    Args:
        text: 要转换的文本
        mode: 转换模式，可选值:
              - upper: 全部大写
              - lower: 全部小写
              - capitalize: 首字母大写
              - title: 每个单词首字母大写
              - swapcase: 大小写互换
    """
    mode = mode.lower().strip()

    if mode == "upper":
        return text.upper()
    elif mode == "lower":
        return text.lower()
    elif mode == "capitalize":
        return text.capitalize()
    elif mode == "title":
        return text.title()
    elif mode == "swapcase":
        return text.swapcase()
    else:
        return f"错误: 不支持的模式 '{mode}'。可选: upper, lower, capitalize, title, swapcase"


def main():
    mcp.run()


if __name__ == "__main__":
    main()
