mcp-server-qdrant

Official
by qdrant

mcp-server-qdrant: MCP-сервер Qdrant

Model Context Protocol (MCP) — это открытый протокол, который обеспечивает бесшовную интеграцию между приложениями LLM и внешними источниками данных и инструментами. Независимо от того, создаете ли вы IDE на базе ИИ, улучшаете интерфейс чата или создаете собственные рабочие процессы ИИ, MCP предоставляет стандартизированный способ подключения LLM к необходимому им контексту.

Этот репозиторий представляет собой пример создания MCP-сервера для Qdrant , векторной поисковой системы.

Обзор

Официальный сервер Model Context Protocol для хранения и извлечения воспоминаний в векторной поисковой системе Qdrant. Он действует как семантический слой памяти поверх базы данных Qdrant.

Компоненты

Инструменты

  1. qdrant-store
    • Сохраните некоторую информацию в базе данных Qdrant
    • Вход:
      • information (строка): Информация для хранения
      • metadata (JSON): необязательные метаданные для хранения
      • collection_name (string): Имя коллекции для хранения информации. Это поле обязательно, если нет имени коллекции по умолчанию. Если есть имя коллекции по умолчанию, это поле не включено.
    • Возврат: Подтверждающее сообщение
  2. qdrant-find
    • Получить соответствующую информацию из базы данных Qdrant
    • Вход:
      • query (строка): Запрос, используемый для поиска
      • collection_name (string): Имя коллекции для хранения информации. Это поле обязательно, если нет имени коллекции по умолчанию. Если есть имя коллекции по умолчанию, это поле не включено.
    • Возвращает: Информация хранится в базе данных Qdrant в виде отдельных сообщений.

Переменные среды

Конфигурация сервера выполняется с помощью переменных среды:

ИмяОписаниеЗначение по умолчанию
QDRANT_URLURL сервера QdrantНикто
QDRANT_API_KEYAPI-ключ для сервера QdrantНикто
COLLECTION_NAMEИмя используемой по умолчанию коллекции.Никто
QDRANT_LOCAL_PATHПуть к локальной базе данных Qdrant (альтернатива QDRANT_URL )Никто
EMBEDDING_PROVIDERПоставщик встраиваемых решений для использования (в настоящее время поддерживается только «fastembed»)fastembed
EMBEDDING_MODELИмя используемой модели внедренияsentence-transformers/all-MiniLM-L6-v2
TOOL_STORE_DESCRIPTIONПользовательское описание для инструмента магазинаСмотрите значение по умолчанию в settings.py
TOOL_FIND_DESCRIPTIONПользовательское описание для инструмента поискаСмотрите значение по умолчанию в settings.py

Примечание: одновременно указать QDRANT_URL и QDRANT_LOCAL_PATH нельзя.

[!ВАЖНО] Аргументы командной строки больше не поддерживаются! Пожалуйста, используйте переменные среды для всех конфигураций.

Переменные среды FastMCP

Поскольку mcp-server-qdrant основан на FastMCP, он также поддерживает все переменные окружения FastMCP. Наиболее важные из них перечислены ниже:

Переменная средыОписаниеЗначение по умолчанию
FASTMCP_DEBUGВключить режим отладкиfalse
FASTMCP_LOG_LEVELУстановить уровень ведения журнала (DEBUG, INFO, WARNING, ERROR, CRITICAL)INFO
FASTMCP_HOSTАдрес хоста для привязки сервера0.0.0.0
FASTMCP_PORTПорт для запуска сервера8000
FASTMCP_WARN_ON_DUPLICATE_RESOURCESПоказывать предупреждения о дублирующихся ресурсахtrue
FASTMCP_WARN_ON_DUPLICATE_TOOLSПоказывать предупреждения о дублирующихся инструментахtrue
FASTMCP_WARN_ON_DUPLICATE_PROMPTSПоказывать предупреждения о дублирующихся подсказкахtrue
FASTMCP_DEPENDENCIESСписок зависимостей для установки в серверной среде[]

Установка

Использование UVX

При использовании uvx для непосредственного запуска mcp-server-qdrant не требуется специальной установки.

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ uvx mcp-server-qdrant
Транспортные протоколы

Сервер поддерживает различные транспортные протоколы, которые можно указать с помощью флага --transport :

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ uvx mcp-server-qdrant --transport sse

Поддерживаемые транспортные протоколы:

  • stdio (по умолчанию): стандартный транспорт ввода/вывода, может использоваться только локальными клиентами MCP
  • sse : транспорт событий, отправленных сервером, идеально подходит для удаленных клиентов

Если не указано иное, по умолчанию используется транспорт stdio .

При использовании транспорта SSE сервер будет прослушивать указанный порт и ждать входящие соединения. Порт по умолчанию — 8000, однако его можно изменить с помощью переменной среды FASTMCP_PORT .

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="my-collection" \ FASTMCP_PORT=1234 \ uvx mcp-server-qdrant --transport sse

Использование Докера

Для сборки и запуска сервера MCP доступен Dockerfile:

# Build the container docker build -t mcp-server-qdrant . # Run the container docker run -p 8000:8000 \ -e QDRANT_URL="http://your-qdrant-server:6333" \ -e QDRANT_API_KEY="your-api-key" \ -e COLLECTION_NAME="your-collection" \ mcp-server-qdrant

Установка через Smithery

Чтобы автоматически установить Qdrant MCP Server для Claude Desktop через Smithery :

npx @smithery/cli install mcp-server-qdrant --client claude

Ручная настройка Claude Desktop

Чтобы использовать этот сервер с приложением Claude Desktop, добавьте следующую конфигурацию в раздел «mcpServers» вашего claude_desktop_config.json :

{ "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333", "QDRANT_API_KEY": "your_api_key", "COLLECTION_NAME": "your-collection-name", "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2" } } }

Для локального режима Qdrant:

{ "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_LOCAL_PATH": "/path/to/qdrant/database", "COLLECTION_NAME": "your-collection-name", "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2" } } }

Этот MCP-сервер автоматически создаст коллекцию с указанным именем, если она не существует.

По умолчанию сервер будет использовать модель встраивания sentence-transformers/all-MiniLM-L6-v2 для кодирования воспоминаний. На данный момент поддерживаются только модели FastEmbed .

Поддержка других инструментов

Этот сервер MCP можно использовать с любым клиентом, совместимым с MCP. Например, вы можете использовать его с Cursor и VS Code , которые предоставляют встроенную поддержку Model Context Protocol.

Использование с курсором/виндсерфингом

Вы можете настроить этот сервер MCP для работы в качестве инструмента поиска кода для Cursor или Windsurf, настроив описания инструментов:

QDRANT_URL="http://localhost:6333" \ COLLECTION_NAME="code-snippets" \ TOOL_STORE_DESCRIPTION="Store reusable code snippets for later retrieval. \ The 'information' parameter should contain a natural language description of what the code does, \ while the actual code should be included in the 'metadata' parameter as a 'code' property. \ The value of 'metadata' is a Python dictionary with strings as keys. \ Use this whenever you generate some code snippet." \ TOOL_FIND_DESCRIPTION="Search for relevant code snippets based on natural language descriptions. \ The 'query' parameter should describe what you're looking for, \ and the tool will return the most relevant code snippets. \ Use this when you need to find existing code snippets for reuse or reference." \ uvx mcp-server-qdrant --transport sse # Enable SSE transport

В Cursor/Windsurf вы можете настроить сервер MCP в своих настройках, указав на этот работающий сервер с помощью транспортного протокола SSE. Описание того, как добавить сервер MCP в Cursor, можно найти в документации Cursor . Если вы используете Cursor/Windsurf локально, вы можете использовать следующий URL:

http://localhost:8000/sse

[!TIP] Мы рекомендуем транспорт SSE как предпочтительный способ подключения Cursor/Windsurf к серверу MCP, поскольку он может поддерживать удаленные соединения. Это позволяет легко делиться сервером с вашей командой или использовать его в облачной среде.

Такая конфигурация превращает сервер Qdrant MCP в специализированный инструмент поиска кода, который может:

  1. Сохраните фрагменты кода, документацию и детали реализации.
  2. Извлекайте соответствующие примеры кода на основе семантического поиска
  3. Помогите разработчикам найти конкретные реализации или шаблоны использования

Вы можете заполнить базу данных, сохранив описания фрагментов кода на естественном языке (в параметре information ) вместе с самим кодом (в свойстве metadata.code ), а затем искать их с помощью запросов на естественном языке, описывающих то, что вы ищете.

[!ПРИМЕЧАНИЕ] Описания инструментов, приведенные выше, являются примерами и могут потребовать настройки для вашего конкретного варианта использования. Рассмотрите возможность корректировки описаний для лучшего соответствия рабочему процессу вашей команды и конкретным типам фрагментов кода, которые вы хотите хранить и извлекать.

Если вы успешно установили mcp-server-qdrant , но все еще не можете заставить его работать с Cursor, пожалуйста, рассмотрите возможность создания правил Cursor , чтобы инструменты MCP всегда использовались, когда агент создает новый фрагмент кода. Вы можете ограничить правила, чтобы они работали только для определенных типов файлов, чтобы избежать использования сервера MCP для документации или других типов контента.

Использование с Клодом Кодом

Вы можете расширить возможности Claude Code, подключив его к этому серверу MCP, что позволит выполнять семантический поиск по вашей существующей кодовой базе.

Настройка mcp-server-qdrant
  1. Добавьте сервер MCP в код Клода:
    # Add mcp-server-qdrant configured for code search claude mcp add code-search \ -e QDRANT_URL="http://localhost:6333" \ -e COLLECTION_NAME="code-repository" \ -e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \ -e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \ -e TOOL_FIND_DESCRIPTION="Search for relevant code snippets using natural language. The 'query' parameter should describe the functionality you're looking for." \ -- uvx mcp-server-qdrant
  2. Убедитесь, что сервер добавлен:
    claude mcp list
Использование поиска семантического кода в Claude Code

Описания инструментов, указанные в TOOL_STORE_DESCRIPTION и TOOL_FIND_DESCRIPTION , направляют Claude Code по использованию сервера MCP. Приведенные выше примеры могут потребовать настройки для вашего конкретного варианта использования. Однако Claude Code должен уже уметь:

  1. Используйте инструмент qdrant-store для хранения фрагментов кода с описаниями.
  2. Используйте инструмент qdrant-find для поиска соответствующих фрагментов кода с использованием естественного языка.

Запустить сервер MCP в режиме разработки

Сервер MCP можно запустить в режиме разработки с помощью команды mcp dev . Это запустит сервер и откроет инспектор MCP в вашем браузере.

COLLECTION_NAME=mcp-dev mcp dev src/mcp_server_qdrant/server.py

Использование с VS Code

Для установки в один клик нажмите одну из кнопок установки ниже:

Ручная установка

Добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P и введя Preferences: Open User Settings (JSON) .

{ "mcp": { "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } } }

Или, если вы предпочитаете использовать Docker, добавьте вместо этого следующую конфигурацию:

{ "mcp": { "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "docker", "args": [ "run", "-p", "8000:8000", "-i", "--rm", "-e", "QDRANT_URL", "-e", "QDRANT_API_KEY", "-e", "COLLECTION_NAME", "mcp-server-qdrant" ], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } } }

Кроме того, вы можете создать в своей рабочей области файл .vscode/mcp.json со следующим содержимым:

{ "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "uvx", "args": ["mcp-server-qdrant"], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } }

Для конфигурации рабочего пространства с Docker используйте это в .vscode/mcp.json :

{ "inputs": [ { "type": "promptString", "id": "qdrantUrl", "description": "Qdrant URL" }, { "type": "promptString", "id": "qdrantApiKey", "description": "Qdrant API Key", "password": true }, { "type": "promptString", "id": "collectionName", "description": "Collection Name" } ], "servers": { "qdrant": { "command": "docker", "args": [ "run", "-p", "8000:8000", "-i", "--rm", "-e", "QDRANT_URL", "-e", "QDRANT_API_KEY", "-e", "COLLECTION_NAME", "mcp-server-qdrant" ], "env": { "QDRANT_URL": "${input:qdrantUrl}", "QDRANT_API_KEY": "${input:qdrantApiKey}", "COLLECTION_NAME": "${input:collectionName}" } } } }

Внося вклад

Если у вас есть предложения по улучшению mcp-server-qdrant или вы хотите сообщить об ошибке, создайте тему! Мы будем рады любому вкладу.

Тестирование mcp-server-qdrant локально

Инспектор MCP — это инструмент разработчика для тестирования и отладки серверов MCP. Он запускает как клиентский пользовательский интерфейс (порт по умолчанию 5173), так и прокси-сервер MCP (порт по умолчанию 3000). Откройте клиентский пользовательский интерфейс в браузере, чтобы использовать инспектор.

QDRANT_URL=":memory:" COLLECTION_NAME="test" \ mcp dev src/mcp_server_qdrant/server.py

После запуска откройте в браузере адрес http://localhost:5173, чтобы получить доступ к интерфейсу инспектора.

Лицензия

Этот сервер MCP лицензирован по Apache License 2.0. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями Apache License 2.0. Более подробную информацию см. в файле LICENSE в репозитории проекта.

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.
    Last updated -
    14
    74
    JavaScript
    Apache 2.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    Facilitates knowledge graph representation with semantic search using Qdrant, supporting OpenAI embeddings for semantic similarity and robust HTTPS integration with file-based graph persistence.
    Last updated -
    33
    4
    TypeScript
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    MCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)
    Last updated -
    1
    Python
    MIT License
    • Apple
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/qdrant/mcp-server-qdrant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server