Qdrant

आधिकारिक

Qdrant वेक्टर खोज इंजन के ऊपर सिमैंटिक मेमोरी लेयर लागू करें

Qdrant MCP के साथ आप क्या कर सकते हैं?

  • स्मृतियाँ संग्रहीत करें — अपने सहायक से qdrant-store के साथ जानकारी सहेजने के लिए कहें, वैकल्पिक रूप से मेटाडेटा शामिल करें और किसी विशिष्ट संग्रह को लक्षित करें।
  • सिमेंटिक खोज — प्राकृतिक भाषा क्वेरी द्वारा प्रासंगिक संग्रहीत जानकारी प्राप्त करने के लिए qdrant-find का उपयोग करें, परिणाम QDRANT_SEARCH_LIMIT द्वारा सीमित होते हैं।
  • कोड स्निपेट प्रबंधन — कोड को मेटाडेटा के साथ संग्रहीत करने और Cursor या Claude Code में पुन: उपयोग के लिए सिमेंटिक खोज के माध्यम से इसे पुनः प्राप्त करने हेतु टूल विवरण कॉन्फ़िगर करें।
  • केवल-पठन मोडqdrant-store को अक्षम करने और केवल खोज संचालन की अनुमति देने के लिए QDRANT_READ_ONLY सक्षम करें।

दस्तावेज़

mcp-server-qdrant: एक Qdrant MCP सर्वर

smithery badge

Model Context Protocol (MCP) एक खुला प्रोटोकॉल है जो LLM अनुप्रयोगों और बाहरी डेटा स्रोतों तथा टूल्स के बीच सहज एकीकरण सक्षम करता है। चाहे आप AI-संचालित IDE बना रहे हों, चैट इंटरफ़ेस बेहतर कर रहे हों, या कस्टम AI वर्कफ़्लो बना रहे हों, MCP LLM को उनके आवश्यक संदर्भ से जोड़ने का एक मानकीकृत तरीका प्रदान करता है।

यह रिपॉज़िटरी Qdrant के लिए एक MCP सर्वर बनाने का उदाहरण है, जो एक वेक्टर खोज इंजन है।

अवलोकन

Qdrant वेक्टर खोज इंजन में मेमोरी रखने और पुनर्प्राप्त करने के लिए एक आधिकारिक Model Context Protocol सर्वर। यह Qdrant डेटाबेस के ऊपर एक सिमेंटिक मेमोरी परत के रूप में कार्य करता है।

घटक

टूल्स

  1. qdrant-store
    • Qdrant डेटाबेस में कुछ जानकारी संग्रहीत करें
    • इनपुट:
      • information (स्ट्रिंग): संग्रहीत करने के लिए जानकारी
      • metadata (JSON): संग्रहीत करने के लिए वैकल्पिक मेटाडेटा
      • collection_name (स्ट्रिंग): उस संग्रह का नाम जिसमें जानकारी संग्रहीत की जानी है। यदि कोई डिफ़ॉल्ट संग्रह नाम नहीं है तो यह फ़ील्ड आवश्यक है। यदि डिफ़ॉल्ट संग्रह नाम है, तो यह फ़ील्ड सक्षम नहीं है।
    • रिटर्न: पुष्टिकरण संदेश
  2. qdrant-find
    • Qdrant डेटाबेस से प्रासंगिक जानकारी पुनर्प्राप्त करें
    • इनपुट:
      • query (स्ट्रिंग): खोज के लिए उपयोग करने हेतु क्वेरी
      • collection_name (स्ट्रिंग): उस संग्रह का नाम जिसमें जानकारी संग्रहीत की जानी है। यदि कोई डिफ़ॉल्ट संग्रह नाम नहीं है तो यह फ़ील्ड आवश्यक है। यदि डिफ़ॉल्ट संग्रह नाम है, तो यह फ़ील्ड सक्षम नहीं है।
    • रिटर्न: Qdrant डेटाबेस में संग्रहीत जानकारी अलग-अलग संदेशों के रूप में

पर्यावरण चर

कॉन्फ़िगरेशन पर्यावरण चर के माध्यम से किया जाता है। एकमात्र कमांड-लाइन तर्क --transport है, जिसका उपयोग ट्रांसपोर्ट प्रोटोकॉल चुनने के लिए किया जाता है।

[!NOTE] आप एक ही समय में QDRANT_URL और QDRANT_LOCAL_PATH दोनों प्रदान नहीं कर सकते।

नामविवरणडिफ़ॉल्ट मान
QDRANT_URLQdrant सर्वर का URLकोई नहीं
QDRANT_API_KEYQdrant सर्वर के लिए API कुंजीकोई नहीं
COLLECTION_NAMEउपयोग करने के लिए डिफ़ॉल्ट संग्रह का नाम।कोई नहीं
QDRANT_LOCAL_PATHस्थानीय Qdrant डेटाबेस का पथ (QDRANT_URL का विकल्प)कोई नहीं
EMBEDDING_PROVIDERएम्बेडिंग प्रदाता (वर्तमान में केवल "fastembed" समर्थित है)fastembed
EMBEDDING_MODELउपयोग करने के लिए एम्बेडिंग मॉडल का नामsentence-transformers/all-MiniLM-L6-v2
TOOL_STORE_DESCRIPTIONस्टोर टूल के लिए कस्टम विवरणsettings.py में डिफ़ॉल्ट देखें
TOOL_FIND_DESCRIPTIONफाइंड टूल के लिए कस्टम विवरणsettings.py में डिफ़ॉल्ट देखें
QDRANT_SEARCH_LIMITखोज से लौटाए जाने वाले परिणामों की अधिकतम संख्या10
QDRANT_READ_ONLYकेवल-पठन मोड सक्षम करें (qdrant-store टूल अक्षम करता है)false

FastMCP पर्यावरण चर

चूँकि mcp-server-qdrant FastMCP पर आधारित है, यह सभी FastMCP पर्यावरण चरों का भी समर्थन करता है। सबसे महत्वपूर्ण नीचे सूचीबद्ध हैं:

पर्यावरण चरविवरणडिफ़ॉल्ट मान
FASTMCP_LOG_LEVELलॉगिंग स्तर सेट करें (DEBUG, INFO, WARNING, ERROR, CRITICAL)INFO
FASTMCP_SERVER_DEBUGडीबग मोड सक्षम करेंfalse
FASTMCP_SERVER_HOSTसर्वर को बाँधने के लिए होस्ट पता127.0.0.1
FASTMCP_SERVER_PORTसर्वर चलाने के लिए पोर्ट8000
FASTMCP_SERVER_ON_DUPLICATE_RESOURCESडुप्लिकेट संसाधनों के लिए व्यवहार (warn, error, replace, ignore)warn
FASTMCP_SERVER_ON_DUPLICATE_TOOLSडुप्लिकेट टूल्स के लिए व्यवहार (warn, error, replace, ignore)warn
FASTMCP_SERVER_ON_DUPLICATE_PROMPTSडुप्लिकेट प्रॉम्प्ट के लिए व्यवहार (warn, error, replace, ignore)warn
FASTMCP_SERVER_DEPENDENCIESसर्वर वातावरण में स्थापित करने के लिए निर्भरताओं की सूची[]

[!NOTE] सर्वर-विशिष्ट सेटिंग्स FASTMCP_SERVER_ उपसर्ग का उपयोग करती हैं। यह भविष्य के संस्करणों में बदल सकता है।

स्थापना

uvx का उपयोग करना

uvx का उपयोग करते समय mcp-server-qdrant को सीधे चलाने के लिए किसी विशेष स्थापना की आवश्यकता नहीं है।

QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
uvx mcp-server-qdrant

ट्रांसपोर्ट प्रोटोकॉल

सर्वर विभिन्न ट्रांसपोर्ट प्रोटोकॉल का समर्थन करता है जिन्हें --transport फ़्लैग का उपयोग करके निर्दिष्ट किया जा सकता है:

QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
uvx mcp-server-qdrant --transport sse

समर्थित ट्रांसपोर्ट प्रोटोकॉल:

  • stdio (डिफ़ॉल्ट): मानक इनपुट/आउटपुट ट्रांसपोर्ट, केवल स्थानीय MCP क्लाइंट द्वारा उपयोग किया जा सकता है
  • sse: Server-Sent Events ट्रांसपोर्ट, रिमोट क्लाइंट के लिए उपयुक्त
  • streamable-http: Streamable HTTP ट्रांसपोर्ट, रिमोट क्लाइंट के लिए उपयुक्त, SSE से अधिक नया

यदि निर्दिष्ट नहीं है तो डिफ़ॉल्ट ट्रांसपोर्ट stdio है।

जब SSE ट्रांसपोर्ट का उपयोग किया जाता है, तो सर्वर निर्दिष्ट पोर्ट पर सुनता है और आने वाले कनेक्शनों की प्रतीक्षा करता है। डिफ़ॉल्ट पोर्ट 8000 है, हालाँकि इसे FASTMCP_SERVER_PORT पर्यावरण चर का उपयोग करके बदला जा सकता है।

QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="my-collection" \
FASTMCP_SERVER_PORT=1234 \
uvx mcp-server-qdrant --transport sse

Docker का उपयोग करना

MCP सर्वर को बनाने और चलाने के लिए एक Dockerfile उपलब्ध है:

# Build the container
docker build -t mcp-server-qdrant .

# Run the container
docker run -p 8000:8000 \
  -e FASTMCP_SERVER_HOST="0.0.0.0" \
  -e QDRANT_URL="http://your-qdrant-server:6333" \
  -e QDRANT_API_KEY="your-api-key" \
  -e COLLECTION_NAME="your-collection" \
  mcp-server-qdrant

[!TIP] कृपया ध्यान दें कि हमने सर्वर को सभी नेटवर्क इंटरफेस पर सुनने के लिए FASTMCP_SERVER_HOST="0.0.0.0" सेट किया है। Docker कंटेनर में सर्वर चलाते समय यह आवश्यक है।

Smithery के माध्यम से स्थापना

Smithery के माध्यम से Claude Desktop के लिए Qdrant MCP सर्वर स्वचालित रूप से स्थापित करने के लिए:

npx @smithery/cli install mcp-server-qdrant --client claude

Claude Desktop की मैन्युअल कॉन्फ़िगरेशन

इस सर्वर को Claude Desktop ऐप के साथ उपयोग करने के लिए, अपने claude_desktop_config.json के "mcpServers" अनुभाग में निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

{
  "qdrant": {
    "command": "uvx",
    "args": ["mcp-server-qdrant"],
    "env": {
      "QDRANT_URL": "https://xyz-example.eu-central.aws.cloud.qdrant.io:6333",
      "QDRANT_API_KEY": "your_api_key",
      "COLLECTION_NAME": "your-collection-name",
      "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
    }
  }
}

स्थानीय Qdrant मोड के लिए:

{
  "qdrant": {
    "command": "uvx",
    "args": ["mcp-server-qdrant"],
    "env": {
      "QDRANT_LOCAL_PATH": "/path/to/qdrant/database",
      "COLLECTION_NAME": "your-collection-name",
      "EMBEDDING_MODEL": "sentence-transformers/all-MiniLM-L6-v2"
    }
  }
}

यह MCP सर्वर स्वचालित रूप से निर्दिष्ट नाम के साथ एक संग्रह बनाएगा यदि वह मौजूद नहीं है।

डिफ़ॉल्ट रूप से, सर्वर मेमोरी एन्कोड करने के लिए sentence-transformers/all-MiniLM-L6-v2 एम्बेडिंग मॉडल का उपयोग करेगा। फिलहाल, केवल FastEmbed मॉडल समर्थित हैं।

अन्य टूल्स के लिए समर्थन

इस MCP सर्वर का उपयोग किसी भी MCP-संगत क्लाइंट के साथ किया जा सकता है। उदाहरण के लिए, आप इसे Cursor और VS Code के साथ उपयोग कर सकते हैं, जो Model Context Protocol के लिए अंतर्निहित समर्थन प्रदान करते हैं।

Cursor/Windsurf के साथ उपयोग

आप टूल विवरण को अनुकूलित करके इस MCP सर्वर को Cursor या Windsurf के लिए कोड खोज टूल के रूप में कॉन्फ़िगर कर सकते हैं:

QDRANT_URL="http://localhost:6333" \
COLLECTION_NAME="code-snippets" \
TOOL_STORE_DESCRIPTION="Store reusable code snippets for later retrieval. \
The 'information' parameter should contain a natural language description of what the code does, \
while the actual code should be included in the 'metadata' parameter as a 'code' property. \
The value of 'metadata' is a Python dictionary with strings as keys. \
Use this whenever you generate some code snippet." \
TOOL_FIND_DESCRIPTION="Search for relevant code snippets based on natural language descriptions. \
The 'query' parameter should describe what you're looking for, \
and the tool will return the most relevant code snippets. \
Use this when you need to find existing code snippets for reuse or reference." \
uvx mcp-server-qdrant --transport sse # Enable SSE transport

Cursor/Windsurf में, आप SSE ट्रांसपोर्ट प्रोटोकॉल का उपयोग करके इस चल रहे सर्वर की ओर इशारा करके अपनी सेटिंग्स में MCP सर्वर कॉन्फ़िगर कर सकते हैं। Cursor में MCP सर्वर जोड़ने का विवरण https://docs.cursor.com/context/model-context-protocol#adding-an-mcp-server-to-cursor में पाया जा सकता है। यदि आप Cursor/Windsurf स्थानीय रूप से चला रहे हैं, तो आप निम्न URL का उपयोग कर सकते हैं:

http://localhost:8000/sse

[!TIP] हम Cursor/Windsurf को MCP सर्वर से जोड़ने के लिए SSE ट्रांसपोर्ट को पसंदीदा तरीके के रूप में सुझाते हैं, क्योंकि यह रिमोट कनेक्शन का समर्थन कर सकता है। यह सर्वर को अपनी टीम के साथ साझा करना या क्लाउड वातावरण में उपयोग करना आसान बनाता है।

यह कॉन्फ़िगरेशन Qdrant MCP सर्वर को एक विशेष कोड खोज टूल में बदल देता है जो:

  1. कोड स्निपेट, दस्तावेज़ीकरण और कार्यान्वयन विवरण संग्रहीत कर सकता है
  2. सिमेंटिक खोज के आधार पर प्रासंगिक कोड उदाहरण पुनर्प्राप्त कर सकता है
  3. डेवलपर्स को विशिष्ट कार्यान्वयन या उपयोग पैटर्न खोजने में मदद कर सकता है

आप कोड स्निपेट के प्राकृतिक भाषा विवरण (information पैरामीटर में) वास्तविक कोड (metadata.code प्रॉपर्टी में) के साथ संग्रहीत करके डेटाबेस भर सकते हैं, और फिर उन्हें प्राकृतिक भाषा क्वेरी का उपयोग करके खोज सकते हैं जो बताती हैं कि आप क्या खोज रहे हैं।

[!NOTE] ऊपर दिए गए टूल विवरण उदाहरण हैं और आपके विशिष्ट उपयोग के मामले के लिए अनुकूलित करने की आवश्यकता हो सकती है। अपनी टीम के वर्कफ़्लो और आपके द्वारा संग्रहीत और पुनर्प्राप्त किए जाने वाले कोड स्निपेट के विशिष्ट प्रकारों से बेहतर मेल खाने के लिए विवरण समायोजित करने पर विचार करें।

यदि आपने mcp-server-qdrant सफलतापूर्वक स्थापित किया है, लेकिन फिर भी इसे Cursor के साथ काम नहीं करवा पा रहे हैं, तो कृपया Cursor नियम बनाने पर विचार करें ताकि एजेंट नया कोड स्निपेट बनाते समय MCP टूल्स का हमेशा उपयोग किया जाए। आप नियमों को केवल कुछ फ़ाइल प्रकारों के लिए काम करने के लिए प्रतिबंधित कर सकते हैं, ताकि दस्तावेज़ीकरण या अन्य प्रकार की सामग्री के लिए MCP सर्वर का उपयोग न हो।

Claude Code के साथ उपयोग

आप इस MCP सर्वर से जोड़कर Claude Code की क्षमताओं को बढ़ा सकते हैं, जिससे आपके मौजूदा कोडबेस पर सिमेंटिक खोज सक्षम हो जाती है।

mcp-server-qdrant सेट करना

  1. MCP सर्वर को Claude Code में जोड़ें:

    # Add mcp-server-qdrant configured for code search
    claude mcp add code-search \
    -e QDRANT_URL="http://localhost:6333" \
    -e COLLECTION_NAME="code-repository" \
    -e EMBEDDING_MODEL="sentence-transformers/all-MiniLM-L6-v2" \
    -e TOOL_STORE_DESCRIPTION="Store code snippets with descriptions. The 'information' parameter should contain a natural language description of what the code does, while the actual code should be included in the 'metadata' parameter as a 'code' property." \
    -e TOOL_FIND_DESCRIPTION="Search for relevant code snippets using natural language. The 'query' parameter should describe the functionality you're looking for." \
    -- uvx mcp-server-qdrant
    
  2. सत्यापित करें कि सर्वर जोड़ा गया था:

    claude mcp list
    

Claude Code में सिमेंटिक कोड खोज का उपयोग

TOOL_STORE_DESCRIPTION और TOOL_FIND_DESCRIPTION में निर्दिष्ट टूल विवरण, Claude Code को MCP सर्वर का उपयोग करने के तरीके के बारे में मार्गदर्शन करते हैं। ऊपर दिए गए उदाहरण हैं और आपके विशिष्ट उपयोग के मामले के लिए अनुकूलित करने की आवश्यकता हो सकती है। हालाँकि, Claude Code पहले से ही सक्षम होना चाहिए:

  1. विवरण के साथ कोड स्निपेट संग्रहीत करने के लिए qdrant-store टूल का उपयोग करें।
  2. प्राकृतिक भाषा का उपयोग करके प्रासंगिक कोड स्निपेट खोजने के लिए qdrant-find टूल का उपयोग करें।

विकास मोड में MCP सर्वर चलाएँ

MCP सर्वर को mcp dev कमांड का उपयोग करके विकास मोड में चलाया जा सकता है। यह सर्वर शुरू करेगा और आपके ब्राउज़र में MCP इंस्पेक्टर खोलेगा।

COLLECTION_NAME=mcp-dev fastmcp dev src/mcp_server_qdrant/server.py

VS Code के साथ उपयोग

एक-क्लिक स्थापना के लिए, नीचे दिए गए इंस्टॉल बटनों में से एक पर क्लिक करें:

Install with UVX in VS Code Install with UVX in VS Code Insiders

Install with Docker in VS Code Install with Docker in VS Code Insiders

मैन्युअल स्थापना

VS Code में अपनी User Settings (JSON) फ़ाइल में निम्नलिखित JSON ब्लॉक जोड़ें। आप Ctrl + Shift + P दबाकर और Preferences: Open User Settings (JSON) टाइप करके ऐसा कर सकते हैं।

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "qdrantUrl",
        "description": "Qdrant URL"
      },
      {
        "type": "promptString",
        "id": "qdrantApiKey",
        "description": "Qdrant API Key",
        "password": true
      },
      {
        "type": "promptString",
        "id": "collectionName",
        "description": "Collection Name"
      }
    ],
    "servers": {
      "qdrant": {
        "command": "uvx",
        "args": ["mcp-server-qdrant"],
        "env": {
          "QDRANT_URL": "${input:qdrantUrl}",
          "QDRANT_API_KEY": "${input:qdrantApiKey}",
          "COLLECTION_NAME": "${input:collectionName}"
        }
      }
    }
  }
}

या यदि आप Docker का उपयोग करना पसंद करते हैं, तो इसके बजाय यह कॉन्फ़िगरेशन जोड़ें:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "qdrantUrl",
        "description": "Qdrant URL"
      },
      {
        "type": "promptString",
        "id": "qdrantApiKey",
        "description": "Qdrant API Key",
        "password": true
      },
      {
        "type": "promptString",
        "id": "collectionName",
        "description": "Collection Name"
      }
    ],
    "servers": {
      "qdrant": {
        "command": "docker",
        "args": [
          "run",
          "-p", "8000:8000",
          "-i",
          "--rm",
          "-e", "QDRANT_URL",
          "-e", "QDRANT_API_KEY",
          "-e", "COLLECTION_NAME",
          "mcp-server-qdrant"
        ],
        "env": {
          "QDRANT_URL": "${input:qdrantUrl}",
          "QDRANT_API_KEY": "${input:qdrantApiKey}",
          "COLLECTION_NAME": "${input:collectionName}"
        }
      }
    }
  }
}

वैकल्पिक रूप से, आप अपने वर्कस्पेस में निम्नलिखित सामग्री के साथ एक .vscode/mcp.json फ़ाइल बना सकते हैं:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "qdrantUrl",
      "description": "Qdrant URL"
    },
    {
      "type": "promptString",
      "id": "qdrantApiKey",
      "description": "Qdrant API Key",
      "password": true
    },
    {
      "type": "promptString",
      "id": "collectionName",
      "description": "Collection Name"
    }
  ],
  "servers": {
    "qdrant": {
      "command": "uvx",
      "args": ["mcp-server-qdrant"],
      "env": {
        "QDRANT_URL": "${input:qdrantUrl}",
        "QDRANT_API_KEY": "${input:qdrantApiKey}",
        "COLLECTION_NAME": "${input:collectionName}"
      }
    }
  }
}

Docker के साथ वर्कस्पेस कॉन्फ़िगरेशन के लिए, .vscode/mcp.json में इसका उपयोग करें:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "qdrantUrl",
      "description": "Qdrant URL"
    },
    {
      "type": "promptString",
      "id": "qdrantApiKey",
      "description": "Qdrant API Key",
      "password": true
    },
    {
      "type": "promptString",
      "id": "collectionName",
      "description": "Collection Name"
    }
  ],
  "servers": {
    "qdrant": {
      "command": "docker",
      "args": [
        "run",
        "-p", "8000:8000",
        "-i",
        "--rm",
        "-e", "QDRANT_URL",
        "-e", "QDRANT_API_KEY",
        "-e", "COLLECTION_NAME",
        "mcp-server-qdrant"
      ],
      "env": {
        "QDRANT_URL": "${input:qdrantUrl}",
        "QDRANT_API_KEY": "${input:qdrantApiKey}",
        "COLLECTION_NAME": "${input:collectionName}"
      }
    }
  }
}

योगदान

यदि आपके पास mcp-server-qdrant को बेहतर बनाने के सुझाव हैं, या कोई बग रिपोर्ट करना चाहते हैं, तो एक issue खोलें! हम सभी और किसी भी योगदान का स्वागत करते हैं।

mcp-server-qdrant का स्थानीय परीक्षण

MCP इंस्पेक्टर MCP सर्वरों के परीक्षण और डिबगिंग के लिए एक डेवलपर टूल है। यह एक क्लाइंट UI (डिफ़ॉल्ट पोर्ट 5173) और एक MCP प्रॉक्सी सर्वर (डिफ़ॉल्ट पोर्ट 3000) दोनों चलाता है। इंस्पेक्टर का उपयोग करने के लिए अपने ब्राउज़र में क्लाइंट UI खोलें।

QDRANT_URL=":memory:" COLLECTION_NAME="test" \
fastmcp dev src/mcp_server_qdrant/server.py

शुरू होने के बाद, इंस्पेक्टर इंटरफ़ेस तक पहुँचने के लिए अपना ब्राउज़र http://localhost:5173 पर खोलें।

लाइसेंस

यह MCP सर्वर Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है। इसका अर्थ है कि आप Apache License 2.0 की शर्तों और नियमों के अधीन, सॉफ़्टवेयर का उपयोग, संशोधन और वितरण करने के लिए स्वतंत्र हैं। अधिक जानकारी के लिए, कृपया प्रोजेक्ट रिपॉज़िटरी में LICENSE फ़ाइल देखें।

गोपनीयता और सहायता