
Qdrant Memory
io.github.cnkangPublished by GitHub account cnkangv0.3.1Updated Nov 5, 2026
Persistent scoped Qdrant memory for agents, through four explicit stdio MCP tools.
The publisher's own server: Memory.fit
Overview
Local stdio MCP server giving agents persistent, operator-scoped memory in Qdrant, with four explicit tools to search, add, update and delete memories.
- What you can do
- Search scoped memories by query and optional category, returning IDs, scores and provenance
- Add a durable memory from text and receive its memory ID
- Replace or delete a memory by exact ID within the operator's scope
- Memory is stored in Qdrant (embedded, self-hosted or Cloud) with embeddings from Ollama or an OpenAI-compatible provider
- Scope is fixed by the operator's profile; migration, export, reset and bulk deletion stay in operator CLI commands
- When to use it
- When you want an assistant to keep durable, portable memory across sessions and multiple agent hosts without a hosted memory service. Suited to local or self-hosted setups where you control the profile directory and storage destination.
- Requirements
- Runs locally as a Python package via uvx or a virtual environment; Python 3.11+ and uv or a venv. Requires a configured profile directory (qdrant-memory.json) with storage and an embedding service, for example a local Ollama model and embedded Qdrant. Optional secrets QDRANT_API_KEY and EMBEDDING_API_KEY for remote Qdrant or cloud embeddings; QDRANT_URL for a remote endpoint. Initialization must be run before a client launches it.
Installation
In SourceWeft
- Open Qdrant Memory in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Qdrant Memory MCP
One Memory. Multiple Agents. No Lock-in.
The Codex plugin candidate adds guided local setup, read-only native-memory import and verified JSON/Markdown handoff. It is versioned independently and does not add a second Runtime. See the executed validation and limits. Exports remain readable without this plugin or a subscription; native adoption is verified separately from file creation.
Durable, portable, and permission-aware memory for AI agents — distributed as an MCP adapter over the Qdrant Memory Runtime.
For shared production deployments, read the deployment security guide. Owner-only database write credentials are required independently of MCP grants. Configure destination protection and shared doctor before deployment. See the Owner support record for support limits.
One Memory, Multiple Agents — opt-in shared owner
The distribution adds an opt-in single-owner service and stdio bridge. Install Runtime 0.6.0 to use them. See shared integration guide. Private defaults are unchanged. Native Provider automatic shared extraction is deferred.
A WorkBuddy connector and a DeepSeek Harness bundle reuse this stdio MCP, the managed launcher and the canonical Skill.
Persistent, scoped memory for AI agents through four explicit stdio MCP tools.
This repository distributes the existing Python Runtime.
Its metadata-only wheel contains no Python business implementation. The console
script points directly to qdrant_memory.standalone:main and depends on
hermes-plugin-qdrant-memory[mcp]==0.6.0.
See 0.3.1 release notes for the Runtime pin and upgrade guidance.
Before using an exact-version installation command, confirm that version on the PyPI release page. If unavailable, these package commands cannot run yet. Use the published 0.3.0 guide until publication; a source candidate does not establish PyPI or npm availability.
Versions: MCP distribution 0.3.1 pins Runtime 0.6.0, which supports MCP
Python SDK 1.x and 2.x (mcp>=1.30,<3). The four scoped tools and stdio
launch arguments are the same for both SDK majors. The commands below use
these exact versions. Release
artifacts are available through the distribution PyPI page
and Runtime PyPI page.
See release checklist for the publishing sequence.
Runtime, optional Agent Skill and MCP distribution versions are independent. The Skill is usage guidance, not a runtime dependency. Hermes retains its native MemoryProvider, automatic extraction and prefetch. Ordinary MCP performs only explicitly requested memory operations. It does not automatically extract every conversation turn.
Harness support matrix
Verification levels: configuration example only, protocol-level tested, official SDK/CLI tested, real host tested, real desktop GUI tested, not verified.
This distribution does not auto-extract conversations for any MCP host. Automatic capture and recall require a native provider or a lifecycle adapter. See the Codex validation record for the tested CLI, source revisions and model providers; desktop GUI and native-memory adoption are separate verification boundaries.
Install and initialize
For the shortest currently supported local setup, follow the Ollama quickstart (中文). It covers an existing model, installing a missing model, a separate WorkBuddy profile, connection settings and a first save/search check. No Qdrant server, Docker, cloud account or embedding API key is needed for that local path. Python/uv and one-time profile configuration are still required for this direct route. The managed WorkBuddy connector and DSH bundle prepare those dependencies from Node.js instead.
Requires Python 3.11+ and either uv or a Python
virtual environment. You must configure storage and an embedding service.
For the example below, run Ollama and install qwen3-embedding:4b yourself.
Create an operator-owned profile directory and save qdrant-memory.json inside:
Initialize, then launch (replace /path/to/profile with your absolute path):
The command without --home uses ~/.qdrant-memory, independent of Hermes.
Configure and initialize that directory before letting a Registry client launch
uvx --from qdrant-memory-mcp==0.3.1 qdrant-memory-mcp mcp.
The executable name matches the package name.
The Registry's positional mcp selects protocol mode. Its optional named
--home precedes mcp when a client supplies a custom profile.
Alternatively:
On Windows use .venv\Scripts\python.exe and
.venv\Scripts\qdrant-memory-mcp.exe.
Qdrant embedded, self-hosted server and Cloud, plus Ollama and OpenAI-compatible
embeddings, are configured in the Runtime's configuration reference.
Keep credentials in operator environment variables (QDRANT_API_KEY,
EMBEDDING_API_KEY, or configured names). Never commit their values.
Initialization against an existing collection requires explicit operator choice.
Do not use a production destination for a first test.
Connect a client
Codex config.toml example:
OpenCode opencode.json example:
Pi needs a separately installed MCP client/extension. In that extension, use
command: uvx and the same argument list. No built-in Pi MCP support or universal
extension config format is claimed. These are configuration examples. This
protocol acceptance tests use the official Python MCP SDK. Host-specific evidence
is recorded separately in the architecture and support boundaries
and the Runtime's client evidence and limits.
Tools and boundaries
Scope is fixed by the operator's profile (user_id, agent_id). Model inputs
and MCP client identity cannot override it. Knowing an ID does not grant access.
Migration, export, reset and bulk deletion remain trusted operator CLI commands.
See standalone maintenance.
No resources or prompts are advertised. This is a local subprocess, with no
public HTTP/SSE listener or remote authentication service. Stdout is reserved
for protocol messages, with sanitized diagnostics on stderr.
Data flows from client → Runtime → embedding provider → Qdrant and the local SQLite ledger. With local Ollama and embedded Qdrant, memory processing stays local. Cloud embedding receives memory/query text, and cloud Qdrant receives vectors and stored payloads. The client/model may also receive recalled text. The operator must authorize retention and access and protect the profile files.
One writer lease coordinates a profile/destination. Do not overlap MCP, CLI or Hermes processes writing to it. Separate profiles or machines do not provide a distributed lock. This package does not support uncoordinated multiprocess writes, auto-extraction, an HTTP transport, or implicit credential discovery from Hermes. It preserves the Runtime's ledger, IDs and recovery semantics.
Concepts and evidence
- Sharing vs Portability vs Backup: Runtime portability guide
- Cross-harness architecture: docs/cross-harness-architecture.md
- Shared Owner status: docs/universal-owner-status.md
- Validation limits: docs/dsh-validation.md
Validation reports apply to their recorded versions, workloads and host environments. Short protocol or cloud runs do not establish 24-hour acceptance for a new release.
Verification and development
CI builds wheel/sdist, checks metadata and ownership marker. It runs installed protocol tests with temporary profiles, embedded Qdrant and a deterministic loopback embedding fixture on Linux/macOS/Windows, Python 3.11 and 3.14. No test connects to personal Qdrant, Hermes profiles or memory data. These tests cover initialize, discovery, four tools, persistence, recovery, scope isolation, error redaction and protocol stdout. Provider/cloud compatibility evidence belongs to the Runtime.
CI prefers the immutable Runtime PyPI release. Before a Runtime release reaches
PyPI, CI builds a wheel from the immutable revision recorded in runtime-source.json. This is only a preparation fixture:
published dependency metadata always uses the exact PyPI version. Release
workflow acceptance requires installation from PyPI and never uses that fallback.
See CI and dependency maintenance, publishing, architecture, and the optional Skill.
Dependency boundary
The runtime dependency is only hermes-plugin-qdrant-memory[mcp]. The sdist includes the
Python acceptance tests, apart from harnesses that need an external Runtime checkout, DSH
client assets, or Node fixtures the sdist does not carry; selected harness lockfiles and
Node-only .mjs tests are excluded. The wheel remains metadata-only. Development
dependencies are declared under [project.optional-dependencies].dev and are not installed
for end users.
WorkBuddy and DeepSeek Harness
Use the WorkBuddy connector or the
DSH installation guide for explicit durable memory.
Both reuse the Python Runtime, the four MCP tools and the canonical Skill. The published managed launcher prepares private Python
and CPU-model dependencies with Node.js. Thus, the managed routes do not require a
system Python, uvx or Ollama installation. The DSH Bundle is
distributed as @cnkang/qdrant-memory-dsh-bundle. Existing Hermes profiles
and defaults are unchanged. See architecture and version matrix
and validation limits.
Source: README.md at commit e106f7d
Tools
0Version history
16- v0.3.1LatestNov 5, 2026
- v0.3.0Nov 5, 2026
- v0.2.9Nov 3, 2026
- v0.2.7Nov 1, 2026
- v0.2.6Oct 29, 2026
- v0.2.5Oct 24, 2026
- v0.2.4Oct 23, 2026
- v0.2.3Oct 23, 2026
- v0.2.2Oct 19, 2026
- v0.2.1Oct 18, 2026
- v0.2.0Oct 18, 2026
- v0.1.4Oct 16, 2026
- v0.1.3Oct 15, 2026
- v0.1.2Oct 14, 2026
- v0.1.1Oct 13, 2026
- v0.1.0Oct 13, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Memory integrations

Memory.fit
fit.memoryOfficial publisher
Hosted Memory.fit server that lets an AI read your training, sleep, recovery and nutrition data and write back weekly plans, targets and meal plans.
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pgOfficial publisher
pg.ddx.io: the PostgreSQL community's memory's hosted MCP server, published by pg.ddx.io; no sign-in required; Streamable HTTP; 29 tools.
var.gg Naming Memory
gg.varOfficial publisher
Remote MCP server that suggests and searches code identifier names from domain concepts in Korean, Japanese, Chinese, Vietnamese and English, and exposes ERD…

Counterparts
ai.counterparts
Local-first long-term memory for Claude Code and Claude Desktop: the assistant writes notes about you and your projects and recalls them in later sessions.

LAHZE - Persian AI Memory Platform
Published by GitHub account pedramgholizadeh
LAHZE - Persian AI Memory Platform's hosted MCP server; no sign-in required; Streamable HTTP; 13 tools.