关于 Qdrant MCP Server
Qdrant MCP Server 为 MCP 客户端提供与 Qdrant 向量数据库交互的工具,适用于需要存储文本和执行相似度检索的场景。它可自动将文本转换为向量,并支持批量写入、元数据筛选和点记录管理。
主要功能
- 01FastEmbed 自动文本嵌入
- 02文本存储与相似度检索
- 03批量文本向量写入
- 04向量搜索与元数据筛选
- 05按 ID 获取、删除和计数
适用场景
- 01将文本内容写入 Qdrant 并生成向量
- 02按文本查询相似内容
- 03按元数据条件筛选向量结果
- 04根据点 ID 管理或统计记录
MCP 相关
该 MCP 服务向客户端暴露 Qdrant 的文本、向量和点记录工具,包括存储、相似度搜索、筛选、获取、删除与计数。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Qdrant MCP 服务
一个用于与 Qdrant 向量数据库交互的 MCP 服务。此服务基于 MCP(Master Control Program)框架,提供管理向量、执行相似性搜索以及自动将文本嵌入为向量的工具。
功能
- 使用 FastEmbed 自动将文本嵌入为向量
- 通过向量搜索存储和检索文本内容
- 通过环境变量使用默认集合配置
- 根据内容进行文本相似性搜索
- 使用经过优化的模型高效生成嵌入
配置
根据 .env.example 模板创建 .env 文件:
# Qdrant connection settings
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
QDRANT_VERIFY_SSL=True # Set to False if using self-signed certificates
# Default settings
DEFAULT_COLLECTION_NAME=default_collection
EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
你可以将嵌入模型更改为 FastEmbed 支持的任意模型。
用法
在本地运行
- 安装软件包:
pip install -e .
- 运行服务:
qdrant-mcp-server
使用 Docker 运行
- 构建 Docker 镜像:
docker build -t qdrant-mcp-server .
- 运行容器:
docker run -p 8000:8000 --env QDRANT_HOST=<your-qdrant-host> --env QDRANT_PORT=<your-qdrant-port> --env QDRANT_VERIFY_SSL=<True|False> qdrant-mcp-server
测试
此软件包包含用于验证功能的测试套件。运行测试:
- 安装开发依赖项:
pip install -e ".[dev]"
- 运行测试:
cd tests
./run_tests.py
你也可以直接使用 pytest:
pytest -xvs tests/
使用自签名证书
如果你的 Qdrant 服务使用自签名证书,请在 .env 文件中或运行 Docker 容器时设置 QDRANT_VERIFY_SSL=False。这会禁用 SSL 证书验证。
工具
此服务提供以下工具:
文本工具
store_text:将文本转换为嵌入向量并存储到数据库search_similar_text:将查询文本转换为嵌入,并查找相似向量store_texts:将多段文本转换为嵌入,并批量存储
向量工具
search_vectors:在集合中搜索相似向量upsert_vectors:将向量上传到集合filter_search:使用元数据筛选条件搜索集合
点工具
get_points:根据点的 ID 从集合中获取点delete_points:根据点的 ID 从集合中删除点count_points:统计集合中的点数
示例
存储文本
await store_text(
text="What is the capital of France?",
metadata={"category": "geography", "type": "question"}
)
搜索相似文本
await search_similar_text(
query="What is Paris the capital of?",
limit=5
)
存储多段文本
await store_texts(
texts=["Paris is in France", "London is in England", "Berlin is in Germany"],
metadatas=[
{"category": "geography", "country": "France"},
{"category": "geography", "country": "England"},
{"category": "geography", "country": "Germany"}
]
)
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。