项目简介
mcp-server-qdrant 是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于利用 Qdrant 向量数据库为大型语言模型 (LLM) 应用提供高效的上下文信息管理和检索服务。它允许 LLM 客户端通过标准化的 MCP 协议,存储文本信息及其元数据到 Qdrant,并进行快速的语义搜索,从而增强 LLM 应用的记忆和知识检索能力。
主要功能点
- 文本信息存储与管理: 能够将文本信息连同可选的 JSON 元数据存储到 Qdrant 向量数据库中,构建可扩展的知识库。
- 语义搜索: 支持基于内容的语义搜索,能够根据用户查询在知识库中找到相关信息,即使查询与存储的文本不完全匹配也能有效检索。
- FastEmbed 集成: 内置 FastEmbed 文本嵌入模型,能够快速高效地将文本转换为向量表示,提升语义搜索的性能。
- 工具化操作: 提供 'qdrant-store' 和 'qdrant-find' 两个工具,分别用于存储信息和检索信息,方便 LLM 客户端调用。
- 灵活配置: 支持通过环境变量进行配置,包括 Qdrant 连接信息、集合名称、嵌入模型等,方便部署和定制。
- Docker 支持: 提供 Docker 镜像和 Docker Compose 配置,方便快速部署和容器化管理。
安装步骤
使用 pip 安装
pip install mcp-server-qdrant
从源代码安装
git clone https://github.com/Jimmy974/mcp-server-qdrant.git cd mcp-server-qdrant make setup
服务器配置
MCP客户端需要配置以下信息以连接到 mcp-server-qdrant 服务器:
{ "serverName": "qdrant", "command": "mcp-server-qdrant", "args": ["--transport", "stdio"] }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "qdrant"。
- 'command': 启动 MCP 服务器的命令,这里是 'mcp-server-qdrant',这是在安装时通过 'setup.py' 中的 'entry_points' 配置的。
- 'args': 传递给启动命令的参数,'["--transport", "stdio"]' 指定使用 'stdio' 作为传输协议。 mcp-server-qdrant 还支持 'sse' 传输协议。
环境变量配置:
mcp-server-qdrant 服务器依赖以下环境变量进行配置。你可以创建 '.env' 文件并根据需要修改:
# Qdrant 配置 QDRANT_URL=http://localhost:6333 # Qdrant 服务器 URL QDRANT_API_KEY=your-api-key # Qdrant API 密钥 (如果需要) # 集合名称 COLLECTION_NAME=memories # Qdrant 集合名称,用于存储数据 # 嵌入模型配置 EMBEDDING_PROVIDER=fastembed # 嵌入提供器,默认为 fastembed EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2 # 嵌入模型名称,默认为 all-MiniLM-L6-v2
在运行服务器之前,请确保已配置好 Qdrant 服务器并设置了正确的环境变量。
基本使用方法
-
启动服务器: 根据安装方式,选择以下命令之一启动 mcp-server-qdrant 服务器。
- 本地运行: 'python -m mcp_server_qdrant.main --transport stdio' 或 'make run'
- Docker 运行: 'docker-compose up'
-
MCP 客户端调用: 使用 MCP 客户端 (例如 Cursor 编辑器) 连接到 mcp-server-qdrant 服务器。客户端可以通过 JSON-RPC 协议调用服务器提供的工具。
-
qdrant-store 工具: 用于存储信息到 Qdrant 数据库。
{ "method": "tool/qdrant-store", "params": { "information": "需要存储的文本信息", "metadata": { "key": "value" } // 可选的 JSON 元数据 } } -
qdrant-find 工具: 用于在 Qdrant 数据库中进行语义搜索。
{ "method": "tool/qdrant-find", "params": { "query": "搜索查询语句", "limit": 10, // 可选,返回结果数量限制,默认为 10 "score_threshold": 0.7, // 可选,相似度阈值,默认为 0.7 "filter_metadata": { "key": "value" } // 可选,元数据过滤器 } }
服务器会返回 JSON-RPC 响应,包含工具执行结果。对于 'qdrant-find' 工具,返回的结果会包含从 Qdrant 检索到的相关信息。
-
通过以上步骤,你可以使用 mcp-server-qdrant 快速搭建一个基于 Qdrant 向量数据库的 MCP 服务器,为 LLM 应用提供强大的上下文记忆和检索能力。
信息
分类
数据库与文件