🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Qdrant 记忆服务 cnkang/qdrant-memory-mcp

MCP
cnkang17 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

Qdrant Memory Runtime 的仅元数据 PyPI 与 MCP Registry 分发

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/cnkang/qdrant-memory-mcp.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
L4 · 真实安装等级说明 →
数据截至 2026/10/31·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 17 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 43 处,展示前 33 条)
  • 发起网络请求
    integrations/managed/bootstrap.mjs:133
    const response = await fetch(spec.url, { redirect: 'error', signal: signal ? anySignal([signal, timeout]) : timeout });
  • 执行外部命令来自配置/变量
    integrations/managed/bootstrap.mjs:158
    const result = spawnSync(executable, args, { env, timeout, encoding: 'utf8', windowsHide: true });
  • 读取本地文件
    integrations/managed/bootstrap.mjs:173
    const root = await realpath(await mkdtemp(join(tmpdir(), 'qdrant-managed-python-')));
  • 写入本地文件
    integrations/managed/bootstrap.mjs:175
    await mkdir(emptyPath);
  • 写入本地文件
    integrations/managed/bootstrap.mjs:179
    await writeFile(uv, executable, { flag: 'wx', mode: 0o700 });
  • 读取本地文件
    integrations/managed/bridge.mjs:7
    export const tools = JSON.parse(await readFile(new URL('./tools.json', import.meta.url), 'utf8'));
  • 读取本地文件
    integrations/managed/bridge.mjs:8
    const { version } = JSON.parse(await readFile(new URL('./package.json', import.meta.url), 'utf8'));
  • 执行外部命令来自配置/变量
    integrations/managed/bridge.mjs:81
    backend = spawn(command.command, command.args, { env: command.env, windowsHide: true, stdio: ['pipe', 'pipe', 'ignore'] });
  • 读取本地文件
    integrations/managed/launcher.mjs:31
    if (process.argv[1] && pathToFileURL(await realpath(process.argv[1])).href === import.meta.url) {
  • 读取本地文件
    integrations/managed/provision.mjs:11
    export const runtime = JSON.parse(await readFile(new URL('./runtime.json', import.meta.url), 'utf8'));
  • 读取本地文件
    integrations/managed/provision.mjs:13
    const requirements = (await readFile(new URL('./requirements.lock', import.meta.url), 'utf8')).replaceAll('\r\n', '\n');
  • 读取本地文件
    integrations/managed/provision.mjs:69
    const entry = await lstat(config);
  • 写入本地文件
    integrations/managed/provision.mjs:91
    await mkdir(current, { mode: 0o700 }).catch(error => { if (error.code !== 'EEXIST') throw error; });
  • 读取本地文件
    integrations/managed/provision.mjs:92
    const info = await lstat(current);
  • 执行外部命令来自配置/变量
    integrations/managed/provision.mjs:117
    const child = spawn(executable, args, { env, windowsHide: true, detached: process.platform !== 'win32',
  • 执行外部命令来自配置/变量
    integrations/managed/provision.mjs:125
    spawn(join(systemRoot, 'System32', 'taskkill.exe'), ['/pid', String(child.pid), '/T', '/F'],
  • 读取本地文件
    integrations/managed/provision.mjs:147
    const info = await lstat(path);
  • 写入本地文件
    integrations/managed/provision.mjs:159
    await rename(from, to);
  • 读取本地文件
    integrations/managed/provision.mjs:175
    try { await regularFile(path); existing = await readFile(path, 'utf8'); }
  • 删除本地文件
    integrations/managed/provision.mjs:180
    await rm(temporary, { force: true });
  • 删除本地文件
    integrations/managed/provision.mjs:187
    } finally { await rm(temporary, { force: true }); }
  • 删除本地文件
    integrations/managed/provision.mjs:211
    await rm(marker);
  • 删除本地文件
    integrations/managed/provision.mjs:223
    await rm(archive + '.pending', { force: true });
  • 删除本地文件
    integrations/managed/provision.mjs:230
    await rm(temporaryArchive, { force: true });
  • 写入本地文件
    integrations/managed/provision.mjs:231
    await writeFile(temporaryArchive, await download(runtime, signal), { mode: 0o600 });
  • 删除本地文件
    integrations/managed/provision.mjs:253
    await rm(pendingWheel, { force: true });
  • 写入本地文件
    integrations/managed/provision.mjs:272
    await writeFile(temporary, bytes, { flag: 'wx', mode: 0o700 });
  • 写入本地文件
    integrations/managed/provision.mjs:307
    await mkdir(lock, { mode: 0o700 }).catch(() => { throw new Error('Preparation is already running or interrupted; inspect the provisioning lock'); });
  • 执行外部命令来自配置/变量
    integrations/pi/owner-memory.mjs:53
    const child = spawn(interpreter, args, {
  • 读取本地文件
    plugins/qdrant-memory/launcher.mjs:21
    try { if ((await lstat(current)).isSymbolicLink()) throw new Error('Symlink refused'); }
  • 读取本地文件
    plugins/qdrant-memory/launcher.mjs:34
    await access(paths.executable, constants.X_OK);
  • 读取本地文件
    plugins/qdrant-memory/launcher.mjs:38
    const cfg = JSON.parse(await readFile(join(paths.profile, 'qdrant-memory.json'), 'utf8'));
  • 执行外部命令来自配置/变量
    plugins/qdrant-memory/launcher.mjs:45
    const child = spawn(paths.executable, args, { stdio: 'inherit', windowsHide: true,
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
Qdrant Memory MCP One Memory, Multiple Agents — 可选启用的共享 owner 本分发新增显式启用的单 owner 共享服务和 stdio 桥接,需安装 Runtime 0.4.0。见共享接入指南。私有默认配置与 DSH/WorkBuddy 托管配置不变;Hermes Native Provider 自动共享提取尚未实现。 这是 Qdrant Memory 的独立 PyPI 包装与 MCP Registry 分发仓库。 所有业务逻辑来自唯一的 Python Runtime,本仓库不复制 Runtime 或 Agent Skill。 qdrant-memory-mcp 直接引用 qdrant_memory.standalone:main,固定依赖 hermes-plugin-qdrant-memory[mcp]==0.4.0,不需要安装 Hermes。 WorkBuddy 资产、SDK 兼容性和升级指引见 0.1.4 发布说明。 使用固定版本安装命令前,请在 PyPI 版本页面确认该版本已公开发布。 版本: 分发 0.2.1 固定依赖 Runtime 0.4.0,支持 MCP Python SDK 1.x 和 2.x (mcp>=1.30,<3);四个固定作用域工具和 stdio 启动参数保持一致。
展开完整文档(README 剩余 1 节)
Qdrant Memory MCP

One Memory, Multiple Agents — 可选启用的共享 owner

本分发新增显式启用的单 owner 共享服务和 stdio 桥接,需安装 Runtime 0.4.0。见共享接入指南。私有默认配置与 DSH/WorkBuddy 托管配置不变;Hermes Native Provider 自动共享提取尚未实现。

这是 Qdrant Memory 的独立 PyPI 包装与 MCP Registry 分发仓库。
所有业务逻辑来自唯一的 Python Runtime,本仓库不复制 Runtime 或 Agent Skill。
qdrant-memory-mcp 直接引用 qdrant_memory.standalone:main,固定依赖
hermes-plugin-qdrant-memory[mcp]==0.4.0,不需要安装 Hermes。

WorkBuddy 资产、SDK 兼容性和升级指引见 0.1.4 发布说明。

使用固定版本安装命令前,请在 PyPI 版本页面确认该版本已公开发布。

版本: 分发 0.2.1 固定依赖 Runtime 0.4.0,支持 MCP Python SDK 1.x 和 2.x (mcp>=1.30,<3);四个固定作用域工具和 stdio 启动参数保持一致。
保留不同但高度相似文本的显式写入修复,无需 LLM。下文安装命令使用这些精确版本。发行产物见 分发 PyPI 页面 和 Runtime PyPI 页面。三个仓库的版本独立管理。
Skill 仅提供可选指导,不是运行依赖。Hermes 的自动提取和 prefetch 仍属于原生集成;普通 MCP 仅执行明确请求的记忆操作,不自动提取每轮对话。

安装与配置

最少步骤见 本地 Ollama 快速开始,包括复用已有模型、缺少模型时的安装指引、独立 WorkBuddy profile、连接配置和首次保存/搜索验证。
这条本地路径不需要 Qdrant Server、Docker、云账号或 Embedding API Key;本直接路径仍需要准备 Python/uv,并完成一次 profile 配置。

需要 Python 3.11+。用户必须自行配置 Qdrant 与 Embedding。
在可信 profile 目录内创建 qdrant-memory.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"
}
}

示例要求自己启动 Ollama 并安装对应模型。将路径替换为自己的绝对路径:

uvx --from qdrant-memory-mcp==0.2.1 qdrant-memory-mcp --home /path/to/profile init
uvx --from qdrant-memory-mcp==0.2.1 qdrant-memory-mcp --home /path/to/profile mcp

省略 --home 时使用 ~/.qdrant-memory,与 Hermes profile 独立。
Registry 默认运行 uvx --from qdrant-memory-mcp==0.2.1 qdrant-memory-mcp mcp,应先配置、初始化默认目录。
客户端可通过 mcp 前面的可选 --home 参数选择自定义 profile。

也可以使用虚拟环境:

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

Windows 使用 .venv\Scripts\python.exe 和 .venv\Scripts\qdrant-memory-mcp.exe。
Qdrant Embedded、Server、Cloud 和 OpenAI-compatible Embedding 的配置见原始配置文档。
凭据由可信进程环境提供(如 QDRANT_API_KEY、EMBEDDING_API_KEY),不要提交密钥。
首次测试请使用独立的临时存储,现有 collection 的复用必须由操作者明确选择。

客户端示例

Codex config.toml:

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

OpenCode opencode.json:

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

Pi 需要另外安装 MCP 客户端扩展;将上述 command/args 填入该扩展支持的配置。
本仓库不声称 Pi 内置 MCP,也不声称通用扩展配置格式。
这些是配置示例;分发测试使用官方 Python MCP SDK,不把未实测的 Agent 应用列为已验证。

工具、安全与限制

| 工具 | 输入 | 用途 |
| qdrant_memory_search | query,可选 category | 作用域内检索,返回 ID、分数、来源 |
| qdrant_memory_add | text | 持久化显式记忆 |
| qdrant_memory_update | 精确 id、替换 text | 经过授权检查后更新 |
| qdrant_memory_delete | 精确 id | 经过授权检查后删除 |

profile 固定 user/agent scope;模型参数、客户端身份不能覆盖它,知道 ID 不等于获得权限。
迁移、导出、重置、批量删除仍是可信操作者 CLI 命令,见维护文档。

MCP 使用本地 stdio,不提供公网 HTTP/SSE 服务、远程认证、resources 或 prompts。
stdout 只承载协议,错误经过脱敏。不支持无协调的多进程写入;一个 MCP 进程会持有 profile/destination 的 writer lease。不同 profile 或机器不共享分布式锁。

数据流为客户端 → Runtime → Embedding → Qdrant 与本地 SQLite Ledger。
本地模型与本地 Qdrant 可实现本地数据处理;云 Embedding 会接收记忆/查询文本,云 Qdrant 会接收向量和 payload,客户端或模型也会接收召回文本。
操作者需要管理保留策略、权限与 profile 文件。

验证与开发

CI 对 Linux/macOS/Windows、Python 3.11/3.14 的 wheel/sdist 安装运行真实协议测试,覆盖初始化、工具发现、四项操作、重启持久化与恢复、scope 拒绝、错误脱敏、stdout。
使用临时目录、Embedded Qdrant、确定性本地 HTTP Embedding fixture,不访问私人 Qdrant、Hermes profile 或个人记忆。云服务兼容性参见 Runtime 的验证证据。

CI 优先使用正式 PyPI Runtime。新 Runtime 发布前,CI 使用 runtime-source.json 固定的不可变修订构建本地 wheel;正式包元数据始终依赖固定 PyPI 版本,发布流程禁止这种回退。
详见 英文说明、发布清单 与 Runtime 验证。

WorkBuddy 与 DeepSeek Harness

WorkBuddy 请使用连接器说明,DSH 请使用中文接入指南。两者复用同一套 Runtime、四个 MCP 工具和权威 Skill,提供明确的记忆操作。已发布的托管启动器 可通过 Node.js 准备私有 Python 环境、Runtime 与 CPU 模型,托管路线不需要系统 Python、uvx 或 Ollama。DSH Bundle 以 @cnkang/qdrant-memory-dsh-bundle 分发。
Hermes 原有 profile 和默认配置保持不变。详见架构与版本矩阵和验证范围。
预览分享卡片长什么样 ↓cnkang/qdrant-memory-mcp
分享 · DeepSeek Harness Hub
cnkang/qdrant-memory-mcp

Qdrant Memory Runtime 的仅元数据 PyPI 与 MCP Registry 分发

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部