• Acerca de Milvus
  • Comenzar
  • Conceptos
  • Guía del usuario
  • Importación de datos
  • Herramientas de IA
  • Guía de administración
  • Herramientas
  • Integraciones
  • Tutoriales
  • Preguntas frecuentes
  • API Reference

MCP + Milvus: Conectar la IA con las bases de datos vectoriales

Introducción

El Model Context Protocol (MCP) es un protocolo abierto que permite a las aplicaciones de IA, como Claude y Cursor, interactuar con fuentes de datos y herramientas externas sin problemas. Tanto si está creando aplicaciones de IA personalizadas, integrando flujos de trabajo de IA o mejorando interfaces de chat, MCP proporciona una forma estandarizada de conectar grandes modelos lingüísticos (LLM) con datos contextuales relevantes.

Este tutorial le guiará a través de la configuración de un servidor MCP para Milvus, permitiendo que las aplicaciones de IA realicen búsquedas vectoriales, gestionen colecciones y recuperen datos utilizando comandos de lenguaje natural, sinescribir consultas personalizadas a bases de datos.

Requisitos previos

Antes de configurar el servidor MCP, asegúrese de tener:

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

Primeros pasos

La forma recomendada de utilizar este servidor MCP es ejecutarlo directamente con uv sin instalación. Así es como tanto Claude Desktop como Cursor están configurados para usarlo en los ejemplos de abajo.

Si desea clonar el repositorio:

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

Entonces puede ejecutar el servidor directamente:

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

Aplicaciones soportadas

Este servidor MCP puede ser utilizado con varias aplicaciones de IA que soportan el Protocolo de Contexto de Modelo, tales como:

  • Claude Desktop: La aplicación de escritorio de Anthropic para Claude
  • Cursor: Editor de código basado en IA con soporte MCP en su función Composer.
  • Otros clientes MCP personalizados Cualquier aplicación que implemente la especificación de cliente MCP

Uso de MCP con Claude Desktop

  1. Instale Claude Desktop.
  2. Abra el archivo de configuración de Claude:
    • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. Añada 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. Reinicie Claude Desktop para aplicar los cambios.

Uso de MCP con Cursor

Cursor también soporta herramientas MCP a través de su función de Agente en Composer. Puede añadir el servidor Milvus MCP a Cursor de dos maneras:

Opción 1: Utilizando la interfaz de usuario de configuración de Cursor.

  1. Abra Cursor SettingsFeaturesMCP.
  2. Haga clic en + Add New MCP Server.
  3. Rellene:
    • Tipo: stdio
    • 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
      
    • ⚠️ Consejo: Utilice 127.0.0.1 en lugar de localhost para evitar posibles problemas de resolución DNS.
  1. Cree un archivo .cursor/mcp.json en el directorio raíz de su proyecto:
{
  "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. Reinicie Cursor para aplicar la configuración.

Después de añadir el servidor, es posible que tenga que pulsar el botón de actualización en la configuración de MCP para rellenar la lista de herramientas. El Agente Compositor utilizará automáticamente las herramientas Milvus cuando sean relevantes para sus consultas.

Verificación de la integración

Para asegurarse de que el servidor MCP está correctamente configurado:

Para Cursor

  1. Vaya a Cursor SettingsFeaturesMCP.
  2. Confirme que "Milvus" aparece en la lista de servidores MCP.
  3. Compruebe si las herramientas Milvus (por ejemplo, milvus_list_collections, milvus_vector_search) aparecen en la lista.
  4. Si aparecen errores, consulte la sección Solución de problemas a continuación.

Herramientas del servidor MCP para Milvus

Este servidor MCP proporciona múltiples herramientas para buscar, consultar y gestionar datos vectoriales en Milvus. Para más detalles, consulte la documentación mcp-server-milvus.

🔍 Herramientas de búsqueda y consulta

  • milvus-text-search → Buscar documentos utilizando la búsqueda de texto completo.
  • milvus-vector-search → Realizar búsqueda por similitud vectorial en una colección.
  • milvus-hybrid-search → Realizar búsqueda híbrida combinando similitud vectorial y filtrado por atributos.
  • milvus-multi-vector-search → Realizar búsqueda de similitud vectorial con múltiples vectores de consulta.
  • milvus-query → Consultar la colección utilizando expresiones de filtro.
  • milvus-count → Contar entidades en una colección.

📁 Gestión de colecciones

  • milvus-list-collections → Listar todas las colecciones de la base de datos.
  • milvus-collection-info → Obtener información detallada sobre una colección.
  • milvus-get-collection-stats → Obtener estadísticas sobre una colección.
  • milvus-create-collection → Crear una nueva colección con el esquema especificado.
  • milvus-load-collection → Cargar una colección en memoria para búsqueda y consulta.
  • milvus-release-collection → Liberar una colección de la memoria.
  • milvus-get-query-segment-info → Obtener información sobre segmentos de consulta.
  • milvus-get-collection-loading-progress → Obtener el progreso de carga de una colección.

📊 Operaciones con datos

  • milvus-insert-data → Insertar datos en una colección.
  • milvus-bulk-insert → Insertar datos en lotes para mejorar el rendimiento.
  • milvus-upsert-data → Volver a insertar datos en una colección (insertar o actualizar si existe).
  • milvus-delete-entities → Eliminar entidades de una colección en función de una expresión de filtro.
  • milvus-create-dynamic-field → Añadir un campo dinámico a una colección existente.

⚙️ Gestión de índices

  • milvus-create-index → Crear un índice en un campo vectorial.
  • milvus-get-index-info → Obtener información sobre índices en una colección.

Variables de entorno

  • MILVUS_URI → URI del servidor Milvus (puede establecerse en lugar de --milvus-uri).
  • MILVUS_TOKEN → Token de autenticación opcional.
  • MILVUS_DB → Nombre de la base de datos (por defecto "default").

Desarrollo

Para ejecutar el servidor directamente:

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

Ejemplos

Utilizando Claude Desktop

Ejemplo 1: Listado de colecciones

What are the collections I have in my Milvus DB?

Claude utilizará MCP para comprobar esta información en nuestra base de datos 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

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]

Uso del cursor

Ejemplo: Creación de una colección

En el Compositor de Cursor, puede pedir:

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

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

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]

Solución de problemas

Problemas Comunes

Errores de Conexión

Si ve errores como "Failed to connect to Milvus server":

  1. Compruebe que su instancia de Milvus se está ejecutando: docker ps (si utiliza Docker)
  2. Compruebe que el URI es correcto en su configuración
  3. Asegúrese de que no hay reglas de firewall que bloqueen la conexión
  4. Pruebe a utilizar 127.0.0.1 en lugar de localhost en el URI

Problemas de autenticación

Si ve errores de autenticación

  1. Verifique que su MILVUS_TOKEN es correcto
  2. Compruebe si su instancia de Milvus requiere autenticación
  3. Asegúrese de que tiene los permisos correctos para las operaciones que está intentando realizar

Herramienta no encontrada

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

  1. Reinicie la aplicación
  2. Compruebe si hay errores en los registros del servidor
  3. Compruebe que el servidor MCP funciona correctamente
  4. Pulse el botón de actualización en la configuración de MCP (para Cursor)

Obtener ayuda

Si sigues teniendo problemas

  1. Comprueba los Problemas de GitHub para problemas similares
  2. Únete al Discord de la Comunidad Zilliz para obtener ayuda
  3. Presenta una nueva incidencia con información detallada sobre tu problema

Conclusión

Siguiendo este tutorial, ahora tiene un servidor MCP funcionando, habilitando la búsqueda vectorial potenciada por IA en Milvus. Ya sea que esté utilizando Claude Desktop o Cursor, ahora puede consultar, administrar y buscar en su base de datos Milvus utilizando comandos de lenguaje natural, ¡sinescribir código de base de datos!