HERCULES is a novel algorithm and Python package that effectively groups complex datasets of various modalities (text, images, and numeric data) through hierarchical k-means clustering and provides semantically rich cluster descriptions generated using a Large Language Model (LLM). Starting from data points, it recursively applies k-means clustering to generate hierarchical cluster structures. It supports two representations: 'direct' mode (based on original data embeddings or scaled numeric features) and 'description' mode (based on embeddings of LLM-generated summaries). Users can provide topic_seed to direct LLM-generated summaries to specific topics and analyze the clustering results through interactive visualization tools.