内容
# Qdrant MCP Server
一个用于与 [Qdrant](https://qdrant.tech/) 向量数据库交互的 MCP 服务器。该服务器提供管理向量、执行相似性搜索以及使用 MCP(主控程序)框架进行自动文本到向量嵌入的工具。
## 特性
- 使用 FastEmbed 进行自动文本到向量嵌入
- 使用向量搜索存储和检索文本内容
- 通过环境变量使用默认集合配置
- 按内容进行文本相似性搜索
- 使用优化模型进行高效嵌入
## 配置
根据 `.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](https://github.com/qdrant/fastembed) 支持的模型。
## 使用
### 本地运行
1. 安装包:
```
pip install -e .
```
2. 运行服务器:
```
qdrant-mcp-server
```
### 使用 Docker 运行
1. 构建 Docker 镜像:
```
docker build -t qdrant-mcp-server .
```
2. 运行容器:
```
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]"
```
2. 运行测试:
```
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="法国的首都是什么?",
metadata={"category": "geography", "type": "question"}
)
```
### 搜索相似文本
```
await search_similar_text(
query="巴黎是哪个国家的首都?",
limit=5
)
```
### 存储多个文本
```
await store_texts(
texts=["巴黎在法国", "伦敦在英格兰", "柏林在德国"],
metadatas=[
{"category": "geography", "country": "France"},
{"category": "geography", "country": "England"},
{"category": "geography", "country": "Germany"}
]
)
```
连接信息
猜你喜欢
Firecrawl
Firecrawl MCP Server 实现了网页抓取、爬虫和内容提取功能。
MarkItDown MCP
MarkItDown-MCP是一个轻量级服务器,用于将URI转换为Markdown。
MarkItDown
将文件和办公文档转换为Markdown的Python工具。
OmniRoute
永不停息的编码。免费 AI 网关 — 一个端点,160+ 提供商,零停机时间。智能 4 级自动降级(订阅 → API → 廉价 →...
文件系统操作
Node.js MCP服务器,用于文件系统操作,支持动态访问控制。
TrendRadar
TrendRadar:30秒内为您提供真实新闻的热点助手。