Proporciona una implementación del servidor Model Context Protocol (MCP) para la base de datos de vectores Milvus, logrando una integración perfecta de aplicaciones de IA con la base de datos de vectores.
Introducción detallada al proyecto mcp-server-milvus
Resumen del proyecto
mcp-server-milvus es un proyecto de código abierto desarrollado por Zilliz Tech que proporciona una implementación de servidor Model Context Protocol (MCP) para la base de datos vectorial Milvus. Este proyecto permite que las aplicaciones LLM se integren y accedan sin problemas a las funcionalidades de la base de datos vectorial Milvus a través de un protocolo estandarizado.
Características y funcionalidades principales
Herramientas operativas compatibles
El servidor MCP proporciona las siguientes herramientas principales:
milvus_text_search
: Busca documentos utilizando la funcionalidad de búsqueda de texto completo.- Parámetros: collection_name, query_text, limit, output_fields, drop_ratio
milvus_vector_search
: Realiza búsquedas de similitud vectorial en una colección.- Parámetros: collection_name, vector, vector_field, limit, output_fields, metric_type
milvus_query
: Consulta una colección utilizando una expresión de filtro.- Parámetros: collection_name, filter_expr, output_fields, limit
milvus_list_collections
: Lista todas las colecciones en la base de datos.milvus_create_collection
: Crea una nueva colección con un esquema especificado.- Parámetros: collection_name, collection_schema, index_params
milvus_load_collection
: Carga una colección en la memoria para búsqueda y consulta.- Parámetros: collection_name, replica_number
milvus_release_collection
: Libera una colección de la memoria.- Parámetros: collection_name
milvus_insert_data
: Inserta datos en una colección.- Parámetros: collection_name, data
milvus_delete_entities
: Elimina entidades de una colección basándose en una expresión de filtro.- Parámetros: collection_name, filter_expr
Requisitos del sistema
- Python 3.10 o superior
- Una instancia de Milvus en ejecución (local o remota)
- Herramienta uv (recomendada para ejecutar el servidor)
Instalación y configuración
Clonar el proyecto
git clone https://github.com/zilliztech/mcp-server-milvus.git
cd mcp-server-milvus
Ejecutar el servidor directamente
La forma recomendada es usar uv para ejecutar el servidor directamente, sin necesidad de instalación:
uv run src/mcp_server_milvus/server.py --milvus-uri http://localhost:19530
O configurando las variables de entorno en un archivo .env
:
uv run src/mcp_server_milvus/server.py
Aplicaciones cliente compatibles
El servidor MCP puede funcionar con varias aplicaciones LLM que admiten el protocolo Model Context Protocol:
Integración con Claude Desktop
- Instalar Claude Desktop
- Configurar el archivo
claude_desktop_config.json
:
{
"mcpServers": {
"milvus": {
"command": "/RUTA/A/uv",
"args": [
"--directory",
"/ruta/a/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://localhost:19530"
]
}
}
}
Integración con el editor Cursor
Cursor admite dos métodos de configuración:
Método 1: Configuración a través de la GUI
- Ir a Cursor Settings > Features > MCP
- Hacer clic en el botón "+ Add New MCP Server"
- Rellenar el formulario:
- Type: Seleccionar
stdio
- Name:
milvus
- Command:
/RUTA/A/uv --directory /ruta/a/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530
- Type: Seleccionar
Método 2: Archivo de configuración
Crear el archivo .cursor/mcp.json
:
{
"mcpServers": {
"milvus": {
"command": "/RUTA/A/uv",
"args": [
"--directory",
"/ruta/a/mcp-server-milvus/src/mcp_server_milvus",
"run",
"server.py",
"--milvus-uri",
"http://127.0.0.1:19530"
]
}
}
}
Configuración de variables de entorno
MILVUS_URI
: URI del servidor Milvus (alternativa al parámetro --milvus-uri)MILVUS_TOKEN
: Token de autenticación opcionalMILVUS_DB
: Nombre de la base de datos (por defecto "default")
Ejemplos de uso
Uso en Claude Desktop
Los usuarios pueden interactuar con la base de datos Milvus a través del lenguaje natural:
Consultar la lista de colecciones:
What are the collections I have in my Milvus DB?
Buscar documentos:
Find documents in my text_collection that mention "machine learning"
Uso en Cursor
Crear una nueva colección:
Create a new collection called 'articles' in Milvus with fields for title (string), content (string), and a vector field (128 dimensions)
Resolución de problemas
Problemas de conexión
- Verificar que la instancia de Milvus se esté ejecutando
- Comprobar que la configuración del URI sea correcta
- Asegurarse de que las reglas del firewall no impidan la conexión
- Intentar usar
127.0.0.1
en lugar delocalhost
Problemas de autenticación
- Verificar que
MILVUS_TOKEN
sea correcto - Comprobar si la instancia de Milvus requiere autenticación
- Asegurarse de tener los permisos correctos para realizar la operación
Arquitectura técnica
El proyecto está desarrollado en Python y utiliza una cadena de herramientas de desarrollo moderna:
- Utiliza uv como herramienta de gestión de paquetes y ejecución
- Sigue las especificaciones del protocolo estándar MCP
- Proporciona una encapsulación completa de las operaciones de la base de datos Milvus
- Admite varios clientes de aplicaciones de IA
Casos de uso
Este proyecto es principalmente adecuado para los siguientes escenarios:
- Mejora de editores de código impulsada por IA
- Mejora del contexto de las interfaces de chat
- Construcción de flujos de trabajo de IA personalizados
- Integración de bases de datos vectoriales con LLM
- Búsqueda semántica y aplicaciones RAG (Retrieval Augmented Generation)
A través de mcp-server-milvus, los desarrolladores pueden integrar fácilmente la potente funcionalidad de la base de datos vectorial Milvus en varias aplicaciones de IA, proporcionando a los usuarios una experiencia de interacción más inteligente y precisa.