[project]
name = "qdrant-rag-mcp"
version = "0.3.4.post6"
description = "Qdrant RAG MCP Server"
requires-python = ">=3.12"
dependencies = [
"qdrant-client>=1.14.2,<2.0.0",
"sentence-transformers>=4.1.0,<5.0.0",
"langchain>=0.3.25,<0.4.0",
"langchain-community>=0.3.24,<0.4.0",
"langchain-text-splitters>=0.3.8,<0.4.0",
"rank-bm25>=0.2.2,<1.0.0",
"tiktoken>=0.7.0,<1.0.0",
"mcp>=1.8.1,<2.0.0",
"python-dotenv>=1.1.0,<2.0.0",
"watchdog>=6.0.0,<7.0.0",
"pydantic>=2.8.2,<3.0.0",
"uvicorn>=0.34.2,<1.0.0",
"httpx>=0.27.0,<1.0.0",
"fastapi>=0.115.12,<1.0.0",
"pyyaml>=6.0.1,<7.0.0",
"requests>=2.32.3,<3.0.0",
"pygithub>=2.6.1,<3.0.0",
"gitpython>=3.1.44,<4.0.0",
"psutil>=5.9.0,<6.0.0",
"gql[aiohttp]>=3.4.1,<4.0.0",
"aiohttp>=3.8.0,<4.0.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src"]
[tool.uv]
dev-dependencies = [
"pytest>=8.3.5,<9.0.0",
"pytest-asyncio>=0.21.0,<1.0.0",
"pytest-cov>=6.1.1,<7.0.0",
"black>=23.3.0,<26.0.0",
"flake8>=6.0.0,<8.0.0",
"mypy>=1.5.0,<2.0.0",
"pre-commit>=3.3.0,<5.0.0"
]
[project.optional-dependencies]
watch = ["watchdog>=6.0.0,<7.0.0"]
performance = [
"orjson>=3.10.18,<4.0.0", # Faster JSON parsing
"numpy>=2.1.0,<3.0.0", # NumPy 2.x for Python 3.12
"torch>=2.4.0,<3.0.0" # GPU acceleration
]
models = [
"einops>=0.8.0", # Required for nomic-ai/CodeRankEmbed and jinaai/jina-embeddings-v3
"InstructorEmbedding>=1.0.0", # Required for hkunlp/instructor-large
"huggingface-hub[hf_xet]" # Better download performance for models
]