MCP.so
Sign In

Smriti MCP Server

@tejzpr

Basic information

About Smriti MCP Server

Smriti is a Model Context Protocol (MCP) server that provides persistent, graph-based memory for LLM applications. Built on LadybugDB (embedded property graph database), it uses EcphoryRAG-inspired multi-stage retrieval - combining cue extraction, graph traversal, vector similari

#smriti#memory#human

Smriti MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "smriti": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/Users/yourname/.smriti:/home/smriti/.smriti",
        "-e",
        "LLM_API_KEY=your-api-key",
        "-e",
        "EMBEDDING_API_KEY=your-embedding-key",
        "tejzpr/smriti-mcp"
      ]
    }
  }
}

Smriti MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Smriti?

Smriti is a Model Context Protocol (MCP) server that provides persistent, graph-based memory for LLM applications. It is built on LadybugDB (an embedded property graph database) and uses EcphoryRAG-inspired multi-stage retrieval — combining cue extraction, graph traversal, vector similarity, and multi-hop association — to deliver human-like memory recall. The server automatically detects communities of related memories using the Leiden algorithm, enabling cluster-aware retrieval that scales beyond thousands of memories.

How to use Smriti?

Build from source with CGO_ENABLED=1 go build -o smriti-mcp ., set the required environment variables (LLM_API_KEY and optionally ACCESSING_USER), then run the binary. Smriti exposes three MCP tools — smriti_store, smriti_recall, and smriti_manage — and integrates with any MCP client (Cursor, Claude Desktop, Windsurf) via stdio using a native binary, go run, Docker, or a pre-built release binary.

Key features of Smriti

  • Graph-based memory with engrams linked via Cues and Associations
  • EcphoryRAG multi-stage retrieval with composite scoring
  • Leiden algorithm for automatic community detection
  • Multi-user support with separate LadybugDB per user
  • Automatic consolidation with decay, pruning, and re-clustering
  • Flexible backup via GitHub, S3, or local-only

Use cases of Smriti

  • Providing persistent long-term memory for AI coding assistants
  • Storing and retrieving conversation context across sessions for LLM agents
  • Enabling multi-user memory isolation in collaborative AI applications
  • Building knowledge-grounded AI systems that recall related information via associative retrieval

Frequently asked questions

1

What runtime dependencies does Smriti require?

Smriti requires Go 1.25+ for building from source, Git 2.x+ for GitHub backups, GCC/build tools for CGO (LadybugDB), and the liblbug shared library (bundled in Docker and release binaries).

2

Where does Smriti store memory data?

Memory data is stored in a LadybugDB property graph under the root directory specified by `STORAGE_LOCATION` (default: `~/.smriti`). Each user has a separate database, and the data persists on disk.

3

What transport and authentication does Smriti use?

Smriti communicates with MCP clients via stdio. Authentication to LLM and embedding APIs is handled through environment variables (`LLM_API_KEY` and `EMBEDDING_API_KEY`), and the server supports any OpenAI-compatible provider.

4

Does Smriti support multiple users?

Yes. Smriti provides multi-user support by maintaining a separate LadybugDB instance per user, identified by the `ACCESSING_USER` environment variable. This scales to thousands of isolated memory stores.

5

Are there any known performance limits?

Smriti gracefully skips Leiden clustering on small graphs (< 3 nodes or 0 edges). Clustering 60 nodes takes ~40ms on the first run (with auto-tune) and ~14ms with a cached resolution. The server lazily creates HNSW vector and FTS indexes when the engram count exceeds a configurable threshold (default: 50).

Comments

More Memory & Knowledge MCP servers