Qdrant MCP

आधिकारिक

Qdrant वेक्टर डेटाबेस का उपयोग करके सिमैंटिक खोज।

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

  • जानकारी को सिमैंटिक मेमोरी के रूप में संग्रहीत करेंqdrant-store का उपयोग करके वैकल्पिक मेटाडेटा के साथ टेक्स्ट को Qdrant कलेक्शन में सहेजें।
  • अर्थ के आधार पर मेमोरी खोजेंqdrant-find के माध्यम से प्राकृतिक भाषा प्रश्नों के साथ संग्रहीत जानकारी खोजें।
  • डिफ़ॉल्ट कलेक्शन कॉन्फ़िगर करेंCOLLECTION_NAME सेट करें ताकि उपकरण बिना हर बार निर्दिष्ट किए किसी विशिष्ट कलेक्शन पर काम करें।
  • केवल-पढ़ने के मोड में चलाएंQDRANT_READ_ONLY=true सेट करके स्टोर टूल को अक्षम करें, जिससे केवल पुनर्प्राप्ति की अनुमति हो।
  • टूल विवरण अनुकूलित करेंTOOL_STORE_DESCRIPTION और TOOL_FIND_DESCRIPTION को ओवरराइड करके सर्वर को कोड स्निपेट खोज जैसे विशेष कार्यप्रवाहों के लिए पुनः उपयोग करें।

दस्तावेज़

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

smithery badge

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

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

अवलोकन

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

घटक

उपकरण

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

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 सर्वर जोड़ने का विवरण 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. Claude Code में MCP सर्वर जोड़ें:

    # 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 में अपनी उपयोगकर्ता सेटिंग्स (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 को कैसे बेहतर बनाया जा सकता है, या कोई बग रिपोर्ट करना चाहते हैं, तो एक मुद्दा खोलें! हम सभी और किसी भी योगदान को पसंद करेंगे।

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 फ़ाइल देखें।