[
  {
    "name": "users_list",
    "description": "List users with optional pagination and search. Requires ADMIN or MANAGER role.",
    "parameters": {
      "type": "object",
      "properties": {
        "page": {"type": "string", "description": "Page number for pagination"},
        "limit": {"type": "string", "description": "Items per page"},
        "search": {"type": "string", "description": "Search in name or email"},
        "sortBy": {"type": "string", "description": "Sort field"},
        "sortOrder": {"type": "string", "enum": ["asc", "desc"], "description": "Sort order"}
      },
      "required": []
    }
  },
  {
    "name": "users_get",
    "description": "Get a single user by ID. Requires authentication.",
    "parameters": {
      "type": "object",
      "properties": {
        "id": {"type": "string", "description": "User UUID"}
      },
      "required": ["id"]
    }
  },
  {
    "name": "users_update",
    "description": "Update user email, name, or role. Requires authentication.",
    "parameters": {
      "type": "object",
      "properties": {
        "id": {"type": "string", "description": "User UUID"},
        "email": {"type": "string", "description": "New email"},
        "name": {"type": "string", "description": "New name"},
        "role": {"type": "string", "enum": ["USER", "MANAGER", "ADMIN"], "description": "New role"}
      },
      "required": ["id"]
    }
  },
  {
    "name": "users_delete",
    "description": "Delete a user by ID. Requires ADMIN role.",
    "parameters": {
      "type": "object",
      "properties": {
        "id": {"type": "string", "description": "User UUID"}
      },
      "required": ["id"]
    }
  }
]
