Couchbase

आधिकारिक

Couchbase क्लस्टर में संग्रहीत डेटा के साथ प्राकृतिक भाषा का उपयोग करके इंटरैक्ट करें।

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

अपने सहायक से Couchbase क्लस्टर में क्लस्टर स्वास्थ्य की जाँच करने, स्कीमा एक्सप्लोर करने, SQL++ क्वेरी चलाने और दस्तावेज़ प्रबंधित करने के लिए कहें।

  • SQL++ क्वेरी चलाएँ — अपने सहायक से run_sql_plus_plus_query के साथ डेटा क्वेरी करने के लिए कहें, जो स्वचालित रूप से एक बकेट और कलेक्शन तक सीमित होता है।
  • स्कीमा एक्सप्लोर करेंget_buckets_in_cluster और get_schema_for_collection के माध्यम से बकेट, स्कोप और कलेक्शन खोजें।
  • दस्तावेज़ प्रबंधित करेंget_document_by_id और upsert_document_by_id के साथ ID द्वारा दस्तावेज़ पढ़ें, अपसर्ट करें या हटाएँ।
  • क्लस्टर स्वास्थ्य जाँचेंtest_cluster_connection और get_cluster_health_and_services के साथ कनेक्टिविटी और सेवा स्थिति सत्यापित करें।
  • इंडेक्स अनुकूलित करेंlist_indexes और get_index_advisor_recommendations के माध्यम से इंडेक्स सूचीबद्ध करें और अनुशंसाएँ प्राप्त करें।
  • क्वेरी प्रदर्शन का विश्लेषण करेंget_longest_running_queries और get_queries_using_primary_index के साथ धीमी या गैर-चयनात्मक क्वेरी खोजें।

दस्तावेज़

Couchbase MCP सर्वर

Couchbase MCP सर्वर एक स्व-होस्टेड MCP सर्वर है जो AI एजेंटों को Couchbase क्लस्टरों में डेटा से जुड़ने और इंटरैक्ट करने की अनुमति देता है, चाहे वे Capella पर होस्ट किए गए हों या स्व-प्रबंधित हों। यह क्लस्टर हेल्थ, डेटा स्कीमा, की-वैल्यू, क्वेरी और परफॉर्मेंस सहित श्रेणियों में टूल प्रदान करता है — रीड-ओनली मोड और बारीक टूल अक्षमीकरण के माध्यम से सुरक्षा नियंत्रण के साथ। यह STDIO और Streamable HTTP दोनों ट्रांसपोर्ट का समर्थन करता है।

Couchbase MCP सर्वर को Python Package Index (PyPI) पैकेज और Docker के माध्यम से वितरित किया जाता है। Couchbase MCP सर्वर के लिए एंटरप्राइज़ समर्थन Couchbase AI Data Plane को लाइसेंस देकर उपलब्ध है, जो Couchbase Agent Memory और Couchbase Agent Catalog के उपयोग और एंटरप्राइज़ समर्थन का भी अधिकार देता है।

Docs License Python 3.10+ PyPI version Install in Cursor Verified on MseeP Trust Score

पूर्ण दस्तावेज़ीकरण के लिए, mcp-server.couchbase.com पर जाएँ।

Couchbase Server MCP server

विशेषताएँ/टूल

क्लस्टर सेटअप और हेल्थ टूल

टूल नामविवरण
get_server_configuration_statusक्लस्टर से कनेक्ट किए बिना सर्वर स्थिति और कॉन्फ़िगरेशन प्राप्त करें — रीड-ओनली मोड, अक्षम/पुष्टि-आवश्यक टूल, OAuth सेटिंग्स और हल किए गए लॉगिंग कॉन्फ़िगरेशन की रिपोर्ट करता है
test_cluster_connectionक्लस्टर से कनेक्ट करके क्लस्टर क्रेडेंशियल जांचें
get_cluster_health_and_servicesक्लस्टर हेल्थ स्थिति और सभी चल रही सेवाओं की सूची प्राप्त करें

डेटा मॉडल और स्कीमा खोज टूल

टूल नामविवरण
get_buckets_in_clusterक्लस्टर में सभी बकेट की सूची प्राप्त करें
get_scopes_in_bucketनिर्दिष्ट बकेट में सभी स्कोप की सूची प्राप्त करें
get_collections_in_scopeनिर्दिष्ट स्कोप और बकेट में सभी कलेक्शन की सूची प्राप्त करें। ध्यान दें कि इस टूल के लिए क्लस्टर में Query सेवा होना आवश्यक है।
get_scopes_and_collections_in_bucketनिर्दिष्ट बकेट में सभी स्कोप और कलेक्शन की सूची प्राप्त करें
get_schema_for_collectionकिसी कलेक्शन की संरचना प्राप्त करें
create_scopeबकेट में नया स्कोप बनाएं (Couchbase Server 7.6+ और Capella)। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
create_collectionमौजूदा स्कोप में नया कलेक्शन बनाएं (Couchbase Server 7.6+ और Capella)। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
delete_scopeबकेट से स्कोप और उसके सभी कलेक्शन हटाएं — स्थायी। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
delete_collectionस्कोप से कलेक्शन और उसके सभी दस्तावेज़ हटाएं — स्थायी। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true

दस्तावेज़ KV संचालन टूल

टूल नामविवरण
get_document_by_idनिर्दिष्ट स्कोप और कलेक्शन से ID द्वारा दस्तावेज़ प्राप्त करें
lookup_subdocumentपूरा दस्तावेज़ लाए बिना पथ द्वारा दस्तावेज़ के भागों (विशिष्ट फ़ील्ड, अस्तित्व जांच, या ऐरे/ऑब्जेक्ट गणना) को देखें
upsert_document_by_idनिर्दिष्ट स्कोप और कलेक्शन में ID द्वारा दस्तावेज़ अपसेर्ट करें। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
insert_document_by_idID द्वारा नया दस्तावेज़ इन्सर्ट करें (यदि दस्तावेज़ मौजूद है तो विफल होता है)। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
replace_document_by_idID द्वारा मौजूदा दस्तावेज़ को रिप्लेस करें (यदि दस्तावेज़ मौजूद नहीं है तो विफल होता है)। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
delete_document_by_idनिर्दिष्ट स्कोप और कलेक्शन से ID द्वारा दस्तावेज़ हटाएं। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
mutate_subdocumentपूरे दस्तावेज़ को फिर से लिखे बिना पथ द्वारा मौजूदा दस्तावेज़ के भागों (अपसेर्ट, इन्सर्ट, रिप्लेस, रिमूव, ऐरे ऑप्स, काउंटर) को संशोधित करें। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true

क्वेरी और इंडेक्सिंग टूल

टूल नामविवरण
list_indexesक्लस्टर में सभी इंडेक्स को उनकी परिभाषाओं के साथ सूचीबद्ध करें, बकेट, स्कोप, कलेक्शन और इंडेक्स नाम द्वारा वैकल्पिक फ़िल्टरिंग के साथ। असंसाधित इंडेक्स जानकारी लौटाने के लिए return_raw_index_stats=true सेट करें।
get_index_advisor_recommendationsक्वेरी प्रदर्शन को अनुकूलित करने के लिए दिए गए SQL++ क्वेरी के लिए Couchbase Index Advisor से इंडेक्स अनुशंसाएँ प्राप्त करें
create_indexकलेक्शन पर स्केलर (गैर-वेक्टर) GSI सेकेंडरी इंडेक्स बनाएं। डिफ़ॉल्ट रूप से स्थगित — इसे बनाने के लिए बाद में build_index कॉल करें। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
build_indexकलेक्शन पर सभी स्थगित इंडेक्स के निर्माण को ट्रिगर करें। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
drop_indexकलेक्शन से GSI इंडेक्स (स्केलर या वेक्टर) हटाएं। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true
run_sql_plus_plus_queryनिर्दिष्ट स्कोप पर SQL++ क्वेरी चलाएं।

क्वेरी स्वचालित रूप से निर्दिष्ट बकेट और स्कोप तक सीमित होती हैं, इसलिए कलेक्शन नाम सीधे उपयोग करें (जैसे, SELECT * FROM users के बजाय SELECT * FROM bucket.scope.users)।

CB_MCP_READ_ONLY_MODE डिफ़ॉल्ट रूप से true है, जिसका अर्थ है कि सभी लेखन संचालन (KV, क्वेरी, स्कोप/कलेक्शन प्रबंधन, और इंडेक्स प्रबंधन) अक्षम हैं। सक्षम होने पर, KV, कलेक्शन प्रबंधन, और इंडेक्स लेखन टूल लोड नहीं होते हैं और डेटा संशोधित करने वाली SQL++ क्वेरी अवरुद्ध होती हैं।
explain_sql_plus_plus_querySQL++ क्वेरी के लिए EXPLAIN प्लान उत्पन्न और मूल्यांकन करें। क्वेरी मेटाडेटा, निकाला गया प्लान और प्लान मूल्यांकन निष्कर्ष लौटाता है।

क्वेरी प्रदर्शन विश्लेषण टूल

टूल नामविवरण
get_longest_running_queriesऔसत सेवा समय द्वारा सबसे लंबे समय तक चलने वाली क्वेरी प्राप्त करें
get_most_frequent_queriesसबसे अधिक बार निष्पादित क्वेरी प्राप्त करें
get_queries_with_largest_response_sizesसबसे बड़े प्रतिक्रिया आकार वाली क्वेरी प्राप्त करें
get_queries_with_large_result_countसबसे बड़ी परिणाम गणना वाली क्वेरी प्राप्त करें
get_queries_using_primary_indexप्राथमिक इंडेक्स का उपयोग करने वाली क्वेरी प्राप्त करें (संभावित प्रदर्शन चिंता)
get_queries_not_using_covering_indexकवरिंग इंडेक्स का उपयोग न करने वाली क्वेरी प्राप्त करें
get_queries_not_selectiveऐसी क्वेरी प्राप्त करें जो चयनात्मक नहीं हैं (इंडेक्स स्कैन अंतिम परिणाम से कहीं अधिक दस्तावेज़ लौटाते हैं)

पूर्वापेक्षाएँ

  • Python 3.10 या उच्चतर।
  • एक चालू Couchbase क्लस्टर। शुरू करने का सबसे आसान तरीका Capella फ्री टियर का उपयोग करना है, जो Couchbase सर्वर का पूरी तरह से प्रबंधित संस्करण है। आप नमूना डेटासेट में से एक को आयात करने या अपना स्वयं का आयात करने के लिए निर्देशों का पालन कर सकते हैं।
  • सर्वर चलाने के लिए uv स्थापित होना चाहिए।
  • सर्वर को Claude से जोड़ने के लिए Claude Desktop जैसा MCP क्लाइंट स्थापित होना चाहिए। निर्देश Claude Desktop और Cursor के लिए प्रदान किए गए हैं। अन्य MCP क्लाइंट भी उपयोग किए जा सकते हैं।

कॉन्फ़िगरेशन

MCP सर्वर को पहले से निर्मित PyPI पैकेज या uv का उपयोग करके स्रोत से चलाया जा सकता है।

PyPI से चलाना

हम MCP सर्वर के लिए पहले से निर्मित PyPI पैकेज प्रकाशित करते हैं।

MCP क्लाइंट्स के लिए पहले से निर्मित पैकेज का उपयोग करके सर्वर कॉन्फ़िगरेशन

बेसिक प्रमाणीकरण

{
  "mcpServers": {
    "couchbase": {
      "command": "uvx",
      "args": ["couchbase-mcp-server"],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://connection-string",
        "CB_USERNAME": "username",
        "CB_PASSWORD": "password"
      }
    }
  }
}

या

mTLS

{
  "mcpServers": {
    "couchbase": {
      "command": "uvx",
      "args": ["couchbase-mcp-server"],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://connection-string",
        "CB_CLIENT_CERT_PATH": "/path/to/client-certificate.pem",
        "CB_CLIENT_KEY_PATH": "/path/to/client.key"
      }
    }
  }
}

नोट: यदि आपके पास क्लाइंट में अन्य MCP सर्वर उपयोग में हैं, तो आप इसे मौजूदा mcpServers ऑब्जेक्ट में जोड़ सकते हैं।

स्रोत से चलाना

MCP सर्वर को इस रिपॉजिटरी का उपयोग करके स्रोत से चलाया जा सकता है।

रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन करें

git clone https://github.com/couchbase/mcp-server-couchbase.git

MCP क्लाइंट्स के लिए स्रोत का उपयोग करके सर्वर कॉन्फ़िगरेशन

यह Claude Desktop, Cursor, Windsurf Editor जैसे MCP क्लाइंट्स के लिए सामान्य कॉन्फ़िगरेशन है।

{
  "mcpServers": {
    "couchbase": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/cloned/repo/mcp-server-couchbase/",
        "run",
        "src/mcp_server.py"
      ],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://connection-string",
        "CB_USERNAME": "username",
        "CB_PASSWORD": "password"
      }
    }
  }
}

नोट: path/to/cloned/repo/mcp-server-couchbase/ आपकी स्थानीय मशीन पर क्लोन किए गए रिपॉजिटरी का पथ होना चाहिए। अंत में ट्रेलिंग स्लैश न भूलें!

नोट: यदि आपके पास क्लाइंट में अन्य MCP सर्वर उपयोग में हैं, तो आप इसे मौजूदा mcpServers ऑब्जेक्ट में जोड़ सकते हैं।

MCP सर्वर के लिए अतिरिक्त कॉन्फ़िगरेशन

सर्वर को पर्यावरण चर या कमांड लाइन तर्कों का उपयोग करके कॉन्फ़िगर किया जा सकता है:

पर्यावरण चरCLI तर्कविवरणडिफ़ॉल्ट
CB_CONNECTION_STRING--connection-stringCouchbase क्लस्टर के लिए कनेक्शन स्ट्रिंगआवश्यक
CB_USERNAME--usernameबेसिक प्रमाणीकरण के लिए आवश्यक बकेट तक पहुंच रखने वाला उपयोगकर्ता नामआवश्यक (या mTLS के लिए क्लाइंट प्रमाणपत्र और कुंजी आवश्यक)
CB_PASSWORD--passwordबेसिक प्रमाणीकरण के लिए पासवर्डआवश्यक (या mTLS के लिए क्लाइंट प्रमाणपत्र और कुंजी आवश्यक)
CB_CLIENT_CERT_PATH--client-cert-pathmTLS प्रमाणीकरण के लिए क्लाइंट प्रमाणपत्र फ़ाइल का पथmTLS उपयोग करने पर आवश्यक (या उपयोगकर्ता नाम और पासवर्ड आवश्यक)
CB_CLIENT_KEY_PATH--client-key-pathmTLS प्रमाणीकरण के लिए क्लाइंट कुंजी फ़ाइल का पथmTLS उपयोग करने पर आवश्यक (या उपयोगकर्ता नाम और पासवर्ड आवश्यक)
CB_CA_CERT_PATH--ca-cert-pathTLS के लिए सर्वर रूट प्रमाणपत्र का पथ, यदि सर्वर स्व-हस्ताक्षरित/अविश्वसनीय प्रमाणपत्र के साथ कॉन्फ़िगर किया गया है। Capella से कनेक्ट करने पर यह आवश्यक नहीं होगा
CB_MCP_READ_ONLY_MODE--read-only-modeसभी डेटा संशोधनों को रोकें (KV, Query, scope/collection प्रबंधन, और इंडेक्स प्रबंधन)। सक्षम होने पर, KV, collection प्रबंधन, और इंडेक्स लेखन टूल लोड नहीं होते।true
CB_MCP_TRANSPORT--transportपरिवहन मोड: stdio, http, ssestdio
CB_MCP_HOST--hostHTTP/SSE परिवहन मोड के लिए होस्ट127.0.0.1
CB_MCP_PORT--portHTTP/SSE परिवहन मोड के लिए पोर्ट8000
CB_MCP_DISABLED_TOOLS--disabled-toolsअक्षम करने के लिए टूल (देखें टूल अक्षम करना)कोई नहीं
CB_MCP_CONFIRMATION_REQUIRED_TOOLS--confirmation-required-toolsवे टूल जिन्हें निष्पादन से पहले MCP elicitation के माध्यम से स्पष्ट उपयोगकर्ता पुष्टि की आवश्यकता होती है (देखें Elicitation/पुष्टि आवश्यक टूल)कोई नहीं
CB_MCP_LOG_LEVEL--log-levelMCP सर्वर के लिए लॉगिंग स्तर: off, debug, info, warning, error (देखें लॉगिंग)info
CB_MCP_LOG_SINKS--log-sinksअल्पविराम-पृथक लॉग गंतव्य: stderr, file, या दोनों (देखें लॉगिंग)stderr
CB_MCP_LOG_FILE--log-fileप्रति-स्तर लॉग फ़ाइलों के लिए आधार पथ (केवल तब उपयोग होता है जब file sink सक्षम हो)mcp_server.log
CB_MCP_LOG_ROTATION_MAX_SIZE_MB--log-rotation-max-size-mbप्रति लॉग फ़ाइल घूर्णन से पहले वैश्विक अधिकतम आकार MB में, जब तक ओवरराइड न किया जाए, प्रत्येक स्तर द्वारा विरासत में मिलता है। 0 अमान्य है और स्टार्टअप चेतावनी के साथ डिफ़ॉल्ट पर वापस आ जाता है1 (1 MB)
CB_MCP_LOG_MAX_BYTES--log-max-bytesअप्रचलितCB_MCP_LOG_ROTATION_MAX_SIZE_MB (MB) का उपयोग करें। वैश्विक घूर्णन आकार बाइट्स में, पिछड़ी संगतता के लिए अभी भी मान्य; जब CB_MCP_LOG_ROTATION_MAX_SIZE_MB भी सेट हो तो अनदेखा किया जाता हैअनसेट
CB_MCP_LOG_ERROR_ROTATION_MAX_SIZE_MB--log-error-rotation-max-size-mbERROR लॉग फ़ाइल के लिए घूर्णन आकार MB में; ERROR के लिए CB_MCP_LOG_ROTATION_MAX_SIZE_MB को ओवरराइड करता हैCB_MCP_LOG_ROTATION_MAX_SIZE_MB से विरासत में मिलता है
CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB--log-warning-rotation-max-size-mbWARNING लॉग फ़ाइल के लिए घूर्णन आकार MB में; WARNING के लिए CB_MCP_LOG_ROTATION_MAX_SIZE_MB को ओवरराइड करता हैCB_MCP_LOG_ROTATION_MAX_SIZE_MB से विरासत में मिलता है
CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB--log-info-rotation-max-size-mbINFO लॉग फ़ाइल के लिए घूर्णन आकार MB में; INFO के लिए CB_MCP_LOG_ROTATION_MAX_SIZE_MB को ओवरराइड करता हैCB_MCP_LOG_ROTATION_MAX_SIZE_MB से विरासत में मिलता है
CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB--log-debug-rotation-max-size-mbDEBUG लॉग फ़ाइल के लिए घूर्णन आकार MB में; DEBUG के लिए CB_MCP_LOG_ROTATION_MAX_SIZE_MB को ओवरराइड करता हैCB_MCP_LOG_ROTATION_MAX_SIZE_MB से विरासत में मिलता है
CB_MCP_LOG_RETENTION_BACKUP_COUNT--log-retention-backup-countप्रति-स्तर लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप फ़ाइलें (लाइव फ़ाइल को छोड़कर), जब तक ओवरराइड न किया जाए, प्रत्येक स्तर पर लागू होती हैं। 0 केवल लाइव फ़ाइल रखता है (देखें लॉगिंग)1
CB_MCP_LOG_ERROR_RETENTION_BACKUP_COUNT--log-error-retention-backup-countERROR लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; ERROR के लिए वैश्विक गणना को ओवरराइड करता हैCB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है
CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT--log-warning-retention-backup-countWARNING लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; WARNING के लिए वैश्विक गणना को ओवरराइड करता हैCB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है
CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT--log-info-retention-backup-countINFO लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; INFO के लिए वैश्विक गणना को ओवरराइड करता हैCB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है
CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT--log-debug-retention-backup-countDEBUG लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; DEBUG के लिए वैश्विक गणना को ओवरराइड करता हैCB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है
CB_MCP_OAUTH_JWT_JWKS_URI--oauth-jwks-uriबियरर JWT सत्यापित करने के लिए उपयोग किए जाने वाले पहचान प्रदाता का JWKS एंडपॉइंट। जब issuer और audience के साथ सेट किया जाता है तो OAuth सक्षम करता है (देखें OAuth 2.1 प्राधिकरण)कोई नहीं
CB_MCP_OAUTH_JWT_ISSUER--oauth-issuerअपेक्षित JWT iss दावा। OAuth सक्षम करने के लिए आवश्यककोई नहीं
CB_MCP_OAUTH_JWT_AUDIENCE--oauth-audienceअपेक्षित JWT aud दावा। OAuth सक्षम करने के लिए आवश्यककोई नहीं
CB_MCP_OAUTH_JWT_ALGORITHM--oauth-algorithmJWT हस्ताक्षर एल्गोरिदम: RS256/384/512, ES256/384/512, PS256/384/512 में से एकRS256
CB_MCP_OAUTH_MCP_BASE_URL--oauth-mcp-base-urlइस सर्वर का सार्वजनिक आधार URL। सेट होने पर, RFC 9728 संरक्षित संसाधन मेटाडेटा प्रकाशित करता है ताकि PRM-जागरूक क्लाइंट IdP की खोज कर सकेंकोई नहीं
CB_MCP_OAUTH_SCOPE_READ_LABEL--oauth-scope-read-labelOAuth scope लेबल को 'read' पहुंच के रूप में माना जाने वाला ओवरराइड करें (PRM में विज्ञापित और टोकन के scope/scp दावे के विरुद्ध मिलान किया जाता है)। उपयोग करें जब आपका IdP विहित रूप उत्सर्जित नहीं कर सकताcouchbase-mcp:read
CB_MCP_OAUTH_SCOPE_WRITE_LABEL--oauth-scope-write-labelOAuth scope लेबल को 'write' पहुंच के रूप में माना जाने वाला ओवरराइड करें; read लेबल के समान शब्दार्थcouchbase-mcp:write

केवल-पठन मोड कॉन्फ़िगरेशन

CB_MCP_READ_ONLY_MODE लेखन संचालन को नियंत्रित करने वाला एकमात्र स्विच है:

  • जब true (डिफ़ॉल्ट): सभी लेखन संचालन (KV, Query, scope/collection प्रबंधन, और इंडेक्स प्रबंधन) अक्षम होते हैं। KV लेखन टूल (upsert, insert, replace, delete, sub-document mutate), scope/collection प्रबंधन लेखन टूल (create_scope, create_collection, delete_scope, delete_collection), और इंडेक्स लेखन टूल (create_index, build_index, drop_index) लोड नहीं होते और LLM के लिए उपलब्ध नहीं होंगे, और डेटा या संरचना को संशोधित करने वाले SQL++ क्वेरी अवरुद्ध हैं।
  • जब false: KV, scope/collection प्रबंधन, और इंडेक्स लेखन टूल लोड होते हैं और SQL++ डेटा/संरचना संशोधन क्वेरी की अनुमति होती है।

यह LLM द्वारा अनजाने डेटा संशोधन को रोकने के लिए अनुशंसित सुरक्षित डिफ़ॉल्ट है।

नोट: प्रमाणीकरण के लिए, आपको उपयोगकर्ता नाम और पासवर्ड या क्लाइंट प्रमाणपत्र और कुंजी पथ की आवश्यकता होती है। वैकल्पिक रूप से, आप CA रूट प्रमाणपत्र पथ निर्दिष्ट कर सकते हैं जिसका उपयोग सर्वर प्रमाणपत्रों को सत्यापित करने के लिए किया जाएगा। यदि क्लाइंट प्रमाणपत्र और कुंजी पथ तथा उपयोगकर्ता नाम और पासवर्ड दोनों निर्दिष्ट हैं, तो क्लाइंट प्रमाणपत्र प्रमाणीकरण के लिए उपयोग किए जाएंगे।

टूल अक्षम करना

आप विशिष्ट टूल को अक्षम कर सकते हैं ताकि उन्हें लोड होने और MCP क्लाइंट को उजागर होने से रोका जा सके। अक्षम टूल टूल खोज में दिखाई नहीं देंगे और LLM द्वारा आह्वान नहीं किए जा सकते।

समर्थित प्रारूप

अल्पविराम-पृथक सूची:

# Environment variable
CB_MCP_DISABLED_TOOLS="upsert_document_by_id, delete_document_by_id"

# Command line
uvx couchbase-mcp-server --disabled-tools upsert_document_by_id, delete_document_by_id

फ़ाइल पथ (प्रति पंक्ति एक टूल नाम):

# Environment variable
CB_MCP_DISABLED_TOOLS=disabled_tools.txt

# Command line
uvx couchbase-mcp-server --disabled-tools disabled_tools.txt

फ़ाइल प्रारूप (जैसे, disabled_tools.txt):

# Write operations
upsert_document_by_id
delete_document_by_id

# Index advisor
get_index_advisor_recommendations

# से शुरू होने वाली पंक्तियाँ टिप्पणी के रूप में मानी जाती हैं और अनदेखा की जाती हैं।

MCP क्लाइंट कॉन्फ़िगरेशन उदाहरण

अल्पविराम-पृथक सूची का उपयोग करना:

{
  "mcpServers": {
    "couchbase": {
      "command": "uvx",
      "args": ["couchbase-mcp-server"],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://connection-string",
        "CB_USERNAME": "username",
        "CB_PASSWORD": "password",
        "CB_MCP_DISABLED_TOOLS": "upsert_document_by_id,delete_document_by_id"
      }
    }
  }
}

फ़ाइल पथ का उपयोग करना (कई टूल के लिए अनुशंसित):

{
  "mcpServers": {
    "couchbase": {
      "command": "uvx",
      "args": ["couchbase-mcp-server"],
      "env": {
        "CB_CONNECTION_STRING": "couchbases://connection-string",
        "CB_USERNAME": "username",
        "CB_PASSWORD": "password",
        "CB_MCP_DISABLED_TOOLS": "/path/to/disabled_tools.txt"
      }
    }
  }
}

महत्वपूर्ण सुरक्षा नोट

चेतावनी: अकेले टूल अक्षम करना इस बात की गारंटी नहीं देता कि कुछ संचालन नहीं किए जा सकते। अंतर्निहित डेटाबेस उपयोगकर्ता की RBAC (रोल-आधारित एक्सेस नियंत्रण) अनुमतियाँ प्राधिकृत सुरक्षा नियंत्रण हैं।

उदाहरण के लिए, भले ही आप upsert_document_by_id और delete_document_by_id अक्षम कर दें, डेटा संशोधन अभी भी run_sql_plus_plus_query टूल के माध्यम से SQL++ DML स्टेटमेंट (INSERT, UPDATE, DELETE, MERGE) का उपयोग करके हो सकते हैं, जब तक कि:

  • CB_MCP_READ_ONLY_MODE को true (डिफ़ॉल्ट) पर सेट किया गया है, या
  • डेटाबेस उपयोगकर्ता के पास डेटा संशोधन के लिए आवश्यक RBAC अनुमतियाँ नहीं हैं

सर्वोत्तम अभ्यास: प्राथमिक सुरक्षा उपाय के रूप में हमेशा अपने Couchbase उपयोगकर्ता क्रेडेंशियल पर उचित RBAC अनुमतियाँ कॉन्फ़िगर करें। LLM व्यवहार को निर्देशित करने और हमले की सतह को कम करने के लिए टूल अक्षम करने का उपयोग एक अतिरिक्त परत के रूप में करें, न कि एकमात्र सुरक्षा नियंत्रण के रूप में।

टूल कॉल के लिए Elicitation/पुष्टि

आप निष्पादन से पहले विशिष्ट टूल के लिए स्पष्ट उपयोगकर्ता पुष्टि की आवश्यकता कर सकते हैं (जब MCP क्लाइंट elicitation का समर्थन करता है)।

CB_MCP_CONFIRMATION_REQUIRED_TOOLS / --confirmation-required-tools इन प्रारूपों का समर्थन करता है:

  • अल्पविराम-पृथक सूची
  • फ़ाइल पथ (प्रति पंक्ति एक टूल नाम, # टिप्पणियाँ समर्थित)

उदाहरण:

# Environment variable
CB_MCP_CONFIRMATION_REQUIRED_TOOLS="delete_document_by_id,replace_document_by_id"

# Command line
uvx couchbase-mcp-server --confirmation-required-tools delete_document_by_id,replace_document_by_id

जब सूचीबद्ध टूल आह्वान किया जाता है:

  • यदि क्लाइंट elicitation का समर्थन करता है, तो उपयोगकर्ता से पुष्टि करने के लिए कहा जाता है।
  • यदि क्लाइंट elicitation का समर्थन नहीं करता है, तो टूल पिछड़ी संगतता के लिए बिना पुष्टि के निष्पादित होता है।

आप सर्वर का संस्करण भी जांच सकते हैं:

uvx couchbase-mcp-server --version

लॉगिंग

MCP सर्वर डिफ़ॉल्ट रूप से stderr पर लॉग करता है। लॉगिंग अतिरिक्त कॉन्फ़िगरेशन में सूचीबद्ध CB_MCP_LOG_* चर के साथ कॉन्फ़िगर की जाती है:

  • CB_MCP_LOG_LEVEL — कितना लॉग किया जाता है: info (डिफ़ॉल्ट) लाइफसाइकिल इवेंट और टूल आह्वान लॉग करता है, debug विस्तृत आंतरिक विवरण जोड़ता है, और off सभी लॉगिंग अक्षम करता है।
  • CB_MCP_LOG_SINKS — लॉग कहां जाते हैं: stderr (डिफ़ॉल्ट), प्रति-स्तर घूर्णन फ़ाइलें (file), या दोनों। file के साथ, प्रति स्तर एक फ़ाइल लिखी जाती है (उदाहरण के लिए mcp_server.info.log और mcp_server.error.log) CB_MCP_LOG_FILE द्वारा निर्धारित पथ पर।
  • घूर्णन आकारCB_MCP_LOG_ROTATION_MAX_SIZE_MB वैश्विक आकार (MB में) है जिस पर प्रत्येक प्रति-स्तर फ़ाइल घूमती है। व्यक्तिगत स्तरों को CB_MCP_LOG_<LEVEL>_ROTATION_MAX_SIZE_MB (ERROR/WARNING/INFO/DEBUG), MB में भी, के साथ ओवरराइड करें, जो अनसेट होने पर वैश्विक से विरासत में मिलते हैं। 0 (वैश्विक या प्रति-स्तर) का आकार अमान्य है और स्टार्टअप चेतावनी के साथ डिफ़ॉल्ट (1 MB) पर वापस आ जाता है। CB_MCP_LOG_MAX_BYTES (बाइट्स) अप्रचलित है लेकिन पिछड़ी संगतता के लिए अभी भी मान्य है; जब CB_MCP_LOG_ROTATION_MAX_SIZE_MB भी सेट हो तो इसे अनदेखा किया जाता है, और स्टार्टअप पर एक deprecation चेतावनी प्रिंट करता है।
  • अवधारणCB_MCP_LOG_RETENTION_BACKUP_COUNT सेट करता है कि प्रति स्तर कितने घूर्णित बैकअप रखे जाते हैं (लाइव फ़ाइल को छोड़कर); डिफ़ॉल्ट 1 पिछला व्यवहार संरक्षित करता है। व्यक्तिगत स्तरों को CB_MCP_LOG_<LEVEL>_RETENTION_BACKUP_COUNT (ERROR/WARNING/INFO/DEBUG) के साथ ओवरराइड करें, जो अनसेट होने पर वैश्विक मान से विरासत में मिलते हैं। उस स्तर के लिए केवल लाइव फ़ाइल रखने के लिए गणना को 0 पर सेट करें — यह अभी भी घूर्णन आकार द्वारा सीमित है (बैकअप के बजाय रोलओवर पर रीसेट किया जाता है)।
  • सर्वर-कॉन्फ़िग स्नैपशॉट — जब file sink सक्रिय होता है, तो एक-शॉट रिकॉर्ड (OS, Python, निर्भरता संस्करण, परिवहन, हल किया गया लॉगिंग कॉन्फ़िग, और redacted सर्वर कॉन्फ़िग) एक समर्पित mcp_server_config.log.json फ़ाइल में JSON के रूप में लिखा जाता है (CB_MCP_LOG_FILE आधार से व्युत्पन्न)। यह प्रत्येक प्रारंभ पर अधिलेखित होता है, इसलिए समर्थन के पास हमेशा वर्तमान कॉन्फ़िग होता है और यह कभी भी घूर्णन लॉग से बाहर नहीं जाता।
# Enable debug logging to both stderr and rotating per-level files
uvx couchbase-mcp-server --log-level=debug --log-sinks=stderr,file

# Keep 30 rotated ERROR backups but only the live DEBUG file
uvx couchbase-mcp-server --log-level=debug --log-sinks=file \
  --log-error-retention-backup-count=30 --log-debug-retention-backup-count=0

अधिक विवरण के लिए, दस्तावेज़ीकरण देखें।

क्लाइंट विशिष्ट कॉन्फ़िगरेशन

Claude Desktop

Couchbase MCP सर्वर को Claude Desktop MCP क्लाइंट के साथ उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें

  1. MCP सर्वर को अब कॉन्फ़िगरेशन फ़ाइल संपादित करके Claude Desktop में जोड़ा जा सकता है। अधिक विस्तृत निर्देश MCP त्वरित प्रारंभ मार्गदर्शिका पर पाए जा सकते हैं।

    • Mac पर, कॉन्फ़िगरेशन फ़ाइल ~/Library/Application Support/Claude/claude_desktop_config.json पर स्थित है
    • Windows पर, कॉन्फ़िगरेशन फ़ाइल %APPDATA%\Claude\claude_desktop_config.json पर स्थित है कॉन्फ़िगरेशन फ़ाइल खोलें और configuration को mcpServers अनुभाग में जोड़ें।
  2. परिवर्तनों को लागू करने के लिए Claude Desktop को पुनः प्रारंभ करें।

  3. अब आप Claude Desktop में सर्वर का उपयोग करके Couchbase क्लस्टर पर प्राकृतिक भाषा में क्वेरी चला सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।

लॉग्स

Claude Desktop के लॉग्स निम्नलिखित स्थानों पर पाए जा सकते हैं:

  • MacOS: ~/Library/Logs/Claude
  • Windows: %APPDATA%\Claude\Logs

लॉग्स का उपयोग कनेक्शन समस्याओं या आपके MCP सर्वर कॉन्फ़िगरेशन से संबंधित अन्य समस्याओं का निदान करने के लिए किया जा सकता है। अधिक विवरण के लिए, official documentation देखें।

Cursor

Cursor के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें:

  1. अपनी मशीन पर Cursor इंस्टॉल करें।

  2. Cursor में, Cursor > Cursor Settings > Tools & Integrations > MCP Tools पर जाएं। साथ ही, Cursor से setting up MCP server configuration पर दस्तावेज़ देखें।

  3. वही configuration मैन्युअल रूप से निर्दिष्ट करें, या वन-क्लिक Install in Cursor लिंक का उपयोग करें। आपको सर्वर कॉन्फ़िगरेशन को mcpServers की मूल कुंजी के अंतर्गत जोड़ने की आवश्यकता हो सकती है।

    नोट: इंस्टॉल लिंक ऊपर दिए गए कॉन्फ़िगरेशन उदाहरणों से प्लेसहोल्डर मानों का उपयोग करता है। इंस्टॉलेशन के बाद कनेक्शन स्ट्रिंग और क्रेडेंशियल्स अपडेट करें।

  4. कॉन्फ़िगरेशन सहेजें।

  5. आप MCP सर्वर सूची में couchbase को एक जोड़े गए सर्वर के रूप में देखेंगे। यह देखने के लिए रीफ़्रेश करें कि सर्वर सक्षम है या नहीं।

  6. अब आप Cursor में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।

Cursor के साथ MCP एकीकरण के बारे में अधिक विवरण के लिए, official Cursor MCP documentation देखें।

लॉग्स

Cursor के निचले पैनल में, "Output" पर क्लिक करें और सर्वर लॉग्स देखने के लिए ड्रॉपडाउन मेनू से "Cursor MCP" चुनें। यह कनेक्शन समस्याओं या आपके MCP सर्वर कॉन्फ़िगरेशन से संबंधित अन्य समस्याओं का निदान करने में सहायता कर सकता है।

Windsurf Editor

Windsurf Editor के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।

  1. अपनी मशीन पर Windsurf Editor इंस्टॉल करें।

  2. Windsurf Editor में, Command Palette > Windsurf MCP Configuration Panel या Windsurf - Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers पर नेविगेट करें। कॉन्फ़िगरेशन के बारे में अधिक विवरण के लिए, कृपया official documentation देखें।

  3. Add Server पर क्लिक करें और फिर Add custom server पर क्लिक करें। एडिटर में खुलने वाले कॉन्फ़िगरेशन में, ऊपर से Couchbase MCP Server configuration जोड़ें।

  4. कॉन्फ़िगरेशन सहेजें।

  5. आप Advanced Settings के अंतर्गत MCP Servers सूची में couchbase को एक जोड़े गए सर्वर के रूप में देखेंगे। यह देखने के लिए रीफ़्रेश करें कि सर्वर सक्षम है या नहीं।

  6. अब आप Windsurf Editor में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।

Windsurf Editor के साथ MCP एकीकरण के बारे में अधिक विवरण के लिए, आधिकारिक Windsurf MCP documentation देखें।

VS Code

VS Code के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।

  1. VS Code इंस्टॉल करें

  2. MCP सर्वर को कॉन्फ़िगर करने के कुछ तरीके निम्नलिखित हैं।

    • Workspace सर्वर कॉन्फ़िगरेशन के लिए

      • वर्कस्पेस में .vscode/mcp.json नामक एक नई फ़ाइल बनाएं।
      • configuration जोड़ें और फ़ाइल सहेजें।
    • वैश्विक सर्वर कॉन्फ़िगरेशन के लिए:

      • Command Palette (Ctrl+Shift+P या Cmd+Shift+P) में MCP: Open User Configuration चलाएं
      • configuration जोड़ें और फ़ाइल सहेजें।
    • नोट: VS Code MCP (Model Context Protocol) सर्वरों को परिभाषित करने के लिए mcp.json फ़ाइलों में servers को शीर्ष-स्तरीय JSON प्रॉपर्टी के रूप में उपयोग करता है, जबकि Cursor समकक्ष कॉन्फ़िगरेशन के लिए mcpServers का उपयोग करता है। किसी भी आगे के परिवर्तन या विवरण के लिए VS Code client configurations देखें। एक उदाहरण VS Code कॉन्फ़िगरेशन नीचे दिया गया है।

        {
          "servers": {
            "couchbase": {
              "command": "uvx",
              "args": ["couchbase-mcp-server"],
              "env": {
                "CB_CONNECTION_STRING": "couchbases://connection-string",
                "CB_USERNAME": "username",
                "CB_PASSWORD": "password"
              }
            }
          }
        }
      
  3. फ़ाइल सहेजते ही सर्वर प्रारंभ हो जाता है और Running|Stop|n Tools|More.. के साथ एक छोटी क्रिया सूची दिखाई देती है।

  4. सर्वर को Start/Stop/प्रबंधित करने के लिए विकल्प सूची से विकल्पों पर क्लिक करें।

  5. अब आप VS Code में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।

लॉग्स: Command Palette (Ctrl+Shift+P या Cmd+Shift+P) में,

  • MCP: List Servers कमांड चलाएं और couchbase सर्वर चुनें
  • Output टैब में इसके लॉग्स देखने के लिए "Show Output" चुनें।
JetBrains IDEs

JetBrains IDEs के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।

  1. कोई भी एक JetBrains IDEs इंस्टॉल करें
  2. कोई भी एक JetBrains प्लगइन इंस्टॉल करें - AI Assistant या Junie
  3. Settings > Tools > AI Assistant or Junie > MCP Server पर नेविगेट करें
  4. Couchbase MCP configuration जोड़ने के लिए "+" पर क्लिक करें और Save पर क्लिक करें।
  5. आप सर्वरों की सूची में Couchbase MCP सर्वर जुड़ा हुआ देखेंगे। Apply पर क्लिक करते ही Couchbase MCP सर्वर प्रारंभ हो जाता है और स्थिति पर होवर करने पर सभी उपलब्ध टूल दिखाई देते हैं।
  6. अब आप JetBrains IDEs में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।

लॉग्स: लॉग फ़ाइल को Help > Show Log in Finder (Explorer) > mcp > couchbase पर देखा जा सकता है।

Streamable HTTP Transport Mode

MCP सर्वर को Streamable HTTP ट्रांसपोर्ट मोड में चलाया जा सकता है जो एकाधिक क्लाइंट्स को HTTP के माध्यम से एक ही सर्वर इंस्टेंस से कनेक्ट करने की अनुमति देता है। इस मोड में MCP सर्वर से कनेक्ट करने का प्रयास करने से पहले जांचें कि आपका MCP client streamable http ट्रांसपोर्ट का समर्थन करता है या नहीं।

नोट: इस ट्रांसपोर्ट पर OAuth 2.1 प्राधिकरण समर्थित है। OAuth 2.1 Authorization देखें। OAuth कॉन्फ़िगर किए बिना, HTTP एंडपॉइंट अनप्रमाणित है।

उपयोग

डिफ़ॉल्ट रूप से, MCP सर्वर पोर्ट 8000 पर चलेगा लेकिन इसे --port या CB_MCP_PORT पर्यावरण चर का उपयोग करके कॉन्फ़िगर किया जा सकता है।

uvx couchbase-mcp-server \
  --connection-string='<couchbase_connection_string>' \
  --username='<database_username>' \
  --password='<database_password>' \
  --read-only-mode=true \
  --transport=http

सर्वर http://localhost:8000/mcp पर उपलब्ध होगा। इसका उपयोग streamable http ट्रांसपोर्ट मोड का समर्थन करने वाले MCP क्लाइंट्स जैसे Cursor में किया जा सकता है।

MCP Client Configuration

{
  "mcpServers": {
    "couchbase-http": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

SSE Transport Mode

MCP सर्वर को Server-Sent Events (SSE) ट्रांसपोर्ट मोड में चलाने का विकल्प है।

नोट: SSE मोड को MCP द्वारा deprecated कर दिया गया है। हमारे पास Streamable HTTP के लिए समर्थन है।

SSE: उपयोग

डिफ़ॉल्ट रूप से, MCP सर्वर पोर्ट 8000 पर चलेगा लेकिन इसे --port या CB_MCP_PORT पर्यावरण चर का उपयोग करके कॉन्फ़िगर किया जा सकता है।

uvx couchbase-mcp-server \
  --connection-string='<couchbase_connection_string>' \
  --username='<database_username>' \
  --password='<database_password>' \
  --read-only-mode=true \
  --transport=sse

सर्वर http://localhost:8000/sse पर उपलब्ध होगा। इसका उपयोग SSE ट्रांसपोर्ट मोड का समर्थन करने वाले MCP क्लाइंट्स जैसे Cursor में किया जा सकता है।

SSE: MCP Client Configuration

{
  "mcpServers": {
    "couchbase-sse": {
      "url": "http://localhost:8000/sse"
    }
  }
}

OAuth 2.1 Authorization

--transport=http के साथ चलने पर, MCP सर्वर एक OAuth 2.1 resource server के रूप में कार्य कर सकता है: यह आपके पहचान प्रदाता के JWKS के विरुद्ध आने वाले bearer JWT को मान्य करता है। यह प्रदाता-अज्ञेयवादी है (कोई भी OAuth 2.1 / OIDC प्रदाता जो JWKS प्रकाशित करता है — Auth0, Okta, Keycloak, AWS Cognito, Microsoft Entra, आदि) और टोकन जारी नहीं करता है या उपयोगकर्ताओं का प्रबंधन नहीं करता है। OAuth सेटिंग्स stdio पर अनदेखी की जाती हैं।

OAuth को Additional Configuration में सूचीबद्ध CB_MCP_OAUTH_* चरों के साथ कॉन्फ़िगर किया गया है:

  • OAuth केवल तब सक्रिय होता है जब तीनों CB_MCP_OAUTH_JWT_JWKS_URI, CB_MCP_OAUTH_JWT_ISSUER, और CB_MCP_OAUTH_JWT_AUDIENCE सेट होते हैं; केवल कुछ को सेट करना स्टार्टअप पर विफल हो जाता है।
  • CB_MCP_OAUTH_MCP_BASE_URL सेट करने से RFC 9728 Protected Resource Metadata भी प्रकाशित होता है ताकि PRM-जागरूक क्लाइंट प्राधिकरण सर्वर की खोज कर सकें।
  • एक्सेस टोकन के scope/scp क्लेम से पढ़े गए दो स्कोपों द्वारा नियंत्रित है: couchbase-mcp:read (रीड टूल, SQL++ सहित) और couchbase-mcp:write (राइट टूल: KV म्यूटेशन, स्कोप/कलेक्शन प्रबंधन, और इंडेक्स प्रबंधन)। पूर्ण एक्सेस के लिए दोनों की आवश्यकता होती है। यदि आपका IdP उन विहित लेबलों को जारी नहीं कर सकता है, तो उन्हें CB_MCP_OAUTH_SCOPE_READ_LABEL / CB_MCP_OAUTH_SCOPE_WRITE_LABEL के साथ ओवरराइड करें।
uvx couchbase-mcp-server \
  --connection-string='<couchbase_connection_string>' \
  --username='<database_username>' \
  --password='<database_password>' \
  --transport=http \
  --oauth-jwks-uri='https://auth.example.com/.well-known/jwks.json' \
  --oauth-issuer='https://auth.example.com/' \
  --oauth-audience='couchbase-mcp-server' \
  --oauth-mcp-base-url='<public_base_url_of_this_server>'

पूर्ण विवरण के लिए, documentation देखें।

Docker Image

MCP सर्वर को Docker कंटेनर के रूप में भी बनाया और चलाया जा सकता है। पूर्व-निर्मित इमेज DockerHub पर पाई जा सकती हैं या docker pull docker.io/couchbase/mcp-server:latest के माध्यम से खींची जा सकती हैं।

वैकल्पिक रूप से, हम Docker MCP Catalog का हिस्सा हैं।

इमेज बनाना

docker build -t mcp/couchbase-src .
आर्ग्यूमेंट के साथ बिल्डिंग यदि आप कमिट हैश और बिल्ड समय के लिए बिल्ड आर्ग्यूमेंट के साथ बिल्ड करना चाहते हैं, तो आप इसका उपयोग करके बिल्ड कर सकते हैं:
docker build --build-arg GIT_COMMIT_HASH=$(git rev-parse HEAD) \
  --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
  -t mcp/couchbase-src .

वैकल्पिक रूप से, प्रदान की गई बिल्ड स्क्रिप्ट का उपयोग करें:

# Build with default image name (mcp/couchbase-src)
./build.sh

# Build with custom image name
./build.sh my-custom/image-name

यह स्क्रिप्ट स्वचालित रूप से:

  • एक वैकल्पिक इमेज नाम पैरामीटर स्वीकार करती है (डिफ़ॉल्ट mcp/couchbase-src है)
  • git कमिट हैश और बिल्ड टाइमस्टैम्प उत्पन्न करती है
  • कई उपयोगी टैग बनाती है (latest, <short-commit>)
  • बिल्ड जानकारी और परिणाम दिखाती है
  • CI/CD बिल्ड के समान आर्ग्यूमेंट का उपयोग करती है

इमेज लेबल सत्यापित करें:

# View git commit hash in image
docker inspect --format='{{index .Config.Labels "org.opencontainers.image.revision"}}' mcp/couchbase-src:latest

# View all metadata labels
docker inspect --format='{{json .Config.Labels}}' mcp/couchbase-src:latest

चलाना

MCP सर्वर को Couchbase सेटिंग्स को कॉन्फ़िगर करने के लिए उपयोग किए जाने वाले पर्यावरण चरों के साथ चलाया जा सकता है। पर्यावरण चर Additional Configuration section में वर्णित के समान हैं।

स्वतंत्र Docker कंटेनर

docker run --rm -i \
  -e CB_CONNECTION_STRING='<couchbase_connection_string>' \
  -e CB_USERNAME='<database_user>' \
  -e CB_PASSWORD='<database_password>' \
  -e CB_MCP_TRANSPORT='<http|sse|stdio>' \
  -e CB_MCP_READ_ONLY_MODE='<true|false>' \
  -e CB_MCP_CONFIRMATION_REQUIRED_TOOLS='delete_document_by_id' \
  -e CB_MCP_PORT=9001 \
  -e CB_MCP_HOST=0.0.0.0 \
  -p 9001:9001 \
  mcp/couchbase-src

CB_MCP_PORT और CB_MCP_HOST पर्यावरण चर केवल http और sse जैसे HTTP ट्रांसपोर्ट मोड के मामले में लागू होते हैं।

Docker: MCP Client Configuration

Docker इमेज का उपयोग निम्नलिखित कॉन्फ़िगरेशन के साथ stdio ट्रांसपोर्ट मोड में किया जा सकता है।

{
  "mcpServers": {
    "couchbase-mcp-docker": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "CB_CONNECTION_STRING=<couchbase_connection_string>",
        "-e",
        "CB_USERNAME=<database_user>",
        "-e",
        "CB_PASSWORD=<database_password>",
        "mcp/couchbase-src"
      ]
    }
  }
}

नोट्स

  • couchbase_connection_string मान इस बात पर निर्भर करता है कि Couchbase सर्वर उसी होस्ट मशीन पर, किसी अन्य Docker कंटेनर में, या दूरस्थ होस्ट पर चल रहा है या नहीं। यदि आपका Couchbase सर्वर आपकी होस्ट मशीन पर चल रहा है, तो आपकी कनेक्शन स्ट्रिंग संभवतः couchbase://host.docker.internal के रूप में होगी। विवरण के लिए docker documentation देखें।
  • आप कंटेनर की नेटवर्किंग को --network=<your_network> विकल्प का उपयोग करके निर्दिष्ट कर सकते हैं। आपके द्वारा चुना गया नेटवर्क आपके वातावरण पर निर्भर करता है; डिफ़ॉल्ट bridge है। विवरण के लिए, network drivers in docker देखें।

LLMs से जुड़े जोखिम

  • बड़े भाषा मॉडल और समान तकनीक का उपयोग जोखिमों से जुड़ा है, जिसमें गलत या हानिकारक आउटपुट की संभावना शामिल है।
  • Couchbase ऐसे आउटपुट की गुणवत्ता या सटीकता की समीक्षा या मूल्यांकन नहीं करता है, और ऐसे आउटपुट Couchbase के विचारों को प्रतिबिंबित नहीं कर सकते हैं।
  • बड़े भाषा मॉडल और संबंधित तकनीक का उपयोग करने का निर्णय लेना और किसी भी लाइसेंस शर्तों, उपयोग की शर्तों, और उनके उपयोग को नियंत्रित करने वाली आपकी संगठन की नीतियों का अनुपालन करना पूरी तरह से आपकी जिम्मेदारी है।

उपयोग डेटा संग्रह

यह उत्पाद स्वचालित रूप से उपयोग और प्रदर्शन डेटा (जैसे उत्पाद नाम और संस्करण) और ब्राउज़र जानकारी (जैसे IP पता) (सामूहिक रूप से, "Usage Data") एकत्र करता है। Couchbase Usage Data का उपयोग, अन्य डेटा के साथ जो आप Couchbase को प्रदान कर सकते हैं (जैसे आपका उपयोगकर्ता नाम या ईमेल पता), हमारे उत्पादों को विकसित और बेहतर बनाने के साथ-साथ हमारे बिक्री और विपणन कार्यक्रमों को सूचित करने के लिए करता है। हम Couchbase उत्पादों में संग्रहीत किसी भी डेटा तक पहुंच या संग्रह नहीं करते हैं। हम समग्र उपयोग पैटर्न को समझने और हमारे उत्पादों को आपके लिए अधिक उपयोगी बनाने के लिए Usage Data का उपयोग करते हैं। Couchbase जानकारी कैसे एकत्र, सुरक्षित और संसाधित करता है, इसके बारे में अधिक जानकारी के लिए, कृपया https://www.couchbase.com/privacy-policy. पर देखने योग्य Couchbase Privacy Policy देखें।

समस्या निवारण युक्तियाँ

  • सुनिश्चित करें कि आपके MCP सर्वर रिपॉजिटरी का पथ कॉन्फ़िगरेशन में सही है यदि आप स्रोत से चला रहे हैं।
  • सत्यापित करें कि आपका Couchbase कनेक्शन स्ट्रिंग, डेटाबेस उपयोगकर्ता नाम, पासवर्ड या प्रमाणपत्रों का पथ सही है।
  • यदि Couchbase Capella का उपयोग कर रहे हैं, तो सुनिश्चित करें कि क्लस्टर उस मशीन से सुलभ है जहाँ MCP सर्वर चल रहा है।
  • जाँच करें कि डेटाबेस उपयोगकर्ता के पास कम से कम एक बकेट तक पहुँचने के लिए उचित अनुमतियाँ हैं।
  • पुष्टि करें कि uv पैकेज मैनेजर ठीक से स्थापित और सुलभ है। आपको कॉन्फ़िगरेशन में command फ़ील्ड में uv/uvx का पूर्ण पथ प्रदान करने की आवश्यकता हो सकती है।
  • MCP सर्वर के साथ समस्याओं का संकेत देने वाली किसी भी त्रुटि या चेतावनी के लिए लॉग जाँचें। लॉग का स्थान आपके MCP क्लाइंट पर निर्भर करता है।
  • यदि आप अपने स्थानीय MCP सर्वर रिपॉजिटरी को अपडेट करने के बाद स्रोत से अपना MCP सर्वर चलाने में समस्याएँ देख रहे हैं, तो निर्भरताएँ को अपडेट करने के लिए uv sync चलाने का प्रयास करें।

एकीकरण परीक्षण

हम उच्च-स्तरीय MCP एकीकरण परीक्षण प्रदान करते हैं ताकि यह सत्यापित किया जा सके कि सर्वर अपेक्षित टूल्स को उजागर करता है और उन्हें डेमो Couchbase क्लस्टर के विरुद्ध आमंत्रित किया जा सकता है।

  1. डेमो क्लस्टर क्रेडेंशियल निर्यात करें:
    • CB_CONNECTION_STRING
    • CB_USERNAME
    • CB_PASSWORD
    • वैकल्पिक: CB_MCP_TEST_BUCKET (परीक्षणों के दौरान जाँचने के लिए एक बकेट)
  2. परीक्षण चलाएँ:
uv run pytest tests/ -v

👩‍💻 योगदान

हम समुदाय से योगदान का स्वागत करते हैं! चाहे आप बग ठीक करना चाहते हों, सुविधाएँ जोड़ना चाहते हों, या दस्तावेज़ीकरण में सुधार करना चाहते हों, आपकी सहायता की सराहना की जाती है।

यदि आपको सहायता चाहिए, कोई बग मिला है, या सुधार में योगदान देना चाहते हैं, तो ऐसा करने का सबसे अच्छा स्थान यहीं है — GitHub समस्या खोलना

डेवलपर्स के लिए

यदि आप कोड में योगदान देने या विकास वातावरण स्थापित करने में रुचि रखते हैं:

📖 व्यापक डेवलपर सेटअप निर्देशों के लिए CONTRIBUTING.md देखें, जिनमें शामिल हैं:

  • uv के साथ विकास वातावरण सेटअप
  • Ruff के साथ कोड लिंटिंग और फ़ॉर्मेटिंग
  • प्री-कमिट हुक स्थापना
  • परियोजना संरचना अवलोकन
  • विकास कार्यप्रवाह और प्रथाएँ

योगदानकर्ताओं के लिए त्वरित प्रारंभ

# Clone and setup
git clone https://github.com/couchbase/mcp-server-couchbase.git
cd mcp-server-couchbase

# Install with development dependencies
uv sync --extra dev

# Install pre-commit hooks
uv run pre-commit install

# Run linting
./scripts/lint.sh

📢 समर्थन नीति

हम इस परियोजना में आपकी रुचि की सच्ची सराहना करते हैं! यह परियोजना Couchbase समुदाय-अनुरक्षित है, जिसका अर्थ है कि यह हमारी समर्थन टीम द्वारा आधिकारिक रूप से समर्थित नहीं है। हालाँकि, हमारे इंजीनियर इस रिपॉजिटरी की सक्रिय रूप से निगरानी और रखरखाव कर रहे हैं और सर्वोत्तम प्रयास के आधार पर समस्याओं को हल करने का प्रयास करेंगे।

हमारा समर्थन पोर्टल इस परियोजना से संबंधित अनुरोधों में सहायता करने में असमर्थ है, इसलिए हम विनम्रतापूर्वक अनुरोध करते हैं कि सभी पूछताछ GitHub के भीतर ही रहें।

आपका सहयोग हमें सभी को एक साथ आगे बढ़ने में मदद करता है — धन्यवाद!