GroundMemory
Persistent identity and memory across AI tools - mcp-native, local-first, framework-agnostic, production-ready.
Install / Use
claude mcp add huss-mo -- npx -y github:huss-mo/GroundMemoryIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of GroundMemory
GroundMemory scores 80/100 on our quality scale, 481st of 690 AI & Machine Learning skills we index.
Its MCP Server is 15 KB long, well organised into 29 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so GroundMemory is actively maintained.
- Our last check on 2026-09-12 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-25. Automated pattern scan on 2026-09-25. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
GroundMemory compared with similar skills
All 4 of these similar skills score higher than GroundMemory; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| GroundMemory (this skill)by huss-mo | 80 | 3 | 1d ago | MCP Server |
| claude-memby thedotmack | 100 | 94.7k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 85.5k | 10d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.2k | 14d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.8k | today | CLAUDE.md |
Frequently asked questions
- How do I install GroundMemory?
- Run
claude mcp add huss-mo -- npx -y github:huss-mo/GroundMemory. The install tabs above show the steps for each supported agent. - Which AI agents does GroundMemory work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is GroundMemory safe to use?
- Our scan of the first 100 KB of the file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is GroundMemory still maintained?
- The repository was last updated yesterday, so GroundMemory is actively maintained.
Skill content
View source on GitHubGroundMemory
Persistent identity and memory across AI tools - mcp-native, local-first, framework-agnostic, production-ready.
Quick Start
Option 1 - Docker (Recommended)
git clone https://github.com/huss-mo/GroundMemory && cd GroundMemory
docker compose up -d
# -> listening on http://127.0.0.1:4242/mcp
Option 2 - pip
pip install groundmemory && groundmemory-mcp
# -> listening on http://127.0.0.1:4242/mcp
Connect your client to the MCP server
{
"mcpServers": {
"GroundMemory": {
"url": "http://127.0.0.1:4242/mcp"
}
}
}
You can enable network access and replace 127.0.0.1 with your server's LAN IP - see DOCS.md - Network Access. </br>
You can also use the MCP server over the stdio transport - see DOCS.md - Client Configuration.
Your agent now has structured, searchable memory that persists across every session - long-term facts, a user profile, agent instructions, an entity graph, and daily logs - all managed automatically. No changes to your agent's code required.
This config works with any MCP-compatible client, including AI coding assistants (Cursor, Cline, Windsurf, Claude Code, Codex CLI), AI desktop clients (Claude Desktop, Open WebUI), and agent frameworks and platforms (LangChain, CrewAI, AutoGen, Google ADK, LiteLLM, n8n).
For installation options, embedding providers, multiple workspaces, and the Python API, see DOCS.md.
What Becomes Possible
Without memory, every session in every AI tool starts from zero. With GroundMemory, agents can maintain continuity across time, accumulate knowledge, and behave like they actually know the person they're working with. It makes conversations stateful, fluid, and natural.
The exchange below is an example of what this looks like. The first session happens in Open WebUI. The second session happens in Cline (VS Code) - a completely different tool, with no shared history other than the GroundMemory workspace both are connected to.
Session 1 - Open WebUI (first ever session)
User
Hello
Agent
Hey! Welcome - this is the start of something good. I have persistent memory, so anything we talk about I'll carry with me into every future session. No need to repeat yourself down the line.
A couple of quick things to get us started:
- What should I call you?
- Anything you always want me to keep in mind - how you like to work, things to avoid, preferences?
No rush. Just getting to know you.
User
I'm Alice, a backend engineer working on a SaaS product. We're building a task management API - Node.js, PostgreSQL, Redis for caching, and we're planning to use BullMQ for job queues.
Agent
Got it, Alice. Backend engineer, task management API - Node.js, PostgreSQL, Redis, BullMQ for queues. I'll keep that as the baseline for everything we work on together.
Anything else before we dive in? Or are you ready to get into it?
The agent writes what it learned to memory.
Session 2 - Cline in VS Code (different tool, same GroundMemory workspace)
User
Hey. What tech stack did we agree to use for the task management API?
Agent
You're building a task management API with Node.js, PostgreSQL, Redis for caching, and BullMQ for job queues. That's what we landed on.
No introduction. No setup. The agent already knows.
A single identity across every AI tool you use. Your memory workspace is not bound to one assistant. Connect Claude Desktop, Cursor, Cline, and any other MCP-compatible tool to the same GroundMemory server and they all share the same memory - your preferences, your stack, your ongoing work. You stop being a stranger every time you open a different tool. There is something genuinely different about being known rather than just answered - it shifts the relationship from transactional to collaborative, and removes the quiet tax of re-establishing context that most people don't notice until it's gone.
A coding/personal assistant that builds a profile over time. After a few conversations, it knows your schedule, your priorities, how you like to communicate, your tech stack, your preferred patterns, the architectural decisions you've already made. It doesn't need to ask.
A research agent that constructs a knowledge graph. As it reads papers and sources across many sessions, it records entities, relationships, and findings.
A customer-facing agent with per-user memory. In multi-user setups, each user gets their own workspace - preferences, history, ongoing context - giving every interaction a personalised, stateful feel without any custom infrastructure.
A long-running autonomous agent that survives context limits. Each new session calls memory_bootstrap to reload persisted facts, so the agent picks up exactly where the last one left off.
Automatic backup and restore when memory grows large. When the memory context exceeds a configurable token threshold, GroundMemory automatically backs up the workspace to a timestamped zip archive before asking the agent to compact it. You can also trigger a backup manually at any time with groundmemory --backup. If something goes wrong, a single command restores the previous state: groundmemory --restore -1.
What GroundMemory Does
Most agents are stateless. They ask the same questions again, repeat the same mistakes, and lose track of the user's preferences and ongoing work. This is not a model limitation - it is missing infrastructure.
GroundMemory provides that infrastructure. It gives your agent a structured, searchable memory that persists across sessions, organised into distinct tiers with clear ownership:
| File | Purpose |
|---|---|
| MEMORY.md | Curated long-term facts - preferences, decisions, persistent knowledge. Written by the agent using memory_write(tier="long_term"). Survives forever. |
| USER.md | Stable user profile - name, role, working style. Edited manually or by the agent. Injected at every session start. |
| AGENTS.md | Agent operating instructions - how this agent should behave, what tools to use and when. Seeded with sensible defaults. |
| RELATIONS.md | Entity relationship graph - typed triples (Alice → works_at → Acme Corp). Written by memory_relate, human-readable mirror of the SQLite graph. |
| daily/YYYY-MM-DD.md | Append-only daily logs - task progress, running notes, session context. Written by memory_write(tier="daily"). |
At session start, all of these files are assembled into a compact system prompt block your agent receives as context - called bootstrap injection. At search time, all tiers are queried together or individually.
Additional capabilities:
- Hybrid search - BM25 keyword scoring and vector cosine similarity are combined and re-ranked in a single query, so recall is accurate even when the wording differs from what was stored.
- Zero-setup mode - with
provider: none, GroundMemory runs entirely on SQLite with FTS5. No API key, no GPU, no extra dependencies. - Pluggable embedding providers - swap between a local sentence-transformers model, any OpenAI-compatible endpoint (OpenAI, Ollama, LM Studio, LiteLLM), or BM25-only without touching your agent code.
- Workspace isolation - each project, user, or agent gets its own directory-backed workspace with independent memory, relations, and daily logs.
- Relation graph with semantic deduplication - the graph automatically suppresses near-duplicate triples using configurable cosine similarity thresholding.
How GroundMemory Compares
Comparison reflects publicly documented features as of MAR-2026. Submit a PR if anything is inaccurate.
| Feature | GroundMemory | Mem0 | Letta | memsearch | Zep | |---|:---:|:---:|:---:|:---:|:---:| | Zero-setup (no API key, no GPU) | ✅ | - | - | - | - | | Local-first / offline | ✅ | - | - | Partial¹ | - | | Human-readable Markdown memory | ✅ | - | - | ✅ | - | | Structured memory tiers | ✅ | ✅² | ✅³ | - | - | | Hybrid BM25 + vector search | ✅ | - | - | ✅ | ✅ | | Entity relation graph | ✅ | ✅ | - | - | ✅ | | MCP-native server | ✅ | Partial⁴ | Partial⁵ | - | - | | Temporal knowledge graph | -⁶ | - | - | - | ✅ | | Full agent framework | - | - | ✅ | - | - | | Managed cloud service | - | ✅ | ✅ | - | ✅ |
¹ memsearch supports local ONNX embeddings + Milvus Lite, but requires initial model download </br> ² Mem0 organizes memory into Conversation, Session, User, and Organizational layers </br> ³ Letta uses Core Memory blocks (in-context) + Archival Memory (vector DB) + Conversation Search </br> ⁴ Mem0 offers an MCP integration but the primary interface is the Python/Node SDK </br> ⁵ Letta agents can consume external MCP servers as tools; Letta itself is not an MCP server </br> ⁶ GroundMemory timestamps all relations but does not support date-range queries.
Tools
In normal mode, GroundMemory exposes four tools: memory_bootstrap, memory_read, memory_write, and memory_relate. An optional memory_list tool can be enabled via config. In dispatcher mode, all actions are routed through a single memory_tool call - useful for clients that perform better with fewer tools in scope.
When using the MCP server, instruct your agent to call memory_bootstrap at the start of every session before doing anything else, if you find out that it doesn't do that by default. This loads the full memory context (MEMORY.md, USER.md, AGENTS.md, RELATIONS.md, daily logs) into the conversation. Clients that support the MCP Prompts primitive (Cline, Claude Desktop) can instead use the memory_bootstrap_prompt prompt from their Prompts panel.
When using the Python API, call session.bootstrap() and pass the result as your system prompt - no tool call is needed.
For the full tools reference including parameters, tiers, and source filters, see DOCS.md - Tools Reference.
Architecture
┌─────────────────────────────────────────────────────┐
│ AI Agent / LLM │
│ (OpenAI, Anthropic, or any framework) │
└────────────────────┬────────────────────────────────┘
│ tool calls + bootstrap prompt
▼
┌─────────────────────────────────────────────────────┐
│ MemorySession │
│ workspace · index · provider · config │
└───────┬──────────────┬──────────────────────────────┘
│ │
▼ ▼
┌───────────┐ ┌───────────────────────────────────┐
│ Workspace │ │ MemoryIndex │
│ │ │ SQLite + FTS5 (BM25 keyword) │
│ MEMORY.md │ │ + optional vector store │
│ USER.md │ │ hybrid re-ranking + MMR │
│ AGENTS.md │ └──────────────┬────────────────────┘
│ RELATI
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
94.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
85.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
84.2kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
73.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
