Reaper MCP Server

from typing import Union, Dict, List def remove_empty_strings(data: Union[Dict, List], keep_keys: set = set()) -> Union[Dict, List]: if isinstance(data, dict): filtered = { key: remove_empty_strings(value, keep_keys) if key not in keep_keys else value for key, value in data.items() if ( key in keep_keys or (isinstance(value, (list, dict)) and bool(value)) or (not isinstance(value, (str, list, dict))) or (isinstance(value, str) and value != "") ) } return filtered elif isinstance(data, list): filtered = [ remove_empty_strings(item, keep_keys) for item in data if item != "" and (not isinstance(item, (list, dict)) or bool(item)) ] return filtered else: return data