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:
Luego puedes ejecutar el servidor directamente:
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:
Importante: el archivo .env tendrá mayor prioridad que los argumentos de la línea de comando.
Modos de ejecución
El servidor admite dos modos de ejecución: stdio (predeterminado) y SSE (eventos enviados por el servidor).
Modo Stdio (predeterminado)
- Descripción : Se comunica con el cliente mediante entrada/salida estándar. Este es el modo predeterminado si no se especifica ningún modo.
- Uso:
Modo SSE
- Descripción : Utiliza eventos HTTP enviados por el servidor para la comunicación. Este modo permite la conexión entre varios clientes mediante HTTP y es adecuado para aplicaciones web.
- Uso:
--sse
: habilita el modo SSE.--port
: especifica el puerto para el servidor SSE (predeterminado: 8000).
- Depuración en modo SSE:Si desea depurar en modo SSE, después de iniciar el servicio SSE, ingrese el siguiente comando:La salida será similar a:Luego puede acceder al Inspector MCP en
http://127.0.0.1:6274
para realizar pruebas.
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
Configuración para diferentes modos
Configuración del modo SSE
Siga estos pasos para configurar Claude Desktop para el modo SSE:
- Instale Claude Desktop desde https://claude.ai/download .
- Abra el archivo de configuración de Claude Desktop:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- Agregue la siguiente configuración para el modo SSE:
- Reinicie Claude Desktop para aplicar los cambios.
Configuración del modo Stdio
Para el modo stdio, siga estos pasos:
- Instale Claude Desktop desde https://claude.ai/download .
- Abra el archivo de configuración de Claude Desktop:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- macOS :
- Agregue la siguiente configuración para el modo stdio:
- Reinicie Claude Desktop para aplicar los cambios.
Uso con cursor
Cursor también es compatible con herramientas MCP . Puede integrar su servidor Milvus MCP con Cursor siguiendo estos pasos:
Pasos de integración
- Abra
Cursor Settings
>MCP
- Haga clic en
Add new global MCP server
- Después de hacer clic, se le redirigirá automáticamente al archivo
mcp.json
, que se creará si no existe.
Configuración del archivo mcp.json
Para el modo Stdio:
Sobrescriba el archivo mcp.json
con el siguiente contenido:
Para el modo SSE:
- Inicie el servicio ejecutando el siguiente comando:
Nota : reemplace
http://your_sse_host
con su dirección de host SSE real yport
con el número de puerto específico que está utilizando. - Una vez que el servicio esté en funcionamiento, sobrescriba el archivo
mcp.json
con el siguiente contenido:
Completando la integración
Después de completar los pasos anteriores, reinicie Cursor o recargue la ventana para asegurarse de que la configuración surta efecto.
Verificando la integración
Para verificar que Cursor se haya integrado correctamente con su servidor Milvus MCP:
- Abra
Cursor Settings
>MCP
- Comprueba si "milvus" o "milvus-sse" aparecen en la lista (según el modo que hayas elegido).
- Confirme que se enumeran las herramientas relevantes (por ejemplo, milvus_list_collections, milvus_vector_search, etc.)
- 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 buscarquery_text
: Texto a buscarlimit
: el número máximo de resultados a devolver (predeterminado: 5)output_fields
: Campos a incluir en los resultadosdrop_ratio
: Proporción de términos de baja frecuencia que se deben ignorar (0,0-1,0)
- Parámetros:
milvus_vector_search
: Realizar una búsqueda de similitud vectorial en una colección- Parámetros:
collection_name
: Nombre de la colección a buscarvector
: vector de consultavector_field
: Nombre del campo para la búsqueda de vectores (predeterminado: "vector")limit
: el número máximo de resultados a devolver (predeterminado: 5)output_fields
: Campos a incluir en los resultadosfilter_expr
: Expresión de filtrometric_type
: Métrica de distancia (COSINO, L2, IP) (predeterminado: "COSINO")
- Parámetros:
milvus_hybrid_search
: Realizar una búsqueda híbrida en una colección- Parámetros:
collection_name
: Nombre de la colección a buscarquery_text
: Consulta de texto para búsquedatext_field
: Nombre del campo para la búsqueda de textovector
: Vector de la consulta de textovector_field
: Nombre del campo para la búsqueda de vectoreslimit
: el número máximo de resultados a devolveroutput_fields
: Campos a incluir en los resultadosfilter_expr
: Expresión de filtro
- Parámetros:
milvus_query
: Colección de consultas mediante expresiones de filtro- Parámetros:
collection_name
: Nombre de la colección a consultarfilter_expr
: expresión de filtro (por ejemplo, 'edad > 20')output_fields
: Campos a incluir en los resultadoslimit
: el número máximo de resultados a devolver (predeterminado: 10)
- Parámetros:
Gestión de cobros
milvus_list_collections
: Lista todas las colecciones en la base de datosmilvus_create_collection
: Crea una nueva colección con el esquema especificado- Parámetros:
collection_name
: Nombre para la nueva coleccióncollection_schema
: Definición del esquema de colecciónindex_params
: Parámetros de índice opcionales
- Parámetros:
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 cargarreplica_number
: Número de réplicas (predeterminado: 1)
- Parámetros:
milvus_release_collection
: Liberar una colección de la memoria- Parámetros:
collection_name
: Nombre de la colección a liberar
- Parámetros:
milvus_get_collection_info
: enumera información detallada como el esquema, las propiedades, el ID de la colección y otros metadatos de una colección específica.- Parámetros:
collection_name
: Nombre de la colección sobre la que se obtendrá información detallada
- Parámetros:
Operaciones de datos
milvus_insert_data
: insertar datos en una colección- Parámetros:
collection_name
: Nombre de la coleccióndata
: Diccionario que asigna nombres de campos a listas de valores
- Parámetros:
milvus_delete_entities
: eliminar entidades de una colección según una expresión de filtro- Parámetros:
collection_name
: Nombre de la colecciónfilter_expr
: Expresión de filtro para seleccionar entidades a eliminar
- Parámetros:
Variables de entorno
MILVUS_URI
: URI del servidor Milvus (se puede configurar en lugar de --milvus-uri)MILVUS_TOKEN
: Token de autenticación opcionalMILVUS_DB
: Nombre de la base de datos (predeterminado: "predeterminado")
Desarrollo
Para ejecutar el servidor directamente:
Ejemplos
Uso de Claude Desktop
Ejemplo 1: Listado de colecciones
Luego, Claude utilizará MCP para verificar esta información en su base de datos Milvus.
Ejemplo 2: Búsqueda de documentos
Claude utilizará las capacidades de búsqueda de texto completo de Milvus para encontrar documentos relevantes:
Usando el cursor
Ejemplo: Creación de una colección
En Cursor, puedes preguntar:
El cursor utilizará el servidor MCP para ejecutar esta operación:
Solución de problemas
Problemas comunes
Errores de conexión
Si ve errores como "Error al conectarse al servidor Milvus":
- Verifique que su instancia de Milvus se esté ejecutando:
docker ps
(si usa Docker) - Comprueba que la URI sea correcta en tu configuración
- Asegúrese de que no haya reglas de firewall que bloqueen la conexión
- Intente usar
127.0.0.1
en lugar delocalhost
en la URI
Problemas de autenticación
Si ve errores de autenticación:
- Verifique que su
MILVUS_TOKEN
sea correcto - Comprueba si tu instancia de Milvus requiere autenticación
- 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:
- Reiniciar la aplicación
- Verifique los registros del servidor para detectar cualquier error
- Verifique que el servidor MCP esté funcionando correctamente
- Presione el botón de actualización en la configuración de MCP (para el cursor)
Obtener ayuda
Si continúa experimentando problemas:
- Consulte los problemas de GitHub para ver problemas similares
- Únete al Discord de la comunidad Zilliz para obtener ayuda.
- Presentar un nuevo problema con información detallada sobre el mismo
This server cannot be installed
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.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.Last updated -324288JavaScriptMIT License
- AsecurityAlicenseAqualityA 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 -1077PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with Databricks workspaces through natural language, allowing SQL query execution and job management operations.Last updated -19Python
Aiven MCP Serverofficial
AsecurityAlicenseAqualityA Model Context Protocol server that provides access to Aiven services (PostgreSQL, Kafka, ClickHouse, Valkey, OpenSearch), enabling LLMs to build full stack solutions by interacting with these services.Last updated -36PythonApache 2.0