Qdrant MCP服务器
用于与以下对象交互的MCP服务器 Qdrant 矢量数据库。该服务器提供用于管理矢量、执行相似性搜索和使用MCP(主控制程序)框架自动嵌入文本到矢量的工具。
特性
- 使用FastEmbed实现文本到矢量的自动嵌入
- 使用矢量搜索存储和检索文本内容
- 通过环境变量使用默认集合配置
- 按内容搜索文本相似性
- 通过优化模型实现高效嵌入
配置
创建一个 .env 文件基于 .env.example 模板:
# 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您可以将嵌入模型更改为支持的任何模型 快速嵌入.
用法
在本地运行
- 安装软件包:
pip install -e .- 运行服务器:
qdrant-mcp-server使用Docker运行
- 构建Docker镜像:
docker build -t qdrant-mcp-server .- 运行容器:
docker run -p 8000:8000 --env QDRANT_HOST= --env QDRANT_PORT= --env QDRANT_VERIFY_SSL= qdrant-mcp-server测试
此软件包包括一个测试套件,用于验证功能。要运行测试,请执行以下操作:
- 安装开发依赖项:
pip install -e ".[dev]"- 运行测试:
cd tests
./run_tests.py或者,您可以直接使用pytest:
pytest -xvs tests/使用自签名证书
如果您的Qdrant服务器使用自签名证书,请设置 QDRANT_VERIFY_SSL=False 在你的 .env 文件或运行Docker容器时。这将禁用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"}
]
) ```