MCP.so
登录

Smriti Mcp

@tejzpr

关于 Smriti Mcp

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

基本信息

分类

记忆与知识

传输方式

stdio

发布者

tejzpr

提交者

Tejus

配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

{
  "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"
      ]
    }
  }
}

工具

未检测到工具

工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。

概览

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

FAQ from Smriti

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).

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.

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.

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.

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).

评论

记忆与知识 分类下的更多 MCP 服务器