Service MCP basé sur le moteur de recherche vectorielle Qdrant

Introduction générale

mcp-server-qdrant est un moteur de recherche vectorielle construit sur le système Qdrant Modèle Contexte Protocole (MCP). Il est principalement utilisé pour aider les systèmes d'intelligence artificielle à stocker et à récupérer des souvenirs, et est particulièrement adapté aux scénarios qui nécessitent une recherche sémantique. Cet outil permet une gestion efficace de la mémoire sémantique en transformant les informations en vecteurs. Il supporte une variété de clients, tels que Claude Desktop et Cursor, permettant aux développeurs ou aux utilisateurs de sauvegarder et de trouver facilement des informations. Qu'il s'agisse de gestion des connaissances personnelles ou de recherche de code en équipe, mcp-server-qdrant fournit une solution facile à utiliser. Il utilise le modèle FastEmbed pour générer des embeddings et utilise par défaut le modèle sentence-transformers/all-MiniLM-L6-v2Il est également entièrement libre, basé sur la licence Apache 2.0, et peut être librement utilisé ou modifié par quiconque.

基于Qdrant向量搜索引擎构建的MCP服务

 

Liste des fonctions

  • Stockage des informationsLa base de données Qdrant permet d'enregistrer des informations textuelles et des métadonnées dans une base de données Qdrant, en prenant en charge les descriptions en langage naturel et les données structurées.
  • recherche sémantiqueLe logiciel de recherche : : Trouver rapidement les informations ou les extraits de code les plus pertinents dans une base de données sur la base d'une requête.
  • Prise en charge de plusieurs clientsFonctionne de manière transparente avec les outils compatibles MCP tels que Claude Desktop, Cursor et autres.
  • Description personnalisée de l'outil: : permettre aux utilisateurs d'adapter la description du magasin et les fonctions de recherche à différents scénarios tels que la recherche de codes ou la gestion des connaissances.
  • Mode local et mode à distanceQdrant : permet de faire fonctionner Qdrant localement ou de se connecter à un serveur distant.
  • Prise en charge des modèles intégrésLe système d'encapsulation des données : utilise la technologie FastEmbed pour fournir une génération efficace d'encapsulation par défaut.

 

Utiliser l'aide

Processus d'installation

L'installation de mcp-server-qdrant est très simple et peut se faire de deux manières principales : en utilisant la commande uvx Exécutez-le directement ou installez-le automatiquement sur le bureau de Claude via Smithery. Voici les étapes détaillées :

Méthode 1 : Installer et utiliser uvx

  1. Préparation de l'environnementPour plus d'informations, voir le site web de Python : Assurez-vous que Python 3.10 ou supérieur est installé sur votre ordinateur, et que vous avez installé le programme uvx(un outil léger de gestion de paquets Python). Si vous n'avez pas uvxqui peut être installé à l'aide de la commande suivante :
pip install uv
  1. Définition des variables d'environnementLa commande suivante dans le terminal permet de configurer l'adresse du serveur Qdrant et le nom de la collection.
QDRANT_URL="http://localhost:6333" COLLECTION_NAME="my-collection" uvx mcp-server-qdrant
  • QDRANT_URLL'adresse du serveur Qdrant. Si vous exécutez Qdrant localement, vous pouvez conserver la valeur par défaut.
  • COLLECTION_NAMELe nom de la collection que vous souhaitez utiliser, par exemple "ma-collection".
  • Si vous avez besoin d'une clé API, ajoutez QDRANT_API_KEY="你的密钥".
  1. Serveur d'opérationsLe serveur démarrera après l'exécution de la commande, en utilisant par défaut la commande stdio Transfer Protocol. Si un accès à distance est nécessaire, vous pouvez ajouter --transport sse Paramètres :
QDRANT_URL="http://localhost:6333" COLLECTION_NAME="my-collection" uvx mcp-server-qdrant --transport sse

Méthode 2 : Installation dans Claude Desktop via Smithery

  1. Installation de la forgePour ce faire, vous devez vous assurer que vous disposez d'un environnement Node.js en exécutant la commande suivante dans un terminal :
npx @smithery/cli install mcp-server-qdrant --client claude
  1. Configuration de Claude Desktop: Rédacteur en chef claude_desktop_config.json dans le fichier "mcpServers" Ajouter le texte suivant à la section :
{
"qdrant": {
"command": "uvx",
"args": ["mcp-server-qdrant"],
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_API_KEY": "你的密钥",
"COLLECTION_NAME": "你的集合名称"
}
}
}
  1. Démarrer Claude DesktopAprès avoir sauvegardé la configuration, démarrez Claude Desktop et le serveur s'exécutera automatiquement.

Configuration du mode local

Si vous ne voulez pas dépendre d'un serveur Qdrant distant, vous pouvez utiliser le mode local :

  1. Remplacer QDRANT_URL en raison de QDRANT_LOCAL_PATHspécifier le chemin d'accès à la base de données locale :
    {
    "qdrant": {
    "command": "uvx",
    "args": ["mcp-server-qdrant"],
    "env": {
    "QDRANT_LOCAL_PATH": "/path/to/qdrant/database",
    "COLLECTION_NAME": "my-collection"
    }
    }
    }
    
  2. Une fois lancé, Qdrant démarre en mode local et toutes les données sont enregistrées dans le chemin spécifié.

Principales fonctions

Fonction 1 : Enregistrement d'informations (qdrant-store)

  • utiliserEnregistrer des informations dans la base de données Qdrant, telles que du texte, des extraits de code ou des notes.
  • procédure:
    1. Préparer le contenu à stocker, tel qu'un texte descriptif (information) et des métadonnées facultatives (metadata).
      • Exemple :information="这是一个计算器函数的描述"(math.) genremetadata={"code": "def calc(x): return x + 1"}
    2. Si vous utilisez Claude Desktop, ouvrez le client et entrez une commande similaire :
      qdrant-store information="这是一个计算器函数的描述" metadata={"code": "def calc(x): return x + 1"}
      
    3. Le serveur renvoie un message de confirmation indiquant que le stockage a été effectué avec succès.
  • prendre noteLes métadonnées sont facultatives et peuvent être utilisées pour stocker des informations supplémentaires telles que des codes ou des étiquettes.

Fonction 2 : Récupérer des informations (qdrant-find)

  • utiliser: : Trouver le contenu le plus pertinent dans la base de données en se basant sur des requêtes en langage naturel.
  • procédure:
    1. Saisissez une requête, par exemple pour trouver le code d'une certaine fonction :
      qdrant-find query="计算器函数"
      
    2. Le serveur renvoie les correspondances, chaque message est affiché séparément et peut contenir une description et un code dans les métadonnées.
    3. Examinez les résultats obtenus pour trouver ce dont vous avez besoin.
  • pointePlus la requête est spécifique, plus le résultat est précis. Par exemple, "fonction calculatrice" est plus précis que "fonction".

Fonction 3 : Recherche de codes personnalisés

  • utiliserLe serveur peut être transformé en un outil de recherche de code pour les développeurs.
  • Étapes de la configuration:
    1. Définition des variables d'environnement et ajustement des descriptions d'outils :
      QDRANT_URL="http://localhost:6333" COLLECTION_NAME="code-snippets" \
      TOOL_STORE_DESCRIPTION="存储代码片段,information 是描述,metadata 包含代码" \
      TOOL_FIND_DESCRIPTION="根据描述搜索代码片段" \
      uvx mcp-server-qdrant --transport sse
      
    2. existent Curseur Configurez l'adresse du serveur dans, par exemple http://localhost:8000/sse.
    3. Sauvegarder le code :
      qdrant-store information="计算两数之和" metadata={"code": "def add(a, b): return a + b"}
      
    4. Code de recherche :
      qdrant-find query="两数相加的函数"
      
  • effet: renvoie l'extrait de code le plus correspondant pour faciliter sa réutilisation.

Exemples de scénarios d'utilisation

  1. Gestion des connaissances personnellesLe système d'information sur la vie privée : Enregistrez des notes ou des fragments de documents et retrouvez-les à tout moment en langage naturel.
  2. Travail d'équipe: : Exécuter des serveurs dans le nuage pour partager du code ou des bases de connaissances.
  3. développement localTesté en mode local, non dépendant d'un réseau.

mise en garde

  • Assurez-vous que le service Qdrant est démarré (localement ou à distance).
  • Le modèle d'intégration par défaut est sentence-transformers/all-MiniLM-L6-v2Le modèle ne peut être utilisé qu'avec des modèles pris en charge par FastEmbed.
  • Le mode SSE est adapté à l'accès à distance, le mode stdio est adapté aux clients locaux.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...