OmniMem (richarvey/OmniMem) is an MCP server listed on the M8ven Trust Index. It scores 74 out of 100, grade C. It declares 48 tools. No publisher has claimed this listing.
Self-hosted semantic memory for AI Agents. Persistent sessions, experience scoring, and a graveyard for dead ends, backed by knowledge acquired from the RSS you read and stored in a Valkey vector search then exposed as an MCP server.
Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
richarvey
Source: github_repo_search
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
healthServer health: Valkey connection, index counts, model status, uptime.
versionReturn the current OmniMem version.
rememberStore a memory with automatic dedup. Returns duplicate info if near-match exists; use force=True to override.
remember_documentIndex a long-form document by splitting it into chunks and storing each chunk as a memory.
recallSearch memories by semantic similarity. Returns ranked results; abandoned-approach warnings appear first.
recall_indexLightweight recall: returns ranked summaries without full content. Use recall_detail() to fetch full content for selected keys.
recall_detailFetch full content for specific memory keys. Use after recall_index() to expand only the entries you need.
deprioritiseReduce a memory's visibility without deleting. Accepts a key or natural language query.
archiveArchive a memory — excluded from recall but still stored.
reinstateReinstate a deprioritised/archived memory to active state.
retagReplace or adjust the tags on a memory without re-embedding it.
forgetPermanently delete a memory. Requires confirm=True; returns preview otherwise.
suppress_topicSuppress a topic — matching memories filtered from recall.
unsuppress_topicRemove a topic from the suppression list.
list_suppressionsList all suppressed topics.
find_duplicatesScan a namespace for clusters of near-identical memories.
set_project_contextCreate or update a project's context (description, stack, goals, state).
get_project_contextRetrieve full context for a project by name.
list_projectsList all stored project contexts, deduplicated by project name.
update_project_stateUpdate a project's current state and notes without re-embedding.
compile_project_contextGather all stored memories for a project and compile them into a structured context draft. Use this before set_project_context() to auto-produce or refresh a project's context from its episodic memories, experience data, and abandoned approaches.
compile_project_domainsSuggest work-type domains for a project from its stack and its own memories, with the evidence behind each one. Returns a draft by default; pass auto_save=True to store it.
delete_projectBulk delete every memory belonging to a project. Requires confirm=True; returns a preview otherwise.
deprioritise_projectBulk deprioritise every active memory in a project (0.2x recall visibility, reversible). Requires confirm=True; returns a preview otherwise.
reinstate_projectBulk reinstate every deprioritised or archived memory in a project back to active. Requires confirm=True; returns a preview otherwise. The inverse of deprioritise_project().
memory_auditSummary of all memories grouped by state. Useful for cleanup.
why_did_you_mentionExplain why a topic surfaced by searching recall logs.
explain_memoryReturn full metadata for a memory key.
reindexDrop and recreate Valkey search indexes to clear orphaned vector entries.
record_experienceRecord effort, outcome, dead ends, and breakthroughs for a memory. High-effort successes surface more; high-effort failures (>=4, abandoned) auto-suppress the approach names.
log_abandonedAppend a dead-end approach to a memory's abandoned list.
get_experienceReturn experience data for a memory key.
experience_summaryAggregate experience stats: effort, outcomes, graveyard of abandoned approaches, breakthroughs.
warn_if_abandonedCheck if an approach was previously abandoned. Call before suggesting libraries or tools.
check_contradictionsScan for contradictions. Tier 1 (default): fast heuristic. Tier 2 (use_api=True): Claude API verification.
compile_skillCompile domain procedure from experience and graveyard memories into a loadable SKILL.md. 'propose' (default) returns a reviewable diff; 'write' commits only a previously proposed and accepted diff — there is no silent-commit path.
find_skillsDiscover compiled skills: ranked skill IDs and descriptions for a query or domain. Load the winner intact with get_skill().
get_skillLoad a skill whole: the complete SKILL.md body with frontmatter and structure intact, by ID, name, or domain.
blessPromote a single strong lesson to skill-eligible now, bypassing the reinforcement threshold at the next compile_skill().
briefingSession-start briefing: project context, experience summary, stale memories, knowledge, contradictions, reinstate candidates.
recent_knowledgeRecent knowledge articles ingested by the RSS worker.
promote_knowledgeMark a knowledge item as permanently useful, and optionally skill-eligible for a domain.
set_licenceRecord the redistribution rights of one or more memories.
set_provenanceRecord where one or more memories came from.
queue_statusCheck the enrichment queue. Returns the number of pending jobs waiting for background fact extraction.
dump_to_fileExport all memories to a JSON backup file.
restore_from_fileRestore memories from backup. Default dry_run=True previews without writing. Merges with existing data.
list_backupsList available backup files, newest first.
MCP_AUTH_TOKENOAUTH_ENABLEDOAUTH_ADMIN_USEROAUTH_ADMIN_PASSWORDOAUTH_BASE_URLINDEX_DRIFT_CHECKMCP_PORTMCP_HOSTMCP_TRANSPORTMCP_ALLOWED_HOSTSMCP_ALLOWED_ORIGINSWEB_UI_AUTH_TOKENBACKUP_DIRSTALE_MEMORY_DAYSAUTO_MAINTENANCE_INTERVALINGEST_MODEENRICHMENT_BATCH_MODESKILL_MIN_SCORESKILL_SUGGEST_MIN_SIMILARITYSKILL_KNOWLEDGE_WATCH_DAYSSKILL_KNOWLEDGE_WATCH_THRESHOLDCONTRADICTION_SIMILARITY_THRESHOLDANTHROPIC_API_KEYDEDUP_SIMILARITY_THRESHOLDEMBEDDING_BACKENDEMBEDDING_MODELFACT_EXTRACTION_MODELDEPRIORITISED_WEIGHTEMBEDDING_ONNX_FILEEMBEDDING_MODEL_REVISIONPROJECT_DOMAIN_CACHE_TTL_SECONDSRECALL_EXPAND_COUNTQUERY_EXPANSION_MODELMEMORY_RECALL_TOP_KRECALL_EXPAND_QUERIESRECENCY_DECAY_DAYSABANDONED_CACHE_TTL_SECONDSSKILL_PROPOSAL_TTL_SECONDSSKILL_EXPORT_DIRSKILL_SCAN_INTERVAL_HOURSSKILL_SCAN_MAX_PROPOSALSSKILL_SCAN_MIN_POOLSKILL_SCAN_CROSS_PROJECTOMNIMEM_USERSKILL_FEED_MAX_ARTICLESSKILL_CLUSTER_THRESHOLDSKILL_DOMAIN_SUGGEST_THRESHOLDVALKEY_HOSTVALKEY_PORTVALKEY_PASSWORDVALKEY_MAX_CONNECTIONSVALKEY_RAW_MAX_CONNECTIONSOAUTH_REFRESH_MAX_DAYSOAUTH_LOGIN_MAX_ATTEMPTSOAUTH_LOGIN_WINDOW_SECONDSOAUTH_VALKEY_MAX_CONNECTIONSRSS_MAX_PAGE_BYTESRSS_REQUIRE_LICENCERSS_MAX_ARTICLES_PER_FEEDRSS_MAX_DIGEST_ENTRIESMAX_KNOWLEDGE_AGE_DAYSFEEDS_CONFIG_PATHFEEDS_WATCH_INTERVALRSS_SCHEDULE_HOURSWEB_UI_LOGIN_ENABLEDWEB_UI_SESSION_HOURSDASHBOARD_STATS_TTLMETRICS_CACHE_TTLTELEMETRY_COLD_DAYSOMNIMEM_INSTRUCTIONS_CHARSOMNIMEM_TOOL_SCHEMAS_CHARSTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
48/48 tools missing one or more hints — health (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); version (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); remember (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +45 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
No eval / new Function
2 eval() or new Function() calls — dynamic code execution
Replace eval / Function with explicit parsing or safer alternatives.
Readable source code
1 file are minified or bundled, which is usually build output rather than concealment
Ship unminified, readable source.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/richarvey/omnimem)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check