Skip to main content
Glama

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_URL

URL сервера Qdrant

Никто

QDRANT_API_KEY

API-ключ для сервера 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 для документации или других типов контента.

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

Вы можете расширить возможности 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

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

Установить с помощью UVX в VS Code Установка с помощью UVX в VS Code Insiders

Установка с помощью Docker в VS Code Установка с помощью Docker в VS Code Insiders

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

Добавьте следующий блок 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 -
    6
    124
    Apache 2.0
    • Apple
  • A
    security
    A
    license
    A
    quality
    An MCP server implementation that integrates the SearxNG API, providing web search capabilities.
    Last updated -
    2
    1,333
    247
    MIT License
    • Linux
    • 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 -
    7
    16
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    A Machine Control Protocol (MCP) server that enables storing and retrieving information from a Qdrant vector database with semantic search capabilities.
    Last updated -
    • Linux
    • Apple

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