QDrant Loader
A toolkit for loading data into the Qdrant vector database, supporting AI-powered development workflows.
QDrant Loader
📝 Changelog v1.0.2 - Latest improvements and bug fixes
🎯 What is QDrant Loader?
QDrant Loader is a data ingestion and retrieval system that collects content from multiple sources, processes and vectorizes it, then provides intelligent search capabilities through a Model Context Protocol (MCP) server for AI development tools.
Perfect for:
- 🤖 AI-powered development with Cursor, Windsurf, and other MCP-compatible tools
- 📚 Knowledge base creation from technical documentation
- 🔍 Intelligent code assistance with contextual information
- 🏢 Enterprise content integration from multiple data sources
📦 Packages
This monorepo contains three complementary packages:
🔄 QDrant Loader
Data ingestion and processing engine
Collects and vectorizes content from multiple sources into QDrant vector database.
Key Features:
- Multi-source connectors: Git, Confluence (Cloud & Data Center), JIRA (Cloud & Data Center), Public Docs, Local Files
- File conversion: PDF, Office docs (Word, Excel, PowerPoint), images, audio, EPUB, ZIP, and more using MarkItDown
- Smart chunking: Modular chunking strategies with intelligent document processing and hierarchical context
- Incremental updates: Change detection and efficient synchronization
- Multi-project support: Organize sources into projects with shared collections
- Provider-agnostic LLM: OpenAI, Azure OpenAI, Ollama, and custom endpoints with unified configuration
⚙️ QDrant Loader Core
Core library and LLM abstraction layer
Provides the foundational components and provider-agnostic LLM interface used by other packages.
Key Features:
- LLM Provider Abstraction: Unified interface for OpenAI, Azure OpenAI, Ollama, and custom endpoints
- Configuration Management: Centralized settings and validation for LLM providers
- Rate Limiting: Built-in rate limiting and request management
- Error Handling: Robust error handling and retry mechanisms
- Logging: Structured logging with configurable levels
🔌 QDrant Loader MCP Server
AI development integration layer
Model Context Protocol server providing search capabilities to AI development tools.
Key Features:
- MCP Protocol 2025-06-18: Latest protocol compliance with dual transport support (stdio + HTTP)
- Advanced search tools: Semantic search, hierarchy-aware search, attachment discovery, and conflict detection
- Cross-document intelligence: Document similarity, clustering, relationship analysis, and knowledge graphs
- Streaming capabilities: Server-Sent Events (SSE) for real-time search results
- Production-ready: HTTP transport with security, session management, and health checks
🚀 Quick Start
Installation
# Install both packages
pip install qdrant-loader qdrant-loader-mcp-server
# Or install individually
pip install qdrant-loader # Data ingestion only
pip install qdrant-loader-mcp-server # MCP server only
5-Minute Setup
-
Create a workspace
mkdir my-workspace && cd my-workspace -
Initialize workspace with templates
qdrant-loader init --workspace . -
Configure your environment (edit
.env)# Qdrant connection QDRANT_URL=http://localhost:6333 QDRANT_COLLECTION_NAME=my_docs # LLM provider (new unified configuration) OPENAI_API_KEY=your_openai_key LLM_PROVIDER=openai LLM_BASE_URL=https://api.openai.com/v1 LLM_EMBEDDING_MODEL=text-embedding-3-small LLM_CHAT_MODEL=gpt-4o-mini -
Configure data sources (edit
config.yaml)global: qdrant: url: "http://localhost:6333" collection_name: "my_docs" llm: provider: "openai" base_url: "https://api.openai.com/v1" api_key: "${OPENAI_API_KEY}" models: embeddings: "text-embedding-3-small" chat: "gpt-4o-mini" embeddings: vector_size: 1536 projects: my-project: project_id: "my-project" sources: git: docs-repo: base_url: "https://github.com/your-org/your-repo.git" branch: "main" file_types: ["*.md", "*.rst"] -
Load your data
qdrant-loader ingest --workspace . -
Start the MCP server
mcp-qdrant-loader --env /path/tp/your/.env
🔧 MCP-Compatible IDE Setup
QDrant Loader works with any IDE/tool that supports MCP, including Cursor, Windsurf, and Claude Desktop.
Minimal MCP server entry (adapt path/format to your tool):
{
"mcpServers": {
"qdrant-loader": {
"command": "/path/to/venv/bin/mcp-qdrant-loader",
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_COLLECTION_NAME": "my_docs",
"OPENAI_API_KEY": "your_key"
}
}
}
}
Alternative: Use configuration file (recommended for complex setups):
{
"mcpServers": {
"qdrant-loader": {
"command": "/path/to/venv/bin/mcp-qdrant-loader",
"args": [
"--config",
"/path/to/your/config.yaml",
"--env",
"/path/to/your/.env"
]
}
}
}
For tool-specific setup and exact config format:
Example queries in AI tools:
- "Find documentation about authentication in our API"
- "Show me examples of error handling patterns"
- "What are the deployment requirements for this service?"
- "Find all attachments related to database schema"
📚 Documentation
Getting Started
- Getting Started - Quick start and core concepts
- Installation Guide - Complete setup instructions
- Quick Start - Step-by-step tutorial
- Core Concepts - Understand the core architecture: workspace model, projects and sources, ingestion pipeline, and MCP search flow
User Guides
- User Guides - Detailed usage instructions
- Configuration - Complete configuration reference
- Data Sources - Git, Confluence, JIRA setup
- File Conversion - File processing capabilities
- MCP Server - AI tool integration
🛠️ Developer Resources
- Developer hub - Developer guides for architecture, testing, deployment, and contribution workflows.
- Architecture - System design overview
- Testing - Testing guide and best practices
🆘 Support
- Issues - Bug reports and feature requests
- Discussions - Community Q&A
🤝 Contributing
We welcome contributions! See our Contributing Guide for:
- Development environment setup
- Code style and standards
- Pull request process
Quick Development Setup
# Clone and setup
git clone https://github.com/martin-papy/qdrant-loader.git
cd qdrant-loader
# Sync workspace environment (recommended)
uv sync --all-packages --all-extras
# Add a new dependency during development
uv add fastapi
uv sync
📄 License
This project is licensed under the GNU GPLv3 - see the LICENSE file for details.
Ready to get started? Check out our Quick Start Guide or browse the complete documentation.
Related Servers
Canada's Food Guide
A nutrition analysis platform integrating Canada's Food Guide recipes with Health Canada's official nutrition databases.
MCP ODBC Server
Access ODBC-accessible data sources using a configured Data Source Name (DSN).
Local FAISS
About Local FAISS vector store as an MCP server – drop-in local RAG for Claude / Copilot / Agents.
Databricks MCP Server
Interact with Databricks Unity Catalog metadata to explore catalogs, schemas, tables, and execute SQL queries.
FinanceMCP
Provides real-time financial data using the Tushare API.
楼宇大数据服务
Provides comprehensive building and office address information queries, including enterprise office address search and building information queries.
Memory-Plus
a lightweight, local RAG memory store to record, retrieve, update, delete, and visualize persistent "memories" across sessions—perfect for developers working with multiple AI coders (like Windsurf, Cursor, or Copilot) or anyone who wants their AI to actually remember them.
Gremlin
Interact with any Gremlin-compatible graph database using natural language, with support for schema discovery, complex queries, and data import/export.
Microsoft Fabric Analytics
An analytics server providing tools for interacting with the Microsoft Fabric data platform.
Certinia MCP Server by CData
A read-only MCP server that allows LLMs to query live Certinia data. Powered by CData.