• О Милвусе
  • Начать
  • Концепции
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
    • Оркестровка
    • Агенты
    • Оценка и наблюдаемость
    • Модели встраивания
    • LLMs
    • Инженерия знаний
    • Источники данных
    • Другие
  • Учебники
  • Вопросы и ответы
  • API Reference

MCP + Milvus: соединение искусственного интеллекта с векторными базами данных

Введение

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

В этом руководстве вы узнаете, как настроить MCP-сервер для Milvus, чтобы приложения ИИ могли выполнять векторный поиск, управлять коллекциями и получать данные с помощью команд на естественном языке безнаписания пользовательских запросов к базе данных.

Необходимые условия

Перед настройкой MCP-сервера убедитесь, что у вас есть:

  • Python 3.10 или выше
  • запущенный экземпляр Milvus
  • uv (рекомендуется для запуска сервера)

Начало работы

Рекомендуемый способ использования этого 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

  1. Установите Claude Desktop.
  2. Откройте файл конфигурации Claude:
    • На macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Добавьте следующую конфигурацию:
{
  "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"
      ]
    }
  }
}
  1. Перезапустите Claude Desktop, чтобы применить изменения.

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

Cursor также поддерживает инструменты MCP через функцию Agent в Composer. Вы можете добавить сервер Milvus MCP в Cursor двумя способами:

Вариант 1: Использование пользовательского интерфейса настроек Cursor

  1. Откройте Cursor SettingsFeaturesMCP.
  2. Щелкните + Add New MCP Server.
  3. Заполните:
    • Тип: 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.
  1. Создайте файл .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"
      ]
    }
  }
}
  1. Перезапустите Cursor, чтобы применить конфигурацию.

После добавления сервера может потребоваться нажать кнопку обновления в настройках MCP, чтобы пополнить список инструментов. Агент Composer Agent будет автоматически использовать инструменты Milvus, если это необходимо для ваших запросов.

Проверка интеграции

Чтобы убедиться, что сервер MCP настроен правильно:

Для Cursor

  1. Перейдите по адресу Cursor SettingsFeaturesMCP.
  2. Убедитесь, что в списке MCP-серверов появился "Milvus".
  3. Проверьте, есть ли в списке инструменты Milvus (например, milvus_list_collections, milvus_vector_search).
  4. Если появляются ошибки, см. раздел "Устранение неполадок" ниже.

Инструменты 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":

  1. Убедитесь, что ваш экземпляр Milvus запущен: docker ps (если используется Docker).
  2. Проверьте правильность URI в вашей конфигурации
  3. Убедитесь, что правила брандмауэра не блокируют соединение.
  4. Попробуйте использовать 127.0.0.1 вместо localhost в URI.

Проблемы с аутентификацией

Если вы видите ошибки аутентификации:

  1. Проверьте правильность MILVUS_TOKEN.
  2. Проверьте, требует ли ваш экземпляр Milvus аутентификации.
  3. Убедитесь, что у вас есть правильные разрешения для операций, которые вы пытаетесь выполнить.

Инструмент не найден

Если инструменты MCP не отображаются на рабочем столе Claude или в курсоре:

  1. Перезапустите приложение
  2. Проверьте журналы сервера на наличие ошибок
  3. Убедитесь, что сервер MCP работает правильно
  4. Нажмите кнопку обновления в настройках MCP (для Cursor).

Получение помощи

Если вы продолжаете испытывать проблемы:

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

Заключение

Следуя этому руководству, вы запустили MCP-сервер, который позволяет использовать векторный поиск на основе искусственного интеллекта в Milvus. Независимо от того, используете ли вы Claude Desktop или Cursor, теперь вы можете запрашивать, управлять и искать в базе данных Milvus с помощью команд на естественном языке безнаписания кода базы данных!