使用说明
Qdrant MCP服务器
一种模型上下文协议(MCP)服务器,使用具有可配置嵌入提供者的Qdrant向量数据库提供语义记忆功能。
特性
- 多个嵌入提供程序:
- OpenAI(文本嵌入-3小,文本嵌入-3大,文本嵌入-ada-002)
- 句子转换器(全MiniLM-L6-v2、全mpnet-base-v2等)
- 语义搜索:使用向量相似度存储和检索信息
- 灵活的配置:所有设置的环境变量
- MCP工具:存储、查找、删除和列出操作
- 元数据支持:将自定义元数据附加到存储的内容
安装
通过uvx(建议用于MCP)
默认情况下,服务器被设计为轻量级。使用OpenAI嵌入时:
# For OpenAI embeddings (lightweight, no ML dependencies)
uvx qdrant-mcp
对于使用句子转换器的本地嵌入:
# For local embeddings (includes torch and other ML libraries)
uvx --with sentence-transformers qdrant-mcp
通过pip(开发)
# Clone the repository
git clone https://github.com/andrewlwn77/qdrant-mcp.git
cd qdrant-mcp
# Basic install (OpenAI embeddings only)
pip install -e .
# With local embeddings support
pip install -e . sentence-transformers
配置
可以使用环境变量配置服务器:
所需的环境变量
EMBEDDING_PROVIDER:从中选择openai或sentence-transformersEMBEDDING_MODEL:所选提供程序的型号名称OPENAI_API_KEY:使用OpenAI嵌入时需要
可选环境变量
QDRANT_URL:Qdrant服务器URL(默认值:http://localhost:6333)QDRANT_API_KEY:Qdrant API密钥(可选)COLLECTION_NAME:Qdrant集合名称(默认值:mcp_memory)DEVICE:句子转换器设备(默认:自动检测)DEFAULT_LIMIT:默认搜索结果限制(默认值:10)SCORE_THRESHOLD:最小相似性得分(默认值:0.0)
配置示例
# OpenAI embeddings
export EMBEDDING_PROVIDER=openai
export EMBEDDING_MODEL=text-embedding-3-small
export OPENAI_API_KEY=your-api-key
# Sentence Transformers (local)
export EMBEDDING_PROVIDER=sentence-transformers
export EMBEDDING_MODEL=all-MiniLM-L6-v2
支持的嵌入模型
OpenAI模型
text-embedding-3-small(1536个维度)-默认值text-embedding-3-large(3072个尺寸)text-embedding-ada-002(1536个维度)-传统
句子转换模型
all-MiniLM-L6-v2(384个维度)-快速高效all-mpnet-base-v2(768维)-更高质量- 《拥抱的脸》中的任何其他句子变形金刚模型
用法
启动服务器
# Development mode
python -m qdrant_mcp.server
# With MCP CLI
mcp dev src/qdrant_mcp/server.py
MCP工具
qdrant商店
使用语义嵌入存储内容:
{
"content": "The capital of France is Paris",
"metadata": "{\"category\": \"geography\", \"type\": \"fact\"}",
"id": "optional-custom-id"
}
qdrant查找
搜索相关信息:
{
"query": "What is the capital of France?",
"limit": 5,
"filter": "{\"category\": \"geography\"}",
"score_threshold": 0.7
}
qdrant删除
删除存储的项目:
{
"ids": "id1,id2,id3"
}
qdrant列表集合
在Qdrant中列出所有收藏:
{}
qdrant收集信息
获取有关当前收藏的信息:
{}
与Claude Desktop集成
添加到您的Claude Desktop配置中:
用于OpenAI嵌入(轻量级)
{
"mcpServers": {
"qdrant-memory": {
"command": "uvx",
"args": ["qdrant-mcp"],
"env": {
"EMBEDDING_PROVIDER": "openai",
"EMBEDDING_MODEL": "text-embedding-3-small",
"OPENAI_API_KEY": "your-api-key",
"QDRANT_URL": "https://your-instance.qdrant.io",
"QDRANT_API_KEY": "your-qdrant-api-key"
}
}
}
}
用于本地嵌入(句子转换)
{
"mcpServers": {
"qdrant-memory": {
"command": "uvx",
"args": ["--with", "sentence-transformers", "qdrant-mcp"],
"env": {
"EMBEDDING_PROVIDER": "sentence-transformers",
"EMBEDDING_MODEL": "all-MiniLM-L6-v2",
"QDRANT_URL": "https://your-instance.qdrant.io",
"QDRANT_API_KEY": "your-qdrant-api-key"
}
}
}
}
发展
运行测试
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Type checking
mypy src/
# Linting
ruff check src/
项目结构
qdrant-mcp/
├── src/
│ └── qdrant_mcp/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── settings.py # Configuration management
│ ├── qdrant_client.py # Qdrant operations
│ └── embeddings/
│ ├── base.py # Abstract base class
│ ├── factory.py # Provider factory
│ ├── openai.py # OpenAI implementation
│ └── sentence_transformers.py # ST implementation
└── tests/
└── test_server.py
Docker支持
FROM python:3.10-slim
WORKDIR /app
COPY . .
RUN pip install -e .
CMD ["python", "-m", "qdrant_mcp.server"]
许可证
Apache许可证2.0
贡献
欢迎投稿!请随时提交拉取请求。
