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
- Instale Claude Desktop.
- Abra el archivo de configuración de Claude:
- En macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- En macOS:
- 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"
]
}
}
}
- 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.
- Abra
Cursor Settings→Features→MCP. - Haga clic en
+ Add New MCP Server. - 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.1en lugar delocalhostpara evitar posibles problemas de resolución DNS.
- Tipo:
Opción 2: Utilizar la configuración específica del proyecto (recomendado)
- Cree un archivo
.cursor/mcp.jsonen 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"
]
}
}
}
- 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
- Vaya a
Cursor Settings→Features→MCP. - Confirme que
"Milvus"aparece en la lista de servidores MCP. - Compruebe si las herramientas Milvus (por ejemplo,
milvus_list_collections,milvus_vector_search) aparecen en la lista. - 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":
- Compruebe que su instancia de Milvus se está ejecutando:
docker ps(si utiliza Docker) - Compruebe que el URI es correcto en su configuración
- Asegúrese de que no hay reglas de firewall que bloqueen la conexión
- Pruebe a utilizar
127.0.0.1en lugar delocalhosten el URI
Problemas de autenticación
Si ve errores de autenticación
- Verifique que su
MILVUS_TOKENes correcto - Compruebe si su instancia de Milvus requiere autenticación
- 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:
- Reinicie la aplicación
- Compruebe si hay errores en los registros del servidor
- Compruebe que el servidor MCP funciona correctamente
- Pulse el botón de actualización en la configuración de MCP (para Cursor)
Obtener ayuda
Si sigues teniendo problemas
- Comprueba los Problemas de GitHub para problemas similares
- Únete al Discord de la Comunidad Zilliz para obtener ayuda
- 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!