Home
Login

Fournit une implémentation de serveur Model Context Protocol (MCP) pour la base de données vectorielle Milvus, permettant une intégration transparente des applications d'IA avec la base de données vectorielle.

Apache-2.0Python 146zilliztechmcp-server-milvus Last Updated: 2025-06-05

Présentation détaillée du projet mcp-server-milvus

Aperçu du projet

mcp-server-milvus est un projet open source développé par Zilliz Tech qui fournit une implémentation de serveur Model Context Protocol (MCP) pour la base de données vectorielle Milvus. Ce projet permet aux applications LLM d'intégrer et d'accéder de manière transparente aux fonctionnalités de la base de données vectorielle Milvus via un protocole standardisé.

Fonctionnalités principales

Outils opérationnels pris en charge

Le serveur MCP fournit les outils principaux suivants :

  • milvus_text_search: Recherche de documents à l'aide de la fonctionnalité de recherche en texte intégral

    • Paramètres : collection_name, query_text, limit, output_fields, drop_ratio
  • milvus_vector_search: Exécution d'une recherche de similarité vectorielle sur une collection

    • Paramètres : collection_name, vector, vector_field, limit, output_fields, metric_type
  • milvus_query: Interrogation d'une collection à l'aide d'une expression de filtre

    • Paramètres : collection_name, filter_expr, output_fields, limit
  • milvus_list_collections: Liste toutes les collections de la base de données

  • milvus_create_collection: Création d'une nouvelle collection avec un schéma spécifié

    • Paramètres : collection_name, collection_schema, index_params
  • milvus_load_collection: Chargement d'une collection en mémoire pour la recherche et l'interrogation

    • Paramètres : collection_name, replica_number
  • milvus_release_collection: Libération d'une collection de la mémoire

    • Paramètres : collection_name
  • milvus_insert_data: Insertion de données dans une collection

    • Paramètres : collection_name, data
  • milvus_delete_entities: Suppression d'entités d'une collection en fonction d'une expression de filtre

    • Paramètres : collection_name, filter_expr

Configuration système requise

  • Python 3.10 ou version ultérieure
  • Instance Milvus en cours d'exécution (locale ou distante)
  • Outil uv (recommandé pour l'exécution du serveur)

Installation et configuration

Cloner le projet

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

Exécuter directement le serveur

La méthode recommandée consiste à utiliser uv pour exécuter directement le serveur, sans installation :

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

Ou en définissant les variables d'environnement dans le fichier .env :

uv run src/mcp_server_milvus/server.py

Applications clientes prises en charge

Le serveur MCP peut être utilisé avec diverses applications LLM prenant en charge le protocole Model Context Protocol :

Intégration avec Claude Desktop

  1. Installer Claude Desktop
  2. Configurer le fichier claude_desktop_config.json :
{
  "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"
      ]
    }
  }
}

Intégration avec l'éditeur Cursor

Cursor prend en charge deux méthodes de configuration :

Méthode 1 : Configuration via l'interface graphique

  1. Accéder à Cursor Settings > Features > MCP
  2. Cliquer sur le bouton "+ Add New MCP Server"
  3. Remplir le formulaire :
    • Type : Sélectionner stdio
    • Name : milvus
    • Command : /PATH/TO/uv --directory /path/to/mcp-server-milvus/src/mcp_server_milvus run server.py --milvus-uri http://127.0.0.1:19530

Méthode 2 : Fichier de configuration

Créer le fichier .cursor/mcp.json :

{
  "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"
      ]
    }
  }
}

Configuration des variables d'environnement

  • MILVUS_URI : URI du serveur Milvus (peut remplacer le paramètre --milvus-uri)
  • MILVUS_TOKEN : Jeton d'authentification optionnel
  • MILVUS_DB : Nom de la base de données (par défaut "default")

Exemples d'utilisation

Utilisation dans Claude Desktop

Les utilisateurs peuvent interagir avec la base de données Milvus en langage naturel :

Interroger la liste des collections :

What are the collections I have in my Milvus DB?

Rechercher des documents :

Find documents in my text_collection that mention "machine learning"

Utilisation dans Cursor

Créer une nouvelle collection :

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

Dépannage

Problèmes de connexion

  • Vérifier que l'instance Milvus est en cours d'exécution
  • Vérifier que la configuration de l'URI est correcte
  • S'assurer que les règles de pare-feu n'empêchent pas la connexion
  • Essayer d'utiliser 127.0.0.1 au lieu de localhost

Problèmes d'authentification

  • Vérifier que MILVUS_TOKEN est correct
  • Vérifier que l'instance Milvus nécessite une authentification
  • S'assurer que vous disposez des autorisations appropriées pour effectuer les opérations

Architecture technique

Le projet est développé en Python et utilise une chaîne d'outils de développement moderne :

  • Utilisation de uv comme outil de gestion des packages et d'exécution
  • Respect des spécifications du protocole standard MCP
  • Fourniture d'un encapsulage complet des opérations de la base de données Milvus
  • Prise en charge de divers clients d'applications d'IA

Scénarios d'application

Le projet est principalement adapté aux scénarios suivants :

  • Amélioration des éditeurs de code pilotés par l'IA
  • Amélioration du contexte des interfaces de chat
  • Construction de flux de travail d'IA personnalisés
  • Intégration de bases de données vectorielles avec LLM
  • Recherche sémantique et applications RAG (Retrieval Augmented Generation)

Grâce à mcp-server-milvus, les développeurs peuvent facilement intégrer les puissantes fonctionnalités de la base de données vectorielle Milvus dans diverses applications d'IA, offrant aux utilisateurs une expérience d'interaction plus intelligente et plus précise.

Star History Chart