Qdrant Memory

io.github.cnkang由 GitHub 账号 cnkang 发布v0.3.1更新于 Nov 5, 2026

Persistent scoped Qdrant memory for agents, through four explicit stdio MCP tools.

发布方自己的服务:Memory.fit

已验证STDIO仅桌面数据库知识与记忆

概览

AI 生成的概览

本地 stdio MCP 服务器,为智能体提供持久、按操作者范围隔离的 Qdrant 记忆,含搜索、新增、更新、删除四个显式工具。

可以做什么
  • 按查询词和可选分类检索范围内的记忆,返回 ID、相似度分数与来源
  • 从文本新增一条持久记忆并返回记忆 ID
  • 按精确 ID 替换或删除范围内的记忆
  • 记忆存放在 Qdrant(嵌入式、自建或云端),向量由 Ollama 或兼容 OpenAI 的服务生成
  • 范围由操作者配置固定,迁移、导出、重置和批量删除仍由操作者命令行完成
适用场景
希望助手跨会话、跨多个智能体宿主保留可迁移的持久记忆,又不想依赖托管记忆服务时适用。适合你自行掌控配置目录与存储目标的本地或自建环境。
运行要求
以 Python 包形式本地运行,通过 uvx 或虚拟环境启动;需要 Python 3.11+ 以及 uv 或 venv。需先准备配置目录(qdrant-memory.json),其中设定存储与嵌入服务,例如本地 Ollama 模型加嵌入式 Qdrant。远程 Qdrant 或云端嵌入可选使用 QDRANT_API_KEY、EMBEDDING_API_KEY,远程端点用 QDRANT_URL。客户端启动前必须先执行初始化。
安装前请注意
记忆文本与查询会发送给所配置的嵌入服务,云端 Qdrant 会收到向量与存储内容;只有本地 Ollama 加嵌入式 Qdrant 才全程本地处理。QDRANT_API_KEY 与 EMBEDDING_API_KEY 应放在环境变量中,并保护好配置目录文件。这些工具会写入、替换和删除已存记忆。不要同时运行多个写入同一配置的 MCP、命令行或其他进程,首次测试不要指向生产目标。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Qdrant Memory,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

HostNative ProviderExplicit MCP toolsAutomatic captureAutomatic recallShared OwnerRemote accessVerification
HermesYesYes (via standalone)YesYesOpt-inYesReal host tested
OpenCodeNoYesNoNoVia OwnerYesReal host tested (dual-device)
PiNoYes (extension)Opt-in adapterOpt-in adapterVia OwnerYesReal host tested
DeepSeek HarnessNoYes (DSH bundle)NoNoVia OwnerYesReal host tested
WorkBuddyNoYes (connector)NoNoVia OwnerYesReal desktop GUI tested
CodexNoYesNoNoVia OwnerYesOfficial CLI tested

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:

json
{  "schema_version": 1,  "scope": {"user_id": "my-user", "agent_id": "my-agent"},  "qdrant": {"mode": "embedded", "collection": "qdrant_memory"},  "embedding": {    "mode": "plugin", "provider": "ollama", "model": "qwen3-embedding:4b",    "base_url": "http://127.0.0.1:11434", "dimensions": 2560, "distance": "Cosine"  }}

Initialize, then launch (replace /path/to/profile with your absolute path):

bash
uvx --from qdrant-memory-mcp==0.3.1 qdrant-memory-mcp --home /path/to/profile inituvx --from qdrant-memory-mcp==0.3.1 qdrant-memory-mcp --home /path/to/profile mcp

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:

bash
python3 -m venv .venv.venv/bin/python -m pip install qdrant-memory-mcp==0.3.1.venv/bin/qdrant-memory-mcp --home /path/to/profile init.venv/bin/qdrant-memory-mcp --home /path/to/profile mcp

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:

toml
[mcp_servers.qdrant_memory]command = "uvx"args = ["--from", "qdrant-memory-mcp==0.3.1", "qdrant-memory-mcp", "--home", "/path/to/profile", "mcp"]

OpenCode opencode.json example:

json
{  "$schema": "https://opencode.ai/config.json",  "mcp": {    "qdrant_memory": {      "type": "local",      "command": ["uvx", "--from", "qdrant-memory-mcp==0.3.1", "qdrant-memory-mcp", "--home", "/path/to/profile", "mcp"],      "enabled": true    }  }}

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

ToolInputResult
qdrant_memory_searchquery, optional categoryScoped memories with IDs, scores and provenance
qdrant_memory_addtextDurable memory ID
qdrant_memory_updateexact id, replacement textScoped replacement
qdrant_memory_deleteexact idScoped deletion

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

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.

来源:README.md,提交 e106f7d

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

16
  1. v0.3.1最新Nov 5, 2026
  2. v0.3.0Nov 5, 2026
  3. v0.2.9Nov 3, 2026
  4. v0.2.7Nov 1, 2026
  5. v0.2.6Oct 29, 2026
  6. v0.2.5Oct 24, 2026
  7. v0.2.4Oct 23, 2026
  8. v0.2.3Oct 23, 2026
  9. v0.2.2Oct 19, 2026
  10. v0.2.1Oct 18, 2026
  11. v0.2.0Oct 18, 2026
  12. v0.1.4Oct 16, 2026
  13. v0.1.3Oct 15, 2026
  14. v0.1.2Oct 14, 2026
  15. v0.1.1Oct 13, 2026
  16. v0.1.0Oct 13, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成