
Mem0 Health Check
FreeDiagnose mem0 connectivity and functionality issues.
Free · Opens the source repo
What Mem0 Health Check does
The Mem0 Health Check skill is designed to assist developers and designers in diagnosing issues with the mem0 plugin, particularly when memory operations fail or connectivity issues arise. This skill runs a series of diagnostic checks to ensure that the mem0 plugin is functioning correctly and can help pinpoint specific problems that may be affecting its performance. By executing a comprehensive set of checks, users can quickly identify and address issues related to API key validity, identity resolution, server connectivity, memory write capabilities, and session statistics tracking.
When you run the Mem0 Health Check, it performs five primary checks. First, it verifies that an API key is configured and accessible. Next, it resolves the user's identity to ensure that the plugin is correctly identifying the user and project context. The skill then checks the connectivity to the MCP server by executing a health check query. Following that, it tests the ability to write to memory, ensuring that the plugin can successfully add and delete memory entries. Lastly, it checks for the existence and readability of the session statistics file, which is crucial for tracking session performance.
In addition to the basic checks, the skill offers an extended mode that performs a memory quality analysis. This deeper diagnostic includes checks for duplicate memories, stale memories, low-confidence memories, and contradictions within the stored memories. By running the extended mode, users can gain insights into the overall quality of their memory data, identifying potential issues that may require further attention or cleanup. The results of these checks are summarized in an easy-to-read format, allowing users to quickly understand the health of their mem0 setup and take appropriate action if necessary.
When to use it
Use this skill when experiencing issues with memory operations or when searches return empty results.
When not to use it
This skill is not suitable for general plugin usage; it is specifically for diagnosing connectivity and functionality issues.
What you can build with it
Diagnosing API Key Issues
Run the health check to confirm if your API key is set correctly and valid.
Verifying MCP Connectivity
Use the skill to ensure that your connection to the MCP server is stable and responsive.
Assessing Memory Quality
Invoke the extended mode to identify duplicates and stale memories that may clutter your mem0 data.
How to install Mem0 Health Check
View source1. Install with the skills CLI
npx skills add mem0ai/mem0/health --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by mem0aiMem0 Health Check
Run a diagnostic check on the mem0 plugin. Useful for troubleshooting.
Execution
Run ALL checks, then display a single summary. Do not stop on the first failure.
Check 1: API key
_KEY="${MEM0_API_KEY:-${CLAUDE_PLUGIN_OPTION_MEM0_API_KEY:-}}"
[ -n "$_KEY" ] && echo "${_KEY:0:6}..." || echo "NOT_SET"
- If
NOT_SET: FAIL — "No API key configured" - If set: PASS — the command already prints only the first 6 chars
Check 2: Identity resolution
Resolve identity using the plugin's own resolver scripts to match what hooks use:
SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-}}}/scripts"
source "$SCRIPT_DIR/_identity.sh" 2>/dev/null
echo "user_id=${MEM0_RESOLVED_USER_ID:-}"
echo "project_id=${MEM0_PROJECT_ID:-}"
echo "branch=${MEM0_BRANCH:-}"
If CLAUDE_PLUGIN_ROOT is not available, fall back to:
user_id: fromMEM0_USER_IDor$USERproject_id: fromMEM0_PROJECT_IDor check~/.mem0/project_map.jsonfor$PWDbranch: fromgit branch --show-current
PASS if all three are non-empty. WARN if any falls back to defaults.
Check 3: MCP server connectivity
Call search_memories with:
-
query="health check" -
filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]} -
top_k=1 -
If returns successfully (even empty): PASS
-
If errors: FAIL — show the error message
Check 4: Memory write capability
Call add_memory with:
text="Health check probe — safe to delete."user_id=<active_user_id>app_id=<active_project_id>metadata={"type": "health_check", "probe": true}infer=False
The response returns event_id (v3 writes are async). Call get_event_status(event_id=<event_id>) to check processing.
- If status is
SUCCEEDED: PASS — extract the memory ID from the event result, then calldelete_memorywith that ID to clean up. - If status is
PENDINGafter 5 seconds: PASS (write accepted, processing delayed) - If errors: FAIL — show the error.
Check 5: Session stats tracker
Check if the session stats file exists and is readable:
STATS_FILE="/tmp/mem0_session_stats_${USER}.json"
if [ -f "$STATS_FILE" ] && python3 -c "import json; json.load(open('$STATS_FILE'))" 2>/dev/null; then
echo "OK"
else
echo "FAIL"
fi
This file is created by the SessionStart hook and updated by PostToolUse hooks throughout the session. If it doesn't exist, the session hooks may not have fired yet — try sending a message first, then recheck.
Display
## mem0 health
PASS API Key m0-dVe...
PASS Identity user=kartik, project=mem0, branch=main
PASS MCP Connection 142ms
PASS Write/Read write + delete OK
PASS Session Tracker stats file active
All checks passed.
If any check fails, add a ## Troubleshooting section with specific fix steps for each failure.
Extended mode: Memory Quality Analysis
When invoked with --deep (e.g., /mem0:health --deep), run the standard 5 checks above plus a memory quality scan.
Quality Check 1: Duplicates
Call get_memories with filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}, page_size=200. Compare all pairs within the same metadata.type group for high textual overlap (shared nouns/keywords > 60%). Report:
Potential duplicates: <N> pairs
[mem0:<id1>] ≈ [mem0:<id2>] — both about "<shared topic>"
Quality Check 2: Stale memories
Flag memories where:
metadata.typeissession_stateorcompact_summaryAND older than 90 daysmetadata.confidence< 0.3 AND older than 30 days
Stale candidates: <N>
[mem0:<id>] — session_state, 142d old
Quality Check 2b: Low-confidence memories
Flag memories where metadata.confidence < 0.5 (regardless of age). Report separately from stale:
Low-confidence memories: <N>
[mem0:<id>] — confidence=0.3, "<content preview>"
Quality Check 3: Contradictions
Within each metadata.type group, flag pairs that assert opposing facts about the same topic. Use semantic judgment — look for negation patterns, conflicting tool/framework choices, or reversed decisions.
Possible contradictions: <N>
[mem0:<idA>] vs [mem0:<idB>] — conflicting on "<topic>"
Quality Check 4: Orphan memories
Memories with no metadata.type set, or with metadata.type not in the 17 known coding categories. These were likely written without proper tagging.
Untagged/orphan memories: <N>
Quality summary
## Memory Quality
Duplicates: <N> · Stale: <N> · Contradictions: <N> · Orphans: <N>
If all counts are 0: Memory quality: clean.
If any non-zero: append Run /mem0:dream to fix.
To fix issues found by --deep, run /mem0:dream for automated consolidation (merges, prunes, conflict resolution).
Frequently asked questions about Mem0 Health Check
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
