SMRITI Memory logo

SMRITI Memory

Persistent semantic-graph memory for agents, with recall, consolidation, private rooms, working context, and Obsidian export.

Install SMRITI Memory

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "smriti-memory": {
      "command": "uvx",
      "args": [
        "smriti-memcore"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

SMRITI Memory is an MCP server that gives AI agents persistent long-term memory through an append-only episode buffer, semantic graph, and working-memory slots. It separates fast ingestion from background consolidation, which can resolve conflicts, extract relationships, and decay weaker memories. MCP tools cover encoding, retrieval, context injection, confidence checks, privacy controls, statistics, visualization, and Obsidian export. Reach for it when an agent needs memory across sessions or multiple local coding assistants need a shared memory layer.

Use cases

  • Share durable memory across coding agents
  • Recall related facts from a semantic graph
  • Inject active working memories into prompts
  • Separate personal data into private rooms
  • Export an agent memory graph to Obsidian

Key features

  • Semantic and graph-based memory retrieval
  • Asynchronous memory consolidation
  • Capacity-limited working memory
  • Private rooms and private memory flags
  • D3.js memory graph browser
  • Obsidian Markdown export

Tools12

What SMRITI Memory lets your agent do. Expand a tool for its parameters.

Self-reported~257 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

8/8 checks healthy over the last 47d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · smriti-memcore (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars3Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.
Tools exposed12Callable tools this server registers over MCP.

How SMRITI Memory works

What SMRITI Memory does

SMRITI Memory provides long-term memory for AI agents through MCP. New interactions enter an append-only episode buffer, while a semantic retrieval layer connects memories by meaning and graph relationships. Retrieved information can be placed into a capacity-limited working-memory context, giving an agent a focused set of active items rather than requiring it to pass entire histories back into every prompt.

The memory model also includes meta-memory and privacy boundaries. Agents can check how well they know a topic, identify knowledge gaps, mark selected memories as permanent, and place data in private rooms or mark individual memories as private. Archived memories retain a cryptographic tombstone rather than disappearing without a trace.

How it works

SMRITI uses two processing paths. The immediate path accepts raw interactions into the episode buffer without waiting for analysis. A separate consolidation process can later organize those entries into a Semantic Palace graph, identify relationships and skills, resolve contradictions, reflect on stored knowledge, and apply forgetting or spaced-repetition behavior.

Retrieval combines semantic and graph-based access. Working memory is described as holding seven plus or minus two slots, and smriti_get_context exposes the currently active slots for insertion into an agent context. smriti_consolidate starts a background System 2 consolidation run when an agent or operator wants to trigger one.

Setup and configuration

Install the Python package and CLI with:

Terminal
pip install smriti-memcore

The package requires Python 3.9 or newer. Ollama can be run locally for private, local LLM inference; the documented example uses the Mistral model. The CLI also supports packaging folders or declarative YAML/JSON specifications into .smritibundle archives and importing those bundles with smriti pull, though those workflows are separate from the MCP tools.

Tools and capabilities

The MCP interface exposes:

  • smriti_encode to ingest a memory, with a private=True option for excluding it from team synchronization.
  • smriti_recall to search memories through semantic and graph-based retrieval.
  • smriti_get_context to retrieve active working-memory slots for prompt context.
  • smriti_how_well_do_i_know and smriti_knowledge_gaps for confidence and missing-information checks.
  • smriti_pin to protect a memory from strength decay, and smriti_forget to archive it with a cryptographic tombstone.
  • smriti_consolidate to trigger background consolidation.
  • smriti_stats to return memory, room, and private-memory counts.
  • smriti_create_private_room to create a visibility-isolated room.
  • smriti_open_ui to launch a D3.js visual memory-graph interface in the default browser.
  • smriti_sync_obsidian to export Semantic Palace graph structures as Markdown files in an Obsidian vault.

Limitations and notes

Consolidation is asynchronous, so newly ingested information may not immediately have its final graph relationships or conflict resolution applied. Memory visibility depends on the selected private room or privacy flag. The system also applies strength decay unless a memory is pinned. Local Ollama inference is available as an option for privacy-focused deployments, but the MCP tool set itself does not require that workflow to be described as a client configuration.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about SMRITI Memory

SMRITI Memory is an MCP server that connects AI agents to persistent long-term memory built from an episode buffer and semantic graph. Its main tools encode and recall memories, inject working context, consolidate knowledge, manage private rooms, inspect confidence and gaps, pin or archive memories, show statistics, open a graph UI, and export to Obsidian.

Install SMRITI Memory with `pip install smriti-memcore`. The package includes the core memory engine and CLI, and requires Python 3.9 or newer. Ollama may also be run locally when private local LLM inference is desired.

Yes, SMRITI Memory supports Cursor through its MCP integration. Its developer-memory workflow can configure Cursor alongside Claude Code, Windsurf, Gemini, and Zed, allowing coding memories to be shared across those tools.

SMRITI Memory supports both private memories and private rooms. Pass `private=True` to `smriti_encode` to exclude a memory from team syncs, or create a private room with `smriti_create_private_room`; memories in that room are visibility-isolated.

Yes, `smriti_sync_obsidian` exports Semantic Palace graph structures as Markdown files in an Obsidian vault. This lets a human curate the agent's memory graph using Obsidian-compatible files.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSMRITI Memory AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/smriti-memory?style=directory)](https://allmcps.com/mcp/smriti-memory)
HTML Embed
<a href="https://allmcps.com/mcp/smriti-memory"><img src="https://allmcps.com/api/badge/smriti-memory?style=directory" alt="SMRITI Memory on AllMCPs" /></a>