qdrant-mcp
qdrant-mcp
MCP-сервер для загрузки документов и семантического поиска в Qdrant.
Обзор
qdrant-mcp предоставляет инструменты для:
загрузки локальных документов в коллекцию Qdrant
генерации эмбеддингов с помощью OpenAI
выполнения векторного поиска с дополнительными фильтрами метаданных
Related MCP server: mcp-server-qdrant
Функции
ingest_documentsпреобразует файлы, такие как
docx,pptxиpdf, в Markdown с помощью MarkItDownразбивает содержимое на фрагменты (чанки) с использованием
chunk_sizeиoverlap_ratioсоздает эмбеддинги фрагментов с помощью OpenAI Embeddings (по умолчанию
text-embedding-3-small)выполняет upsert текста фрагмента и метаданных в Qdrant
search_documentsсоздает эмбеддинг текста запроса с помощью того же API эмбеддингов
извлекает топ
kсовпадений из Qdrantподдерживает фильтрацию по
categoryиpath
Требования
Python 3.11+
uvQdrant (например,
http://localhost:6333)OPENAI_API_KEY
Настройка
uv syncЗапуск внутри CLI Codex
[mcp_servers.qdrant-mcp]
command = "uv"
args = ["run", "qdrant-mcp"]
cwd = "/sandbox/qdrant-mcp"
env = {
OPENAI_API_KEY = "sk-...",
QDRANT_URL = "http://127.0.0.1:6333",
QDRANT_API_KEY = "QDRANT_API_KEY",
QDRANT_COLLECTION = "codex_collection",
CHUNK_HEADER_MODEL = "gpt-5.4-mini"
}Тестирование
Установите OPENAI_API_KEY, QDRANT_URL и QDRANT_API_KEY в файле .env, затем выполните:
uv run python -m unittest tests/integration/test_qdrant_integration.pyИнструменты MCP
ingest_documents
Параметры:
paths: list[str]category: strchunk_size: int = 1200overlap_ratio: float = 0.15embedding_model: str = "text-embedding-3-small"chunk_header_mode: Literal["enabled", "disabled"] = "enabled"
Возвращает:
collectionembedding_modelingested_filesingested_pointsfailed_files
search_documents
Параметры:
query: strtop_k: int = 5category: str | None = Nonepath: str | None = Noneembedding_model: str = "text-embedding-3-small"
Возвращает:
collectionembedding_modelquerycountresults(score,path,category,chunk_index,text)
delete_documents_by_path
Параметры:
path: strcategory: str | None = None
Возвращает:
collectionpathcategorystatusoperation_id
list_category
Параметры:
limit: int = 100
Возвращает:
collectioncountcategories
list_path
Параметры:
category: strlimit: int = 1000
Возвращает:
collectioncategorycountpaths
Примечания
Если целевая коллекция не существует, она создается автоматически при первой загрузке.
Если индексы полезной нагрузки (payload) для
categoryиpathне существуют, они создаются во время загрузки.По умолчанию при загрузке к каждому фрагменту добавляется сгенерированный
Chunk-Header(макс. 64 символа), полученный из первых 4096 байт.Модель для Chunk-Header считывается из
CHUNK_HEADER_MODEL, когдаchunk_header_modeимеет значениеenabled(по умолчанию:gpt-5.4-mini).Имя коллекции настраивается только через
QDRANT_COLLECTION(не через параметры инструмента MCP).При использовании
text-embedding-3-smallразмер вектора составляет1536.
Лицензия
См. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
DocBase MCP server for AI agents
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
MCP server for querying Forkast documentation
Related MCP Servers
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.313 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Qdrant vector database with local BERT embeddings. Enables semantic search and vector storage operations through natural language.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that searches documents in Qdrant using embeddings from LMStudio. Takes a text query, converts it to a vector via LMStudio's OpenAI-compatible API, and performs semantic search in Qdrant.8 npmISC
- FlicenseNot gradedqualityCmaintenanceMCP server for retrieving answers from local PDFs using RAG with FAISS and OpenAI.-