searchLABSCO SUMMARY
Conflict detection is the tool most knowledge-base servers do not have.
When the same answer lives in a Confluence page, a JIRA comment and a README, the useful question is which one contradicts the others — and that is a first-class search here rather than something you notice by accident. Setup is a two-step commitment: ingestion and serving are separate packages with separate runs, so budget time to get the source config right before the search quality means anything.
What it is
Two halves of one toolkit: an ingestion engine that pulls content from multiple sources, converts and chunks it, and writes vectors into Qdrant; and an MCP server that gives coding assistants intelligent search over what was ingested.
What you get
search— semantic search across everything indexed, filterable by source type and projecthierarchy_search— structure-aware search that understands parent-child document relationships and reports gaps in a documentation treeattachment_search— a dedicated path for files attached to pages and tickets- Cross-document intelligence:
find_similar_documents,analyze_relationships,cluster_documents,find_complementary_content, anddetect_document_conflictsfor contradictions between sources expand_document,expand_clusterandexpand_chunk_contextfor pulling more context once a result looks right- Connectors for Git, Confluence and JIRA (Cloud and Data Center), public docs and local files, with conversion of PDF, Office documents, images, audio, EPUB and ZIP
Requirements
Install qdrant-loader and qdrant-loader-mcp-server from PyPI. A Qdrant instance reachable at QDRANT_URL with a QDRANT_COLLECTION_NAME, and an LLM provider for embeddings — OpenAI, Azure OpenAI, Ollama or a custom endpoint, configured in one unified block. Create a workspace, declare your sources in a config file, run the ingest, then start the MCP server pointing at the same config and env file.
Setup effort
Follow the published steps — pip install qdrant-loader qdrant-loader-mcp-server
USE CASES
Answering a question that spans docs, tickets and code
Search once across every ingested source instead of checking Confluence, JIRA and the repository separately.
Finding where documentation contradicts itself
Run conflict detection across the corpus and get the pairs that disagree.
Deciding where a new page belongs
Read the existing structure with hierarchy search and place it where the tree is actually thin.
Following a promising result outward
Expand the document for full context, then look for similar and complementary material around it.
Digging out a spec that was only ever an attachment
Search attachments directly rather than hoping the parent page mentions the filename.
11 tools
Listed in project docs. Your client may show a different list.
hierarchy_searchattachment_searchanalyze_relationshipsfind_similar_documentsdetect_document_conflictsfind_complementary_contentcluster_documentsexpand_documentexpand_clusterexpand_chunk_contextBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
LLM_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install qdrant-loader qdrant-loader-mcp-server
mkdir my-workspace && cd my-workspace
qdrant-loader init --workspace .Edit .env with your Qdrant connection (QDRANT_URL, QDRANT_COLLECTION_NAME) and LLM provider settings, and declare your data sources in config.yaml
qdrant-loader ingest --workspace .MCP Clients
Cursor
{
"mcpServers": {
"qdrant-loader": {
"command": "<YOUR_PATH_TO_VENV>/bin/mcp-qdrant-loader",
"args": [
"--config",
"<YOUR_PATH_TO_CONFIG>",
"--env",
"<YOUR_PATH_TO_ENV>"
]
}
}
}