Qdrant MCP 服务器是一个用于与 Qdrant 向量数据库交互的工具。它提供了管理向量、执行相似搜索的功能,还能借助 MCP(主控程序)框架自动实现文本到向量的嵌入。
Qdrant MCP 服务器可以在本地运行,也可以通过 Docker 运行。以下是具体的操作步骤:
pip install -e .
qdrant-mcp-server
docker build -t qdrant-mcp-server .
docker run -p 8000:8000 --env QDRANT_HOST= --env QDRANT_PORT= --env QDRANT_VERIFY_SSL= qdrant-mcp-server
基于 .env.example 模板创建一个 .env 文件:
# Qdrant 连接设置
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
QDRANT_VERIFY_SSL=True # 如果使用自签名证书,请设为 False
# 默认设置
DEFAULT_COLLECTION_NAME=default_collection
EMBEDDING_MODEL=BAAI/bge-small-en-v1.5
你可以将嵌入模型更改为任何受 FastEmbed 支持的模型。
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"}
]
)
此包包含一个测试套件,用于验证功能。要运行测试:
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:计算集合中的点数