# udjin-labs/mnemostack [Health: Active]

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/udjin-labs/mnemostack  
**GitHub Stars:** 7  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/udjin-labs-mnemostack

## Description
Durable hybrid memory for AI agents. Combines vector search, BM25, temporal retrieval, and optional Memgraph knowledge graph via reciprocal rank fusion. 6 MCP tools: health, search, answer, feedback, graphquery, graphaddtriple. Self-hosted with Qdrant backend. 82.5% strict accuracy on LoCoMo benchmark. pip install 'mnemostack[mcp]'

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mnemostack": {
    "command": "uvx",
    "args": ["mnemostack"],
    "env": {
      "GEMINI_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `GEMINI_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What udjin-labs/mnemostack MCP server does

The udjin-labs/mnemostack MCP server exposes a persistent retrieval layer for agents and applications. It stores and searches information in a Qdrant collection, with optional Memgraph integration for graph-backed facts. The system is intended for long-running agents whose useful context may disappear during compaction or between sessions, but it also supports document search, RAG over mixed corpora, multi-tenant knowledge stores, and time-aware retrieval.

Its retrieval model combines several signals rather than relying on embeddings alone. Vector search handles semantic similarity, BM25 supports keyword matches, temporal retrieval accounts for time, and Memgraph can provide graph recall when configured. Reciprocal rank fusion combines the result lists. Payload filters can scope retrieval by user, tenant, or project, helping separate records within a shared collection.

## How it works

The MCP server uses the same engine available through the Python library and HTTP service. An agent sends a query through an MCP tool, and the configured retrievers run in parallel. The resulting lists are fused and passed through an eight-stage ranking pipeline. The pipeline can account for query classification, exact-token matches, freshness, graph relationships, and other ranking signals described by the project.

The main recall output contains ordered results with source, score, and provenance. Result order should be treated as authoritative: the documented score is not a universal similarity or confidence value and should not be used to reorder results. An optional language-model answer path can synthesize responses with confidence information and citations. Feedback can be sent back to the system, while graph tools can query or add triples when Memgraph is enabled.

## Setup and configuration

Install the MCP extra with `pip install 'mnemostack[mcp]'`. A local Qdrant instance is required for the vector store; the README shows running Qdrant on port 6333 with Docker. Memgraph is optional and can be run on port 7687 for graph-backed memory.

Start the server with `mnemostack mcp-serve`, supplying a provider and collection, for example `--provider gemini --collection my-memory`. The documented Gemini setup uses `GEMINI_API_KEY`. Client configuration passes the same server command and its arguments to the MCP client. Claude Desktop and Cursor are named as supported MCP-capable clients in the project documentation.

After startup, use the indexing command to load notes, documents, transcripts, or project context into a collection. The command-line `search` and `answer` operations can test retrieval against that collection before connecting an agent.

## Tools and capabilities

The udjin-labs/mnemostack MCP server lists six MCP tools:

- `health` for service health checks.
- `search` for retrieving relevant memory.
- `answer` for answer generation over retrieved content.
- `feedback` for sending retrieval feedback.
- `graphquery` for graph queries.
- `graphaddtriple` for adding graph triples.

The broader package also provides an HTTP API and Python library over the same collection, but those interfaces are separate from MCP. The HTTP service includes endpoints for recall, answers, feedback, memory lifecycle operations, triples, health, metrics, and documentation.

## Limitations and notes

Qdrant is part of the required self-hosted storage setup, and graph functionality depends on the optional Memgraph service. Answer synthesis requires a configured language-model provider; the documented quickstart uses Gemini and its API key. The project is actively developed, although the README states that its public API is stable and that breaking changes are uncommon. Non-interactive collection recreation requires the `--yes` option because the default flow asks for confirmation.

_Full upstream README: https://allmcps.com/mcp/udjin-labs-mnemostack/readme_

