MCP-сервер для Milvus
Model Context Protocol (MCP) — это открытый протокол, который обеспечивает бесшовную интеграцию между приложениями LLM и внешними источниками данных и инструментами. Независимо от того, создаете ли вы IDE на базе ИИ, улучшаете интерфейс чата или создаете собственные рабочие процессы ИИ, MCP предоставляет стандартизированный способ подключения LLM к необходимому им контексту.
Этот репозиторий содержит сервер MCP, который обеспечивает доступ к функциональным возможностям векторной базы данных Milvus .
Предпосылки
Перед использованием этого сервера MCP убедитесь, что у вас есть:
- Python 3.10 или выше
- Работающий экземпляр Milvus (локальный или удаленный)
- uv установлен (рекомендуется для запуска сервера)
Использование
Рекомендуемый способ использования этого сервера MCP — запустить его напрямую с uv
без установки. Вот как Claude Desktop и Cursor настроены для его использования в примерах ниже.
Если вы хотите клонировать репозиторий:
Затем вы можете запустить сервер напрямую:
В качестве альтернативы вы можете изменить файл .env в каталоге src/mcp_server_milvus/
чтобы задать переменные среды и запустить сервер с помощью следующей команды:
Важно: файл .env будет иметь более высокий приоритет, чем аргументы командной строки.
Режимы работы
Сервер поддерживает два режима работы: stdio (по умолчанию) и SSE (Server-Sent Events).
Режим Stdio (по умолчанию)
- Описание : Общается с клиентом через стандартный ввод/вывод. Это режим по умолчанию, если режим не указан.
- Использование:
Режим SSE
- Описание : Использует HTTP Server-Sent Events для связи. Этот режим позволяет нескольким клиентам подключаться через HTTP и подходит для веб-приложений.
- Использование:
--sse
: Включает режим SSE.--port
: Указывает порт для сервера SSE (по умолчанию: 8000).
- Отладка в режиме SSE:Если вы хотите выполнить отладку в режиме SSE, после запуска службы SSE введите следующую команду:Вывод будет примерно таким:Затем вы можете получить доступ к MCP Inspector по адресу
http://127.0.0.1:6274
для тестирования.
Поддерживаемые приложения
Этот сервер MCP можно использовать с различными приложениями LLM, которые поддерживают протокол контекста модели:
- Claude Desktop : настольное приложение Anthropic для Claude
- Курсор : редактор кода на базе искусственного интеллекта с поддержкой MCP
- Пользовательские клиенты MCP : любое приложение, реализующее спецификацию клиента MCP.
Использование с Claude Desktop
Конфигурация для разных режимов
Конфигурация режима SSE
Чтобы настроить Claude Desktop для режима SSE, выполните следующие действия:
- Установите Claude Desktop с https://claude.ai/download .
- Откройте файл конфигурации Claude Desktop:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- Добавьте следующую конфигурацию для режима SSE:
- Перезапустите Claude Desktop, чтобы изменения вступили в силу.
Конфигурация режима stdio
Для режима stdio выполните следующие действия:
- Установите Claude Desktop с https://claude.ai/download .
- Откройте файл конфигурации Claude Desktop:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- Добавьте следующую конфигурацию для режима stdio:
- Перезапустите Claude Desktop, чтобы изменения вступили в силу.
Использование с курсором
Cursor также поддерживает инструменты MCP . Вы можете интегрировать свой сервер Milvus MCP с Cursor, выполнив следующие шаги:
Этапы интеграции
- Откройте
Cursor Settings
>MCP
- Нажмите
Add new global MCP server
- После нажатия вы автоматически перейдете к файлу
mcp.json
, который будет создан, если его не существует.
Настройка файла mcp.json
Для стандартного режима:
Перезапишите файл mcp.json
следующим содержимым:
Для режима SSE:
- Запустите службу, выполнив следующую команду:
Примечание : замените
http://your_sse_host
на фактический адрес вашего хоста SSE, аport
на конкретный номер порта, который вы используете. - После запуска и запуска службы перезапишите файл
mcp.json
следующим содержимым:
Завершение интеграции
После выполнения вышеуказанных шагов перезапустите Cursor или перезагрузите окно, чтобы убедиться, что конфигурация вступила в силу.
Проверка интеграции
Чтобы убедиться, что Cursor успешно интегрировался с вашим сервером Milvus MCP:
- Откройте
Cursor Settings
>MCP
- Проверьте, есть ли в списке «milvus» или «milvus-sse» (в зависимости от выбранного вами режима)
- Убедитесь, что соответствующие инструменты перечислены (например, milvus_list_collections, milvus_vector_search и т. д.)
- Если сервер включен, но выдает ошибку, проверьте раздел «Устранение неполадок» ниже.
Доступные инструменты
Сервер предоставляет следующие инструменты:
Операции поиска и запроса
milvus_text_search
: Поиск документов с помощью полнотекстового поиска- Параметры:
collection_name
: Название коллекции для поискаquery_text
: Текст для поискаlimit
: максимальное количество возвращаемых результатов (по умолчанию: 5)output_fields
: Поля для включения в результатыdrop_ratio
: доля низкочастотных терминов, которые следует игнорировать (0,0–1,0)
- Параметры:
milvus_vector_search
: Выполнение поиска векторного сходства в коллекции- Параметры:
collection_name
: Название коллекции для поискаvector
: Вектор запросаvector_field
: Имя поля для поиска вектора (по умолчанию: «vector»)limit
: максимальное количество возвращаемых результатов (по умолчанию: 5)output_fields
: Поля для включения в результатыfilter_expr
: Выражение фильтраmetric_type
: Метрика расстояния (КОСИНУС, L2, IP) (по умолчанию: «КОСИНУС»)
- Параметры:
milvus_hybrid_search
: Выполнить гибридный поиск по коллекции- Параметры:
collection_name
: Название коллекции для поискаquery_text
: Текстовый запрос для поискаtext_field
: Имя поля для текстового поискаvector
: Вектор текстового запросаvector_field
: Имя поля для поиска вектораlimit
: максимальное количество возвращаемых результатовoutput_fields
: Поля для включения в результатыfilter_expr
: Выражение фильтра
- Параметры:
milvus_query
: Запрос коллекции с использованием выражений фильтра- Параметры:
collection_name
: Имя коллекции для запросаfilter_expr
: Выражение фильтра (например, «возраст > 20»)output_fields
: Поля для включения в результатыlimit
: максимальное количество возвращаемых результатов (по умолчанию: 10)
- Параметры:
Управление коллекциями
milvus_list_collections
: Список всех коллекций в базе данныхmilvus_create_collection
: Создать новую коллекцию с указанной схемой- Параметры:
collection_name
: Название новой коллекцииcollection_schema
: Определение схемы коллекцииindex_params
: Необязательные параметры индекса
- Параметры:
milvus_load_collection
: Загрузка коллекции в память для поиска и запроса- Параметры:
collection_name
: Имя коллекции для загрузкиreplica_number
: Количество реплик (по умолчанию: 1)
- Параметры:
milvus_release_collection
: Освободить коллекцию из памяти- Параметры:
collection_name
: Название коллекции для выпуска
- Параметры:
milvus_get_collection_info
: выводит подробную информацию, такую как схема, свойства, идентификатор коллекции и другие метаданные конкретной коллекции.- Параметры:
collection_name
: Название коллекции, о которой нужно получить подробную информацию
- Параметры:
Операции с данными
milvus_insert_data
: вставить данные в коллекцию.- Параметры:
collection_name
: Название коллекцииdata
: Словарь, сопоставляющий имена полей со списками значений
- Параметры:
milvus_delete_entities
: Удаление сущностей из коллекции на основе выражения фильтра- Параметры:
collection_name
: Название коллекцииfilter_expr
: Выражение фильтра для выбора объектов для удаления
- Параметры:
Переменные среды
MILVUS_URI
: URI сервера Milvus (можно установить вместо --milvus-uri)MILVUS_TOKEN
: Необязательный токен аутентификацииMILVUS_DB
: Имя базы данных (по умолчанию «default»)
Разработка
Чтобы запустить сервер напрямую:
Примеры
Использование Claude Desktop
Пример 1: Перечисление коллекций
Затем Клод проверит эту информацию в вашей базе данных Milvus с помощью MCP.
Пример 2: Поиск документов
Клод будет использовать возможности полнотекстового поиска Milvus для поиска соответствующих документов:
Использование курсора
Пример: Создание коллекции
В Курсоре вы можете спросить:
Курсор будет использовать сервер MCP для выполнения этой операции:
Поиск неисправностей
Общие проблемы
Ошибки соединения
Если вы видите ошибки типа «Не удалось подключиться к серверу Milvus»:
- Убедитесь, что ваш экземпляр Milvus запущен:
docker ps
(если используется Docker) - Проверьте правильность URI в вашей конфигурации.
- Убедитесь, что нет правил брандмауэра, блокирующих соединение.
- Попробуйте использовать
127.0.0.1
вместоlocalhost
в URI
Проблемы с аутентификацией
Если вы видите ошибки аутентификации:
- Проверьте правильность
MILVUS_TOKEN
- Проверьте, требует ли ваш экземпляр Milvus аутентификации.
- Убедитесь, что у вас есть необходимые разрешения для операций, которые вы пытаетесь выполнить.
Инструмент не найден
Если инструменты MCP не отображаются в Claude Desktop или Cursor:
- Перезапустите приложение.
- Проверьте журналы сервера на наличие ошибок.
- Убедитесь, что сервер MCP работает правильно.
- Нажмите кнопку обновления в настройках MCP (для курсора)
Получение помощи
Если проблемы продолжаются:
- Проверьте GitHub Issues на предмет похожих проблем.
- Присоединяйтесь к сообществу Zilliz в Discord для получения поддержки
- Создайте новый вопрос с подробной информацией о вашей проблеме
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Интеграционный сервер, реализующий протокол контекста модели, который позволяет приложениям LLM взаимодействовать с функционалом векторной базы данных Milvus, обеспечивая поиск векторов, управление коллекциями и операции с данными на естественном языке.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and various API operations including record management.Last updated -1077PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.Last updated -340TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.Last updated -340MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables LLMs to interact with databases (currently MongoDB) through natural language, supporting operations like querying, inserting, deleting documents, and running aggregation pipelines.Last updated -TypeScriptMIT License