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

コメント

「メモリとナレッジ」の他のコンテンツ