MCP Server for Milvus

Official
by zilliztech

Integrations

  • Provides access to Milvus vector database functionality, including vector similarity search, text search, collection management, and data operations for AI applications.

Servidor MCP para Milvus

El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que permite una integración fluida entre las aplicaciones LLM y las fuentes de datos y herramientas externas. Ya sea que esté creando un IDE basado en IA, mejorando una interfaz de chat o creando flujos de trabajo de IA personalizados, MCP proporciona una forma estandarizada de conectar las aplicaciones LLM con el contexto que necesitan.

Este repositorio contiene un servidor MCP que proporciona acceso a la funcionalidad de la base de datos de vectores de Milvus .

Prerrequisitos

Antes de utilizar este servidor MCP, asegúrese de tener:

  • Python 3.10 o superior
  • Una instancia de Milvus en ejecución (local o remota)
  • uv instalado (recomendado para ejecutar el servidor)

Uso

La forma recomendada de usar este servidor MCP es ejecutarlo directamente con uv sin necesidad de instalación. Así es como Claude Desktop y Cursor están configurados para usarlo en los ejemplos a continuación.

Si desea clonar el repositorio:

git clone https://github.com/zilliztech/mcp-server-milvus.git cd mcp-server-milvus

Luego puedes ejecutar el servidor directamente:

uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530

Alternativamente, puede cambiar el archivo .env en el directorio src/mcp_server_milvus/ para configurar las variables de entorno y ejecutar el servidor con el siguiente comando:

uv run src/mcp_server_milvus/server.py

Importante: el archivo .env tendrá mayor prioridad que los argumentos de la línea de comando.

Aplicaciones compatibles

Este servidor MCP se puede utilizar con varias aplicaciones LLM que admiten el Protocolo de contexto de modelo:

  • Claude Desktop : la aplicación de escritorio de Anthropic para Claude
  • Cursor : editor de código impulsado por IA con soporte MCP
  • Clientes MCP personalizados : cualquier aplicación que implemente la especificación del cliente MCP

Uso con Claude Desktop

  1. Instale Claude Desktop desde https://claude.ai/download
  2. Abra la configuración de Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Agregue la siguiente configuración:
{ "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. Reiniciar Claude Desktop

Uso con cursor

Cursor también es compatible con herramientas MCP . Puede agregar el servidor Milvus MCP a Cursor de dos maneras:

Opción 1: Uso de la interfaz de configuración del cursor

  1. Vaya a Cursor Settings > Features > MCP
  2. Haga clic en el botón + Add New MCP Server
  3. Rellene el formulario:
    • Tipo : Seleccionar stdio (ya que estás ejecutando un comando)
    • Nombre : milvus
    • Comando : /PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530

    ⚠️ Nota: Utilice 127.0.0.1 en lugar de localhost para evitar posibles problemas de resolución de DNS.

Opción 2: Utilizar la configuración específica del proyecto (recomendado)

Cree un archivo .cursor/mcp.json en la raíz de su proyecto:

  1. Crea el directorio .cursor en la raíz de tu proyecto:
    mkdir -p /path/to/your/project/.cursor
  2. Crea un archivo mcp.json con el siguiente contenido:
    { "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" ] } } }
  3. Reiniciar el cursor o recargar la ventana

Después de agregar el servidor, es posible que deba presionar el botón de actualización en la configuración de MCP para completar la lista de herramientas. El agente usará automáticamente las herramientas de Milvus cuando sea relevante para sus consultas.

Verificando la integración

Para verificar que Cursor se haya integrado correctamente con su servidor Milvus MCP:

  1. Abra Configuración del cursor > Funciones > MCP
  2. Comprueba que "Milvus" aparece en la lista de servidores MCP
  3. Verifique que las herramientas estén enumeradas (por ejemplo, milvus_list_collections, milvus_vector_search, etc.)
  4. Si el servidor está habilitado pero muestra un error, consulte la sección Solución de problemas a continuación

Herramientas disponibles

El servidor proporciona las siguientes herramientas:

Operaciones de búsqueda y consulta

  • milvus_text_search : Busque documentos mediante la búsqueda de texto completo
    • Parámetros:
      • collection_name : Nombre de la colección a buscar
      • query_text : Texto a buscar
      • limit : Máximo de resultados (predeterminado: 5)
      • output_fields : Campos a incluir en los resultados
      • drop_ratio : Proporción de términos de baja frecuencia que se deben ignorar (0,0-1,0)
  • milvus_vector_search : Realizar una búsqueda de similitud vectorial en una colección
    • Parámetros:
      • collection_name : Nombre de la colección a buscar
      • vector : vector de consulta
      • vector_field : Campo que contiene los vectores a buscar (predeterminado: "vector")
      • limit : Máximo de resultados (predeterminado: 5)
      • output_fields : Campos a incluir en los resultados
      • metric_type : Métrica de distancia (COSINO, L2, IP) (predeterminado: "COSINO")
  • milvus_query : Colección de consultas mediante expresiones de filtro
    • Parámetros:
      • collection_name : Nombre de la colección a consultar
      • filter_expr : expresión de filtro (por ejemplo, 'edad > 20')
      • output_fields : Campos a incluir en los resultados
      • limit : Máximo de resultados (predeterminado: 10)

Gestión de cobros

  • milvus_list_collections : Lista todas las colecciones en la base de datos
  • milvus_create_collection : Crea una nueva colección con el esquema especificado
    • Parámetros:
      • collection_name : Nombre para la nueva colección
      • collection_schema : Definición del esquema de colección
      • index_params : Parámetros de índice opcionales
  • milvus_load_collection : Carga una colección en la memoria para realizar búsquedas y consultas.
    • Parámetros:
      • collection_name : Nombre de la colección a cargar
      • replica_number : Número de réplicas (predeterminado: 1)
  • milvus_release_collection : Liberar una colección de la memoria
    • Parámetros:
      • collection_name : Nombre de la colección a liberar

Operaciones de datos

  • milvus_insert_data : insertar datos en una colección
    • Parámetros:
      • collection_name : Nombre de la colección
      • data : Diccionario que asigna nombres de campos a listas de valores
  • milvus_delete_entities : eliminar entidades de una colección según una expresión de filtro
    • Parámetros:
      • collection_name : Nombre de la colección
      • filter_expr : Expresión de filtro para seleccionar entidades a eliminar

Variables de entorno

  • MILVUS_URI : URI del servidor Milvus (se puede configurar en lugar de --milvus-uri)
  • MILVUS_TOKEN : Token de autenticación opcional
  • MILVUS_DB : Nombre de la base de datos (predeterminado: "predeterminado")

Desarrollo

Para ejecutar el servidor directamente:

uv run server.py --milvus-uri http://localhost:19530

Ejemplos

Uso de Claude Desktop

Ejemplo 1: Listado de colecciones
What are the collections I have in my Milvus DB?

Luego, Claude utilizará MCP para verificar esta información en su base de datos Milvus.

I'll check what collections are available in your Milvus database. 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
Ejemplo 2: Búsqueda de documentos
Find documents in my text_collection that mention "machine learning"

Claude utilizará las capacidades de búsqueda de texto completo de Milvus para encontrar documentos relevantes:

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]

Usando el cursor

Ejemplo: Creación de una colección

En Cursor, puedes preguntar:

Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)

El cursor utilizará el servidor MCP para ejecutar esta operación:

I'll create a new collection called 'articles' with the specified fields. Collection 'articles' has been created successfully with the following schema: - title: string - content: string - vector: float vector[128]

Solución de problemas

Problemas comunes

Errores de conexión

Si ve errores como "Error al conectarse al servidor Milvus":

  1. Verifique que su instancia de Milvus se esté ejecutando: docker ps (si usa Docker)
  2. Comprueba que la URI sea correcta en tu configuración
  3. Asegúrese de que no haya reglas de firewall que bloqueen la conexión
  4. Intente usar 127.0.0.1 en lugar de localhost en la URI
Problemas de autenticación

Si ve errores de autenticación:

  1. Verifique que su MILVUS_TOKEN sea correcto
  2. Comprueba si tu instancia de Milvus requiere autenticación
  3. Asegúrese de tener los permisos correctos para las operaciones que intenta realizar
Herramienta no encontrada

Si las herramientas MCP no aparecen en Claude Desktop o Cursor:

  1. Reiniciar la aplicación
  2. Verifique los registros del servidor para detectar cualquier error
  3. Verifique que el servidor MCP esté funcionando correctamente
  4. Presione el botón de actualización en la configuración de MCP (para el cursor)

Obtener ayuda

Si continúa experimentando problemas:

  1. Consulte los problemas de GitHub para ver problemas similares
  2. Únete al Discord de la comunidad Zilliz para obtener ayuda.
  3. Presentar un nuevo problema con información detallada sobre el mismo
-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de integración que implementa el Protocolo de Contexto de Modelo que permite a las aplicaciones LLM interactuar con la funcionalidad de la base de datos de vectores de Milvus, permitiendo la búsqueda de vectores, la gestión de colecciones y las operaciones de datos a través del lenguaje natural.

  1. Prerrequisitos
    1. Uso
      1. Importante: el archivo .env tendrá mayor prioridad que los argumentos de la línea de comando.
    2. Aplicaciones compatibles
      1. Uso con Claude Desktop
        1. Uso con cursor
          1. Opción 1: Uso de la interfaz de configuración del cursor
          2. Opción 2: Utilizar la configuración específica del proyecto (recomendado)
          3. Verificando la integración
        2. Herramientas disponibles
          1. Operaciones de búsqueda y consulta
          2. Gestión de cobros
          3. Operaciones de datos
        3. Variables de entorno
          1. Desarrollo
            1. Ejemplos
              1. Uso de Claude Desktop
              2. Usando el cursor
            2. Solución de problemas
              1. Problemas comunes
              2. Obtener ayuda

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A 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 10 days ago
              10
              53
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              A 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 2 months ago
              340
              TypeScript
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A 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 2 months ago
              340
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A 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 a month ago
              TypeScript
              MIT License
              • Apple

            View all related MCP servers

            ID: 53zsksly37