mcpField
Q
Qdrant MCP Server

Qdrant MCP Server

本地服务
github.com/Jimmy974数据库184 周前更新

关于 Qdrant MCP Server

Qdrant MCP Server 为 MCP 客户端提供与 Qdrant 向量数据库交互的工具,适用于需要存储文本和执行相似度检索的场景。它可自动将文本转换为向量,并支持批量写入、元数据筛选和点记录管理。

主要功能

  1. 01FastEmbed 自动文本嵌入
  2. 02文本存储与相似度检索
  3. 03批量文本向量写入
  4. 04向量搜索与元数据筛选
  5. 05按 ID 获取、删除和计数

适用场景

  1. 01将文本内容写入 Qdrant 并生成向量
  2. 02按文本查询相似内容
  3. 03按元数据条件筛选向量结果
  4. 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 支持的任意模型。

用法

在本地运行
  1. 安装软件包:
pip install -e .
  1. 运行服务:
qdrant-mcp-server
使用 Docker 运行
  1. 构建 Docker 镜像:
docker build -t qdrant-mcp-server .
  1. 运行容器:
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

测试

此软件包包含用于验证功能的测试套件。运行测试:

  1. 安装开发依赖项:
pip install -e ".[dev]"
  1. 运行测试:
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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。