| name | stats |
| description | Displays memory usage statistics for the current session and project including counts by category, age distribution, and API latency. Use when checking how many memories exist, reviewing session activity, or auditing memory distribution across categories. |
Mem0 Stats
Show session and lifetime memory statistics.
Execution
Step 1: Gather session stats
Run the session stats reporter:
SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-}}}/scripts"
python3 "$SCRIPT_DIR/session_stats.py" peek 2>/dev/null || echo "{}"
The peek command returns JSON without clearing the stats file (unlike report).
If the script returns empty or errors, note "No session data available" and continue.
Step 2: Fetch lifetime and session stats from API
Lifetime stats:
Call get_memories to fetch all memories for this project:
filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}, page_size=100
Group by:
categories[0] (platform-assigned) — primary grouping
metadata.type (agent-assigned) — secondary if no categories
created_at date — for age analysis
Category normalization: Merge auto_capture and uncategorized into a single uncategorized row. These are memories where the platform didn't assign a meaningful content category. Do NOT show auto_capture as its own row in the table.
Session stats (local only):
Session stats come from the local stats file read in Step 1. Do NOT query the API with
run_id or metadata.session_id filters — these return unreliable results because
memories are stored without run_id and metadata filters on session_id are inconsistent.
The local stats file tracks adds and searches for the current session accurately.
Also run a search_memories MCP tool call with query="project", filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}, top_k=1 to measure round-trip latency. Note the time before and after the MCP call — do NOT attempt raw HTTP calls to the API.
Step 3: Display
Print a minimal dashboard. No ASCII bar charts — use a clean table layout:
## mem0 stats
**Session** (<session_id, first 12 chars>) — 3 written, 5 searches, categories: decision, convention
**Project: my-project** — 55 memories, API: 84ms
| Category | Count |
|----------------------|-------|
| decision | 24 |
| convention | 15 |
| anti_pattern | 6 |
| task_learning | 5 |
| user_preference | 3 |
| session_state | 2 |
**Age** — oldest: 2026-02-15, newest: 2026-05-23
< 7 days: 5 · 7–30d: 12 · 30–90d: 10 · > 90d: 8
**Identity** — user: kartik · project: my-project · branch: main
Display rules:
- Category table: sort by count descending, omit categories with 0 memories
- Age: single line with dot-separated buckets, computed from
created_at
- Session line: skip if no session data available
- If only 1-2 total memories, skip the category table — just show the count
- Keep everything compact — no decorative borders or filler
Weekly digest mode
When invoked with --weekly (e.g., /mem0:stats --weekly), append a weekly
activity digest after the standard stats dashboard:
W1: Fetch recent memories
Call search_memories in parallel with time-scoped queries:
query="decisions made this week", filters={"AND": [{"user_id": "<id>"}, {"app_id": "<pid>"}, {"created_at": {"gte": "<7 days ago YYYY-MM-DD>"}}]}, top_k=20
query="bugs errors fixes", same time filter, top_k=20
query="patterns conventions learnings", same time filter, top_k=20
W2: Analyze
Merge by ID. Group into "New this week" by categories[0] or metadata.type.
Calculate: memories added last 7 days, most active categories, most active day.
W3: Display
Append after the standard stats:
### This week (May 16 – May 23)
+12 memories — most active: Wednesday (5)
| Category | New |
|---------------|-----|
| decision | 5 |
| task_learning | 4 |
| bug_fix | 3 |
**Highlights**
- <2-3 sentence summary of most important decisions/learnings this week>
W4: Write digest file
Write to ~/.mem0/weekly-digest.md (overwrite). Append one-line to
~/.mem0/digest-history.log:
<YYYY-MM-DD> | <project_id> | +<new_count> memories | top: <top_category>
W5: Empty state
If no new memories in 7 days:
No new memories in the past week. Total: <N> memories in <project_id>.