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 के उपयोग और एंटरप्राइज़ समर्थन का भी अधिकार देता है।
पूर्ण दस्तावेज़ीकरण के लिए, mcp-server.couchbase.com पर जाएँ।
विशेषताएँ/टूल
क्लस्टर सेटअप और हेल्थ टूल
| टूल नाम | विवरण |
|---|---|
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_id | ID द्वारा नया दस्तावेज़ इन्सर्ट करें (यदि दस्तावेज़ मौजूद है तो विफल होता है)। डिफ़ॉल्ट रूप से अक्षम जब CB_MCP_READ_ONLY_MODE=true। |
replace_document_by_id | ID द्वारा मौजूदा दस्तावेज़ को रिप्लेस करें (यदि दस्तावेज़ मौजूद नहीं है तो विफल होता है)। डिफ़ॉल्ट रूप से अक्षम जब 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_query | SQL++ क्वेरी के लिए 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-string | Couchbase क्लस्टर के लिए कनेक्शन स्ट्रिंग | आवश्यक |
CB_USERNAME | --username | बेसिक प्रमाणीकरण के लिए आवश्यक बकेट तक पहुंच रखने वाला उपयोगकर्ता नाम | आवश्यक (या mTLS के लिए क्लाइंट प्रमाणपत्र और कुंजी आवश्यक) |
CB_PASSWORD | --password | बेसिक प्रमाणीकरण के लिए पासवर्ड | आवश्यक (या mTLS के लिए क्लाइंट प्रमाणपत्र और कुंजी आवश्यक) |
CB_CLIENT_CERT_PATH | --client-cert-path | mTLS प्रमाणीकरण के लिए क्लाइंट प्रमाणपत्र फ़ाइल का पथ | mTLS उपयोग करने पर आवश्यक (या उपयोगकर्ता नाम और पासवर्ड आवश्यक) |
CB_CLIENT_KEY_PATH | --client-key-path | mTLS प्रमाणीकरण के लिए क्लाइंट कुंजी फ़ाइल का पथ | mTLS उपयोग करने पर आवश्यक (या उपयोगकर्ता नाम और पासवर्ड आवश्यक) |
CB_CA_CERT_PATH | --ca-cert-path | TLS के लिए सर्वर रूट प्रमाणपत्र का पथ, यदि सर्वर स्व-हस्ताक्षरित/अविश्वसनीय प्रमाणपत्र के साथ कॉन्फ़िगर किया गया है। Capella से कनेक्ट करने पर यह आवश्यक नहीं होगा | |
CB_MCP_READ_ONLY_MODE | --read-only-mode | सभी डेटा संशोधनों को रोकें (KV, Query, scope/collection प्रबंधन, और इंडेक्स प्रबंधन)। सक्षम होने पर, KV, collection प्रबंधन, और इंडेक्स लेखन टूल लोड नहीं होते। | true |
CB_MCP_TRANSPORT | --transport | परिवहन मोड: stdio, http, sse | stdio |
CB_MCP_HOST | --host | HTTP/SSE परिवहन मोड के लिए होस्ट | 127.0.0.1 |
CB_MCP_PORT | --port | HTTP/SSE परिवहन मोड के लिए पोर्ट | 8000 |
CB_MCP_DISABLED_TOOLS | --disabled-tools | अक्षम करने के लिए टूल (देखें टूल अक्षम करना) | कोई नहीं |
CB_MCP_CONFIRMATION_REQUIRED_TOOLS | --confirmation-required-tools | वे टूल जिन्हें निष्पादन से पहले MCP elicitation के माध्यम से स्पष्ट उपयोगकर्ता पुष्टि की आवश्यकता होती है (देखें Elicitation/पुष्टि आवश्यक टूल) | कोई नहीं |
CB_MCP_LOG_LEVEL | --log-level | MCP सर्वर के लिए लॉगिंग स्तर: 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-mb | ERROR लॉग फ़ाइल के लिए घूर्णन आकार 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-mb | WARNING लॉग फ़ाइल के लिए घूर्णन आकार 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-mb | INFO लॉग फ़ाइल के लिए घूर्णन आकार 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-mb | DEBUG लॉग फ़ाइल के लिए घूर्णन आकार 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-count | ERROR लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; ERROR के लिए वैश्विक गणना को ओवरराइड करता है | CB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है |
CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT | --log-warning-retention-backup-count | WARNING लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; WARNING के लिए वैश्विक गणना को ओवरराइड करता है | CB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है |
CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT | --log-info-retention-backup-count | INFO लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; INFO के लिए वैश्विक गणना को ओवरराइड करता है | CB_MCP_LOG_RETENTION_BACKUP_COUNT से विरासत में मिलता है |
CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT | --log-debug-retention-backup-count | DEBUG लॉग फ़ाइल के लिए रखे गए घूर्णित बैकअप; 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-algorithm | JWT हस्ताक्षर एल्गोरिदम: 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-label | OAuth scope लेबल को 'read' पहुंच के रूप में माना जाने वाला ओवरराइड करें (PRM में विज्ञापित और टोकन के scope/scp दावे के विरुद्ध मिलान किया जाता है)। उपयोग करें जब आपका IdP विहित रूप उत्सर्जित नहीं कर सकता | couchbase-mcp:read |
CB_MCP_OAUTH_SCOPE_WRITE_LABEL | --oauth-scope-write-label | OAuth 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पर सेट करें — यह अभी भी घूर्णन आकार द्वारा सीमित है (बैकअप के बजाय रोलओवर पर रीसेट किया जाता है)। - सर्वर-कॉन्फ़िग स्नैपशॉट — जब
filesink सक्रिय होता है, तो एक-शॉट रिकॉर्ड (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 क्लाइंट के साथ उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें
-
MCP सर्वर को अब कॉन्फ़िगरेशन फ़ाइल संपादित करके Claude Desktop में जोड़ा जा सकता है। अधिक विस्तृत निर्देश MCP त्वरित प्रारंभ मार्गदर्शिका पर पाए जा सकते हैं।
- Mac पर, कॉन्फ़िगरेशन फ़ाइल
~/Library/Application Support/Claude/claude_desktop_config.jsonपर स्थित है - Windows पर, कॉन्फ़िगरेशन फ़ाइल
%APPDATA%\Claude\claude_desktop_config.jsonपर स्थित है कॉन्फ़िगरेशन फ़ाइल खोलें और configuration कोmcpServersअनुभाग में जोड़ें।
- Mac पर, कॉन्फ़िगरेशन फ़ाइल
-
परिवर्तनों को लागू करने के लिए Claude Desktop को पुनः प्रारंभ करें।
-
अब आप Claude Desktop में सर्वर का उपयोग करके Couchbase क्लस्टर पर प्राकृतिक भाषा में क्वेरी चला सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।
लॉग्स
Claude Desktop के लॉग्स निम्नलिखित स्थानों पर पाए जा सकते हैं:
- MacOS: ~/Library/Logs/Claude
- Windows: %APPDATA%\Claude\Logs
लॉग्स का उपयोग कनेक्शन समस्याओं या आपके MCP सर्वर कॉन्फ़िगरेशन से संबंधित अन्य समस्याओं का निदान करने के लिए किया जा सकता है। अधिक विवरण के लिए, official documentation देखें।
Cursor
Cursor के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें:
-
अपनी मशीन पर Cursor इंस्टॉल करें।
-
Cursor में, Cursor > Cursor Settings > Tools & Integrations > MCP Tools पर जाएं। साथ ही, Cursor से setting up MCP server configuration पर दस्तावेज़ देखें।
-
वही configuration मैन्युअल रूप से निर्दिष्ट करें, या वन-क्लिक Install in Cursor लिंक का उपयोग करें। आपको सर्वर कॉन्फ़िगरेशन को
mcpServersकी मूल कुंजी के अंतर्गत जोड़ने की आवश्यकता हो सकती है।नोट: इंस्टॉल लिंक ऊपर दिए गए कॉन्फ़िगरेशन उदाहरणों से प्लेसहोल्डर मानों का उपयोग करता है। इंस्टॉलेशन के बाद कनेक्शन स्ट्रिंग और क्रेडेंशियल्स अपडेट करें।
-
कॉन्फ़िगरेशन सहेजें।
-
आप MCP सर्वर सूची में couchbase को एक जोड़े गए सर्वर के रूप में देखेंगे। यह देखने के लिए रीफ़्रेश करें कि सर्वर सक्षम है या नहीं।
-
अब आप Cursor में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।
Cursor के साथ MCP एकीकरण के बारे में अधिक विवरण के लिए, official Cursor MCP documentation देखें।
लॉग्स
Cursor के निचले पैनल में, "Output" पर क्लिक करें और सर्वर लॉग्स देखने के लिए ड्रॉपडाउन मेनू से "Cursor MCP" चुनें। यह कनेक्शन समस्याओं या आपके MCP सर्वर कॉन्फ़िगरेशन से संबंधित अन्य समस्याओं का निदान करने में सहायता कर सकता है।
Windsurf Editor
Windsurf Editor के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।
-
अपनी मशीन पर Windsurf Editor इंस्टॉल करें।
-
Windsurf Editor में, Command Palette > Windsurf MCP Configuration Panel या Windsurf - Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers पर नेविगेट करें। कॉन्फ़िगरेशन के बारे में अधिक विवरण के लिए, कृपया official documentation देखें।
-
Add Server पर क्लिक करें और फिर Add custom server पर क्लिक करें। एडिटर में खुलने वाले कॉन्फ़िगरेशन में, ऊपर से Couchbase MCP Server configuration जोड़ें।
-
कॉन्फ़िगरेशन सहेजें।
-
आप Advanced Settings के अंतर्गत MCP Servers सूची में couchbase को एक जोड़े गए सर्वर के रूप में देखेंगे। यह देखने के लिए रीफ़्रेश करें कि सर्वर सक्षम है या नहीं।
-
अब आप Windsurf Editor में Couchbase MCP सर्वर का उपयोग करके प्राकृतिक भाषा में अपने Couchbase क्लस्टर पर क्वेरी कर सकते हैं और दस्तावेज़ों पर CRUD ऑपरेशन कर सकते हैं।
Windsurf Editor के साथ MCP एकीकरण के बारे में अधिक विवरण के लिए, आधिकारिक Windsurf MCP documentation देखें।
VS Code
VS Code के साथ Couchbase MCP सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।
-
VS Code इंस्टॉल करें
-
MCP सर्वर को कॉन्फ़िगर करने के कुछ तरीके निम्नलिखित हैं।
-
Workspace सर्वर कॉन्फ़िगरेशन के लिए
- वर्कस्पेस में .vscode/mcp.json नामक एक नई फ़ाइल बनाएं।
- configuration जोड़ें और फ़ाइल सहेजें।
-
वैश्विक सर्वर कॉन्फ़िगरेशन के लिए:
- Command Palette (
Ctrl+Shift+PयाCmd+Shift+P) में MCP: Open User Configuration चलाएं - configuration जोड़ें और फ़ाइल सहेजें।
- Command Palette (
-
नोट: 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" } } } }
-
-
फ़ाइल सहेजते ही सर्वर प्रारंभ हो जाता है और
Running|Stop|n Tools|More..के साथ एक छोटी क्रिया सूची दिखाई देती है। -
सर्वर को
Start/Stop/प्रबंधित करने के लिए विकल्प सूची से विकल्पों पर क्लिक करें। -
अब आप 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 सर्वर का उपयोग करने के लिए नीचे दिए गए चरणों का पालन करें।
- कोई भी एक JetBrains IDEs इंस्टॉल करें
- कोई भी एक JetBrains प्लगइन इंस्टॉल करें - AI Assistant या Junie
- Settings > Tools > AI Assistant or Junie > MCP Server पर नेविगेट करें
- Couchbase MCP configuration जोड़ने के लिए "+" पर क्लिक करें और Save पर क्लिक करें।
- आप सर्वरों की सूची में Couchbase MCP सर्वर जुड़ा हुआ देखेंगे। Apply पर क्लिक करते ही Couchbase MCP सर्वर प्रारंभ हो जाता है और स्थिति पर होवर करने पर सभी उपलब्ध टूल दिखाई देते हैं।
- अब आप 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 क्लस्टर के विरुद्ध आमंत्रित किया जा सकता है।
- डेमो क्लस्टर क्रेडेंशियल निर्यात करें:
CB_CONNECTION_STRINGCB_USERNAMECB_PASSWORD- वैकल्पिक:
CB_MCP_TEST_BUCKET(परीक्षणों के दौरान जाँचने के लिए एक बकेट)
- परीक्षण चलाएँ:
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 के भीतर ही रहें।
आपका सहयोग हमें सभी को एक साथ आगे बढ़ने में मदद करता है — धन्यवाद!