def mcp(self):
        """
        Decorator to register a class as an MCP tool.
        Usage:
        @client.mcp()
        class ToolName:
            command = "command-name"
            args = ["arg1", "arg2"]
            env = {"key": "value"}
        """
        def decorator(cls):
            command = getattr(cls, "command", None)
            args = getattr(cls, "args", [])
            env = getattr(cls, "env", {})

            name = cls.__name__
            
            if not command:
                raise ValueError("MCP tool class must have a 'command' attribute")
                
            self.add_mcp_tool(name, command, args, env)
            return cls
        return decorator

        Decorator to register a class as an MCP tool.
        Usage:
        @client.mcp()
        class ToolName:
            command = "command-name"
            args = ["arg1", "arg2"]
            env = {"key": "value"}
        
src/upsonic/client/tools/tools.py