mcp-server-qdrant: MCP-сервер Qdrant
Model Context Protocol (MCP) — это открытый протокол, который обеспечивает бесшовную интеграцию между приложениями LLM и внешними источниками данных и инструментами. Независимо от того, создаете ли вы IDE на базе ИИ, улучшаете интерфейс чата или создаете собственные рабочие процессы ИИ, MCP предоставляет стандартизированный способ подключения LLM к необходимому им контексту.
Этот репозиторий представляет собой пример создания MCP-сервера для Qdrant , векторной поисковой системы.
Обзор
Официальный сервер Model Context Protocol для хранения и извлечения воспоминаний в векторной поисковой системе Qdrant. Он действует как семантический слой памяти поверх базы данных Qdrant.
Компоненты
Инструменты
qdrant-store
- Сохраните некоторую информацию в базе данных Qdrant
- Вход:
information
(строка): Информация для храненияmetadata
(JSON): необязательные метаданные для храненияcollection_name
(string): Имя коллекции для хранения информации. Это поле обязательно, если нет имени коллекции по умолчанию. Если есть имя коллекции по умолчанию, это поле не включено.
- Возврат: Подтверждающее сообщение
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 не требуется специальной установки.
Транспортные протоколы
Сервер поддерживает различные транспортные протоколы, которые можно указать с помощью флага --transport
:
Поддерживаемые транспортные протоколы:
stdio
(по умолчанию): стандартный транспорт ввода/вывода, может использоваться только локальными клиентами MCPsse
: транспорт событий, отправленных сервером, идеально подходит для удаленных клиентов
Если не указано иное, по умолчанию используется транспорт stdio
.
При использовании транспорта SSE сервер будет прослушивать указанный порт и ждать входящие соединения. Порт по умолчанию — 8000, однако его можно изменить с помощью переменной среды FASTMCP_PORT
.
Использование Докера
Для сборки и запуска сервера MCP доступен Dockerfile:
Установка через Smithery
Чтобы автоматически установить Qdrant MCP Server для Claude Desktop через Smithery :
Ручная настройка Claude Desktop
Чтобы использовать этот сервер с приложением Claude Desktop, добавьте следующую конфигурацию в раздел «mcpServers» вашего claude_desktop_config.json
:
Для локального режима Qdrant:
Этот MCP-сервер автоматически создаст коллекцию с указанным именем, если она не существует.
По умолчанию сервер будет использовать модель встраивания sentence-transformers/all-MiniLM-L6-v2
для кодирования воспоминаний. На данный момент поддерживаются только модели FastEmbed .
Поддержка других инструментов
Этот сервер MCP можно использовать с любым клиентом, совместимым с MCP. Например, вы можете использовать его с Cursor и VS Code , которые предоставляют встроенную поддержку Model Context Protocol.
Использование с курсором/виндсерфингом
Вы можете настроить этот сервер MCP для работы в качестве инструмента поиска кода для Cursor или Windsurf, настроив описания инструментов:
В Cursor/Windsurf вы можете настроить сервер MCP в своих настройках, указав на этот работающий сервер с помощью транспортного протокола SSE. Описание того, как добавить сервер MCP в Cursor, можно найти в документации Cursor . Если вы используете Cursor/Windsurf локально, вы можете использовать следующий URL:
[!TIP] Мы рекомендуем транспорт SSE как предпочтительный способ подключения Cursor/Windsurf к серверу MCP, поскольку он может поддерживать удаленные соединения. Это позволяет легко делиться сервером с вашей командой или использовать его в облачной среде.
Такая конфигурация превращает сервер Qdrant MCP в специализированный инструмент поиска кода, который может:
- Сохраните фрагменты кода, документацию и детали реализации.
- Извлекайте соответствующие примеры кода на основе семантического поиска
- Помогите разработчикам найти конкретные реализации или шаблоны использования
Вы можете заполнить базу данных, сохранив описания фрагментов кода на естественном языке (в параметре information
) вместе с самим кодом (в свойстве metadata.code
), а затем искать их с помощью запросов на естественном языке, описывающих то, что вы ищете.
[!ПРИМЕЧАНИЕ] Описания инструментов, приведенные выше, являются примерами и могут потребовать настройки для вашего конкретного варианта использования. Рассмотрите возможность корректировки описаний для лучшего соответствия рабочему процессу вашей команды и конкретным типам фрагментов кода, которые вы хотите хранить и извлекать.
Если вы успешно установили mcp-server-qdrant
, но все еще не можете заставить его работать с Cursor, пожалуйста, рассмотрите возможность создания правил Cursor , чтобы инструменты MCP всегда использовались, когда агент создает новый фрагмент кода. Вы можете ограничить правила, чтобы они работали только для определенных типов файлов, чтобы избежать использования сервера MCP для документации или других типов контента.
Использование с Клодом Кодом
Вы можете расширить возможности Claude Code, подключив его к этому серверу MCP, что позволит выполнять семантический поиск по вашей существующей кодовой базе.
Настройка mcp-server-qdrant
- Добавьте сервер MCP в код Клода:
- Убедитесь, что сервер добавлен:
Использование поиска семантического кода в Claude Code
Описания инструментов, указанные в TOOL_STORE_DESCRIPTION
и TOOL_FIND_DESCRIPTION
, направляют Claude Code по использованию сервера MCP. Приведенные выше примеры могут потребовать настройки для вашего конкретного варианта использования. Однако Claude Code должен уже уметь:
- Используйте инструмент
qdrant-store
для хранения фрагментов кода с описаниями. - Используйте инструмент
qdrant-find
для поиска соответствующих фрагментов кода с использованием естественного языка.
Запустить сервер MCP в режиме разработки
Сервер MCP можно запустить в режиме разработки с помощью команды mcp dev
. Это запустит сервер и откроет инспектор MCP в вашем браузере.
Использование с VS Code
Для установки в один клик нажмите одну из кнопок установки ниже:
Ручная установка
Добавьте следующий блок JSON в файл настроек пользователя (JSON) в VS Code. Это можно сделать, нажав Ctrl + Shift + P
и введя Preferences: Open User Settings (JSON)
.
Или, если вы предпочитаете использовать Docker, добавьте вместо этого следующую конфигурацию:
Кроме того, вы можете создать в своей рабочей области файл .vscode/mcp.json
со следующим содержимым:
Для конфигурации рабочего пространства с Docker используйте это в .vscode/mcp.json
:
Внося вклад
Если у вас есть предложения по улучшению mcp-server-qdrant или вы хотите сообщить об ошибке, создайте тему! Мы будем рады любому вкладу.
Тестирование mcp-server-qdrant
локально
Инспектор MCP — это инструмент разработчика для тестирования и отладки серверов MCP. Он запускает как клиентский пользовательский интерфейс (порт по умолчанию 5173), так и прокси-сервер MCP (порт по умолчанию 3000). Откройте клиентский пользовательский интерфейс в браузере, чтобы использовать инспектор.
После запуска откройте в браузере адрес http://localhost:5173, чтобы получить доступ к интерфейсу инспектора.
Лицензия
Этот сервер MCP лицензирован по Apache License 2.0. Это означает, что вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями Apache License 2.0. Более подробную информацию см. в файле LICENSE в репозитории проекта.
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Этот репозиторий представляет собой пример создания MCP-сервера для Qdrant, векторной поисковой системы.
Related MCP Servers
- -securityAlicense-qualityA 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 -1474JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP server for searching npm packagesLast updated -1477JavaScriptMIT License
- -securityFlicense-qualityFacilitates 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 -334TypeScript
- -securityAlicense-qualityMCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)Last updated -1PythonMIT License