Token导航 LogoToken导航TokenDH.com
Qdrant MCP Pi5 logo
数据服务未说明官方级别未说明来源级核验

Qdrant MCP Pi5

MCP Server

基于Qdrant的本地语义记忆数据库,为AI代理提供持久化、私密且免费的语义搜索功能。

工具数

0

提示词数

0

GitHub Stars

13

资源数

0
JavaScriptClaude搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rockywuest

提供方

rockywuest

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Raspberry Pi 5上的Qdrant MCP

![Works with OpenClaw](https://openclaw.ai) ![Works with Claude Code](https://docs.anthropic.com/en/docs/claude-code) ![MCP Compatible](https://modelcontextprotocol.io)

Qdrant MCP on Pi 5

人工智能代理的持久语义记忆——本地、私有,成本为0美元。

给你的AI代理一个真正的内存,它可以在重启、按意义(而不是关键字)搜索时幸存下来,并且完全在Raspberry Pi 5上运行,不依赖于云。

包括 OpenClaw强制执行插件 它在每次响应之前自动注入内存,不需要LLM决策。
注(2026-03-19): 漂移存储器在2026年2月被弃用——所有105个条目都迁移到了Qdrant中。这个回购现在是独立的。从全MiniLM-L6-v2(384d)迁移的嵌入→ 双子座双子座嵌入-001(3072d)通过OpenClaw的memorySearch配置。

______________________________________________________________________

问题

AI代理会忘记。在会话之间,上下文压缩会丢失细节,基于文本的内存搜索只会找到精确的关键字匹配。一个典型的代理人可以 第一周出现10+个内存错误 --错误的日期、陈旧的数据、将旧主题呈现为新主题。

解决方案

本地向量数据库(Qdrant)与MCP(模型上下文协议)集成。事实被存储为384维嵌入,并通过以下方式检索 语义相似度 --基于意义,而不是基于关键字。

"What's the wifi password?" → finds "Office wifi: network 'Workspace5G', password is 'correct-horse-battery'"

单词不匹配,但意思匹配。这就是区别。

______________________________________________________________________

堆栈

组件版本目的
树莓派58GB RAM硬件
Qdrant MCP服务器v0.8.1矢量存储+搜索
双子座宝石镶嵌-0013072-dim嵌入模型(API,从MiniLM迁移)
麦波特v0.7.3MCP客户端/网桥
开爪2026.3.13代理框架(可选)

性能(Pi 5,ARM64)

操作时间备注
存储(嵌入+写入)~3s包括模型加载
搜索(嵌入+余弦)~3s包括模型加载
RAM峰值~200MB在推理过程中,然后下降
存储~KB/条SQLite支持,可忽略不计

______________________________________________________________________

快速入门(5分钟)

1.安装依赖项

# Qdrant MCP Server
pip3 install mcp-server-qdrant

# mcporter (MCP client)
npm install -g mcporter

2.创建mcporter配置

mkdir -p ~/.mcporter

创建 ~/.mcporter/mcporter.json:

{
  "mcpServers": {
    "qdrant-memory": {
      "command": "mcp-server-qdrant",
      "description": "Persistent vector memory using local Qdrant storage",
      "env": {
        "QDRANT_LOCAL_PATH": "/home/pi/.qdrant-data",
        "COLLECTION_NAME": "agent-memory"
      }
    }
  }
}
注: 使用绝对路径 QDRANT_LOCAL_PATH.Tilde(~)不会在mcporter传递的环境变量中展开。如果 mcporter list 找不到服务器,请尝试使用的完整路径 command (例如。 /home/pi/.local/bin/mcp-server-qdrant).

3.验证其是否正常工作

# Check server is registered
mcporter list

# Store a memory
mcporter call qdrant-memory.qdrant-store \
  information="The project runs on a Raspberry Pi 5 in my office"

# Search by meaning
mcporter call qdrant-memory.qdrant-find \
  query="Where does the project run?"

就是这样。没有Docker,没有云帐户,没有GPU。

______________________________________________________________________

运作原理

Agent wants to remember something
  ↓
mcporter call qdrant-memory.qdrant-store information="..."
  ↓
mcp-server-qdrant spawns (STDIO)
  ↓
all-MiniLM-L6-v2 creates 384-dim embedding (ONNX, CPU)
  ↓
Qdrant stores vector + text in local SQLite
  ↓
Process exits cleanly

Agent wants to recall something
  ↓
mcporter call qdrant-memory.qdrant-find query="..."
  ↓
Query embedded with same model
  ↓
Cosine similarity search over stored vectors
  ↓
Top results returned by semantic relevance

关键见解:MCP服务器 无状态 --每次呼叫它都会生成,完成它的工作,然后退出。没有守护进程占用RAM。Qdrant的本地模式使用SQLite,因此数据在没有运行服务器的情况下仍然存在。

______________________________________________________________________

种子脚本

使用 seed-memory.sh 要批量加载内存:

./seed-memory.sh

或存储个人事实:

mcporter call qdrant-memory.qdrant-store \
  information="Weekly standup is every Monday at 09:00 in the main conference room" \
  metadata='{"type": "recurring", "day": "monday"}'

可选 metadata 字段接受任何JSON,这对过滤或分类很有用。

______________________________________________________________________

用例

AI代理内存

存储决策、更正和事实。在生成响应之前,搜索内存以验证声明。防止闲聊。

个人知识库

“我把备用钥匙放在哪里了?”/“那家餐馆叫什么名字?”——对你的生活笔记进行语义搜索。

共享内存

家庭或团队信息的第二个集合——日程、约会、决定。通过聊天机器人或语音助手查询。

项目背景

存储架构决策、会议记录、需求。新团队成员可以问:“为什么我们选择Postgres而不是MongoDB?”

______________________________________________________________________

配置

环境变量

变量默认值描述
QDRANT_LOCAL_PATH必需本地存储目录的绝对路径
COLLECTION_NAME必填Qdrant集合名称
EMBEDDING_MODELsentence-transformers/all-MiniLM-L6-v2拥抱脸部模型ID

多个收藏

{
  "mcpServers": {
    "work-memory": {
      "command": "mcp-server-qdrant",
      "env": {
        "QDRANT_LOCAL_PATH": "/home/pi/.qdrant-data",
        "COLLECTION_NAME": "work"
      }
    },
    "personal-memory": {
      "command": "mcp-server-qdrant",
      "env": {
        "QDRANT_LOCAL_PATH": "/home/pi/.qdrant-data",
        "COLLECTION_NAME": "personal"
      }
    }
  }
}

在k3s/Docker上运行

如果您更喜欢容器化Qdrant而不是本地SQLite模式:

# k3s / Kubernetes deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: qdrant
spec:
  replicas: 1
  selector:
    matchLabels:
      app: qdrant
  template:
    metadata:
      labels:
        app: qdrant
    spec:
      containers:
      - name: qdrant
        image: qdrant/qdrant:latest
        ports:
        - containerPort: 6333
        volumeMounts:
        - name: qdrant-storage
          mountPath: /qdrant/storage
      volumes:
      - name: qdrant-storage
        persistentVolumeClaim:
          claimName: qdrant-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: qdrant
spec:
  selector:
    app: qdrant
  ports:
  - port: 6333
    targetPort: 6333

然后将mcporter指向服务器,而不是使用本地模式:

{
  "mcpServers": {
    "qdrant-memory": {
      "command": "mcp-server-qdrant",
      "env": {
        "QDRANT_URL": "http://qdrant:6333",
        "COLLECTION_NAME": "agent-memory"
      }
    }
  }
}
注: 你不能两者都用 QDRANT_URLQDRANT_LOCAL_PATH 同时。使用 QDRANT_URL 对于服务器模式(Docker/k3s), QDRANT_LOCAL_PATH 用于嵌入式本地模式(不需要服务器)。

______________________________________________________________________

重要提示

  • OpenClaw v2026.1.30 不支持 mcpServers 在其配置模式中(网关崩溃循环)。使用mcporter作为桥梁——它通过捆绑的mcporter技能无缝工作。
  • 第一次通话速度较慢 (~3-5s),因为ONNX模型加载。后续的快速连续调用重用了该流程。
  • 嵌入模型在CPU上运行 --不需要GPU。全MiniLM-L6-v2型号针对ARM64上的ONNX运行时间进行了优化。
  • 数据是本地的 --没有任何东西离开你的设备。矢量数据库不需要API键。

______________________________________________________________________

硬执行插件(OpenClaw)

上述基本设置要求LLM *决定* 查询Qdrant。在实践中,代理“忘记”使用内存工具——它们是可选的,LLM在急于回答时会跳过它们。

严厉执法 解决了这个问题:一个OpenClaw插件,在每次响应之前自动查询Qdrant,并将相关内存注入提示中。不需要LLM决定。

运作原理

User message arrives
  ↓
before_agent_start hook fires
  ↓
Plugin extracts user query
  ↓
mcporter calls qdrant-find
  ↓
Top 5 results injected as prependContext
  ↓
LLM sees memories BEFORE generating response

安装

cd openclaw-plugin
npm install
npm run build

# Copy to OpenClaw extensions
sudo cp -r . /usr/lib/node_modules/openclaw/extensions/nox-memory-qdrant/

# Restart OpenClaw
sudo systemctl restart openclaw-gateway

插件结构

openclaw-plugin/
├── package.json              # @nox/memory-qdrant
├── openclaw.plugin.json      # Plugin manifest
├── tsconfig.json
└── src/
    ├── index.ts              # Plugin entry + register()
    ├── qdrant-client.ts      # mcporter CLI wrapper
    └── auto-recall.ts        # before_agent_start hook

注射什么

当用户问“谁是马丁·格里斯?”时,插件:

  1. 呼叫 mcporter run qdrant-memory qdrant-find --query "Wer ist Martin Grieß?"
  2. 从Qdrant(语义搜索)获取结果
  3. 将它们注射为:
## QDRANT MEMORY RECALL (automatisch, Hard Enforcement)

Relevante Informationen aus der Vektordatenbank:

1. [87%] Martin Grieß ist Head of Data bei H. & J. Brüggen KG (Quelle: people.md)
2. [72%] Martin arbeitet eng mit dem CDO Rocky Wüst zusammen (Quelle: org.md)

---
Diese Informationen wurden automatisch abgerufen.

法学硕士看到了这一背景 之前 它开始生成——不需要做出“使用内存”的决定。

配置

该插件具有最小的配置:

{
  "enabled": true
}

跳过模式(如“hi”、“ok”、“danke”等短信)会自动处理,以避免不必要的查询。

演出

度量
每次查询的延迟~100-500ms
健康检查缓存30秒
最大结果5(可配置)

软执法vs硬执法

方法工作原理可靠性
柔软 (AGENTS.md规则)LLM指示使用Qdrant~60-70%
困难 (此插件)Hook自动注入内存~99%

两者结合使用以获得最大的覆盖范围:硬执法抓住一切,软执法教会法学硕士正确引用来源。

______________________________________________________________________

混合架构:Qdrant+漂移存储器

Qdrant擅长 语义检索 --通过意义发现事实。但它不跟踪 *怎么* 代理随着时间的推移使用知识。

漂移存储器 与Qdrant相辅相成 共现追踪:

系统擅长示例查询
Qdrant事实、实体、语义相似性“马丁·格里斯是谁?”
漂移存储器行为模式、偏好“哪种沟通方式最有效?”

他们如何协同工作

┌─────────────────────────────────────────────────────────────┐
│                    HYBRID MEMORY STACK                       │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────────────┐     ┌─────────────────────┐        │
│  │       Qdrant        │     │    drift-memory     │        │
│  │       (WHAT)        │     │       (HOW)         │        │
│  │                     │     │                     │        │
│  │  • 384-dim vectors  │     │  • YAML files       │        │
│  │  • Cosine similarity│     │  • Co-occurrence    │        │
│  │  • Hard enforcement │     │  • Biological decay │        │
│  │  • ~3s latency      │     │  •  “Co-occurrence告诉你代理如何使用它的知识。向量嵌入告诉你什么是语义相似的。它们有不同的用途。”

回忆在一起变得相互联系。在会话过程中,模式会有机地出现——不需要手动关系标记。

### 整合

1. 使用Qdrant **事实检索** (此回购)
1. 使用漂移存储器 **行为模式** ([漂移存储器仓库](https://github.com/driftcornwall/drift-memory))
1. 两者都可以在Pi 5上运行,资源冲突最小

______________________________________________________________________

## 链接

- [Qdrant MCP服务器](https://github.com/qdrant/mcp-server-qdrant)
- [麦波特](https://github.com/steipete/mcporter)
- [开爪](https://github.com/openclaw/openclaw)
- [漂移存储器](https://github.com/driftcornwall/drift-memory) --具有共现追踪的生物风格记忆
- [全迷你LM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2)
- [MCP规范](https://modelcontextprotocol.io)

______________________________________________________________________

## 许可证

麻省理工学院

目录标签

目录标签

JavaScriptClaude搜索AI代理记忆本地部署语义搜索本地数据库RaspberryPi向量数据库

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP