memory_clusters
Identify groups of related memories by similarity to organize and analyze connections within stored data.
Instructions
Detect clusters of related memories.
Args: min_cluster_size: Minimum memories to form a cluster (default: 2) min_score: Minimum similarity score to consider connected (default: 0.3) algorithm: "connected_components" (default) or "louvain" Louvain uses embedding similarity for content-based clustering.
Returns: List of clusters with member IDs, sizes, and common tags
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| min_cluster_size | No | ||
| min_score | No | ||
| algorithm | No | connected_components |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- memora/server.py:1147-1167 (handler)The MCP tool implementation for 'memory_clusters' which uses _detect_clusters.
async def memory_clusters( min_cluster_size: int = 2, min_score: float = 0.3, algorithm: str = "connected_components", ) -> Dict[str, Any]: """Detect clusters of related memories. Args: min_cluster_size: Minimum memories to form a cluster (default: 2) min_score: Minimum similarity score to consider connected (default: 0.3) algorithm: "connected_components" (default) or "louvain" Louvain uses embedding similarity for content-based clustering. Returns: List of clusters with member IDs, sizes, and common tags """ clusters = _detect_clusters(min_cluster_size, min_score, algorithm) return { "count": len(clusters), "clusters": clusters, } - memora/server.py:1089-1090 (helper)The _detect_clusters helper function that wraps the detect_clusters storage call.
def _detect_clusters(conn, min_cluster_size: int, min_score: float, algorithm: str = "connected_components"): return detect_clusters(conn, min_cluster_size, min_score, algorithm)