MCP + Milvus: соединение искусственного интеллекта с векторными базами данных
Введение
Model Context Protocol (MCP) - это открытый протокол, который позволяет приложениям ИИ, таким как Claude и Cursor, беспрепятственно взаимодействовать с внешними источниками данных и инструментами. Независимо от того, создаете ли вы пользовательские приложения ИИ, интегрируете рабочие процессы ИИ или улучшаете интерфейсы чата, MCP обеспечивает стандартизированный способ подключения больших языковых моделей (LLM) к соответствующим контекстным данным.
В этом руководстве вы узнаете, как настроить MCP-сервер для Milvus, чтобы приложения ИИ могли выполнять векторный поиск, управлять коллекциями и получать данные с помощью команд на естественном языке безнаписания пользовательских запросов к базе данных.
Необходимые условия
Перед настройкой MCP-сервера убедитесь, что у вас есть:
Начало работы
Рекомендуемый способ использования этого MCP-сервера - запустить его напрямую с uv без установки. Именно так настроены Claude Desktop и Cursor для его использования в примерах ниже.
Если вы хотите клонировать репозиторий:
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
Тогда вы можете запустить сервер напрямую:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
Поддерживаемые приложения
Этот MCP-сервер можно использовать с различными AI-приложениями, поддерживающими Model Context Protocol, такими как:
- Claude Desktop: Настольное приложение Anthropic для Claude.
- Cursor: Редактор кода на базе ИИ с поддержкой MCP в функции Composer.
- Другие пользовательские клиенты MCP Любое приложение, реализующее спецификацию клиента MCP
Использование MCP с Claude Desktop
- Установите Claude Desktop.
- Откройте файл конфигурации Claude:
- На macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- На macOS:
- Добавьте следующую конфигурацию:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://localhost:19530"
]
}
}
}
- Перезапустите Claude Desktop, чтобы применить изменения.
Использование MCP в Cursor
Cursor также поддерживает инструменты MCP через функцию Agent в Composer. Вы можете добавить сервер Milvus MCP в Cursor двумя способами:
Вариант 1: Использование пользовательского интерфейса настроек Cursor
- Откройте
Cursor Settings→Features→MCP. - Щелкните
+ Add New MCP Server. - Заполните:
- Тип:
stdio - Имя:
milvus - Команда:
/PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530 - ⚠️ Совет: Используйте
127.0.0.1вместоlocalhost, чтобы избежать возможных проблем с разрешением DNS.
- Тип:
Вариант 2: Использование конфигурации для конкретного проекта (рекомендуется)
- Создайте файл
.cursor/mcp.jsonв корневом каталоге проекта:
{
"mcpServers": {
"milvus": {
"command": "/PATH/TO/uv",
"args": [
"--directory",
"/path/to/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://127.0.0.1:19530"
]
}
}
}
- Перезапустите Cursor, чтобы применить конфигурацию.
После добавления сервера может потребоваться нажать кнопку обновления в настройках MCP, чтобы пополнить список инструментов. Агент Composer Agent будет автоматически использовать инструменты Milvus, если это необходимо для ваших запросов.
Проверка интеграции
Чтобы убедиться, что сервер MCP настроен правильно:
Для Cursor
- Перейдите по адресу
Cursor Settings→Features→MCP. - Убедитесь, что в списке MCP-серверов появился
"Milvus". - Проверьте, есть ли в списке инструменты Milvus (например,
milvus_list_collections,milvus_vector_search). - Если появляются ошибки, см. раздел "Устранение неполадок" ниже.
Инструменты MCP-сервера для Milvus
Этот MCP-сервер предоставляет множество инструментов для поиска, запроса и управления векторными данными в Milvus. Для получения более подробной информации обратитесь к документации mcp-server-milvus.
🔍 Инструменты поиска и запросов
milvus-text-search→ Поиск документов с помощью полнотекстового поиска.milvus-vector-search→ Выполните поиск по векторному сходству в коллекции.milvus-hybrid-search→ Выполните гибридный поиск, сочетающий векторное сходство и фильтрацию по атрибутам.milvus-multi-vector-search→ Выполнение поиска по векторному сходству с несколькими векторами запросов.milvus-query→ Запрашивать коллекцию с помощью выражений фильтрации.milvus-count→ Подсчет сущностей в коллекции.
📁 Управление коллекциями
milvus-list-collections→ Вывод списка всех коллекций в базе данных.milvus-collection-info→ Получение подробной информации о коллекции.milvus-get-collection-stats→ Получение статистики о коллекции.milvus-create-collection→ Создание новой коллекции с указанной схемой.milvus-load-collection→ Загрузка коллекции в память для поиска и запроса.milvus-release-collection→ Извлечь коллекцию из памяти.milvus-get-query-segment-info→ Получить информацию о сегментах запроса.milvus-get-collection-loading-progress→ Получение информации о ходе загрузки коллекции.
📊 Операции с данными
milvus-insert-data→ Вставка данных в коллекцию.milvus-bulk-insert→ Вставка данных партиями для повышения производительности.milvus-upsert-data→ Вставка данных в коллекцию (вставка или обновление при наличии).milvus-delete-entities→ Удаление сущностей из коллекции на основе выражения фильтра.milvus-create-dynamic-field→ Добавление динамического поля в существующую коллекцию.
⚙️ Управление индексами
milvus-create-index→ Создание индекса для векторного поля.milvus-get-index-info→ Получение информации об индексах в коллекции.
Переменные окружения
MILVUS_URI→ URI сервера Milvus (может быть задан вместо--milvus-uri).MILVUS_TOKEN→ Необязательный токен аутентификации.MILVUS_DB→ Имя базы данных (по умолчанию - "default").
Разработка
Для непосредственного запуска сервера:
uv run server.py --milvus-uri http://localhost:19530
Примеры
Использование Claude Desktop
Пример 1: Вывод списков коллекций
What are the collections I have in my Milvus DB?
Claude будет использовать MCP для проверки этой информации в нашей БД Milvus.
I'll check what collections are available in your Milvus database.
> View result from milvus-list-collections from milvus (local)
Here are the collections in your Milvus database:
1. rag_demo
2. test
3. chat_messages
4. text_collection
5. image_collection
6. customized_setup
7. streaming_rag_demo
Пример 2: Поиск документов
Find documents in my text_collection that mention "machine learning"
Клод использует возможности полнотекстового поиска в Milvus, чтобы найти нужные документы:
I'll search for documents about machine learning in your text_collection.
> View result from milvus-text-search from milvus (local)
Here are the documents I found that mention machine learning:
[Results will appear here based on your actual data]
Использование курсора
Пример: Создание коллекции
В Cursor's Composer вы можете задать вопрос:
Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)
Cursor будет использовать сервер MCP для выполнения этой операции:
I'll create a new collection called 'articles' with the specified fields.
> View result from milvus-create-collection from milvus (local)
Collection 'articles' has been created successfully with the following schema:
- title: string
- content: string
- vector: float vector[128]
Устранение неполадок
Общие проблемы
Ошибки подключения
Если вы видите ошибки типа "Не удалось подключиться к серверу Milvus":
- Убедитесь, что ваш экземпляр Milvus запущен:
docker ps(если используется Docker). - Проверьте правильность URI в вашей конфигурации
- Убедитесь, что правила брандмауэра не блокируют соединение.
- Попробуйте использовать
127.0.0.1вместоlocalhostв URI.
Проблемы с аутентификацией
Если вы видите ошибки аутентификации:
- Проверьте правильность
MILVUS_TOKEN. - Проверьте, требует ли ваш экземпляр Milvus аутентификации.
- Убедитесь, что у вас есть правильные разрешения для операций, которые вы пытаетесь выполнить.
Инструмент не найден
Если инструменты MCP не отображаются на рабочем столе Claude или в курсоре:
- Перезапустите приложение
- Проверьте журналы сервера на наличие ошибок
- Убедитесь, что сервер MCP работает правильно
- Нажмите кнопку обновления в настройках MCP (для Cursor).
Получение помощи
Если вы продолжаете испытывать проблемы:
- Проверьте GitHub Issues на наличие аналогичных проблем.
- Присоединитесь к сообществу Zilliz в Discord для получения поддержки
- Создайте новый вопрос с подробной информацией о вашей проблеме.
Заключение
Следуя этому руководству, вы запустили MCP-сервер, который позволяет использовать векторный поиск на основе искусственного интеллекта в Milvus. Независимо от того, используете ли вы Claude Desktop или Cursor, теперь вы можете запрашивать, управлять и искать в базе данных Milvus с помощью команд на естественном языке безнаписания кода базы данных!