Couchbase
resmiCouchbase kümelerinde depolanan verilerle doğal dil kullanarak etkileşim kurun.
Couchbase MCP ile neler yapabilirsiniz?
- Küme sağlığını ve bağlantıyı kontrol edin — Asistanın,
test_cluster_connectionveget_cluster_health_and_serviceskullanarak kümeye erişilebilirliği doğrulamasını ve çalışan hizmetleri incelemesini isteyin. - Veri modelini keşfedin —
get_buckets_in_cluster,get_scopes_in_bucketveget_collections_in_scopeile bucket'ları, kapsamları ve koleksiyonları keşfedin, ardındanget_schema_for_collectionile bir koleksiyonun yapısını inceleyin. - Belgeleri alın ve yönetin —
get_document_by_idile belgeleri kimliğe göre alın ve yazma modu etkinleştirildiğinde,upsert_document_by_id,insert_document_by_id,replace_document_by_idveyadelete_document_by_idkullanarak belgeler oluşturun, güncelleyin veya silin. - SQL++ sorgularını çalıştırın ve optimize edin —
run_sql_plus_plus_queryile salt okunur sorgular yürütün,explain_sql_plus_plus_queryile yürütme planlarını inceleyin veget_index_advisor_recommendationsile dizin önerileri alın. - Sorgu performansını analiz edin —
get_longest_running_queries,get_most_frequent_queriesveget_queries_using_primary_indexgibi araçları kullanarak yavaş veya kaynak yoğun sorguları belirleyin.
Dokümantasyon
Couchbase MCP Sunucusu
Couchbase MCP Sunucusu, ister Capella ister kendi kendine yönetilen bir ortamda barındırılsın, yapay zeka aracılarının Couchbase kümelerine bağlanmasını ve bu kümelerdeki verilerle etkileşime girmesini sağlayan, kendi kendine barındırılan bir MCP Sunucusudur. Küme Sağlığı, Veri Şeması, Anahtar-Değer, Sorgu ve Performans gibi kategorilerde araçlar sunar; salt okunur mod ve ince ayarlı araç devre dışı bırakma özellikleriyle güvenlik kontrolleri sağlar. Hem STDIO hem de Akışkan HTTP aktarımlarını destekler.
Couchbase MCP sunucusu, bir Python Paket Dizini (PyPI) paketi olarak ve Docker aracılığıyla dağıtılır. Couchbase MCP Sunucusu için kurumsal destek, Couchbase AI Data Plane lisanslanarak edinilebilir; bu lisans aynı zamanda Couchbase Agent Memory ve Couchbase Agent Catalog kullanım ve kurumsal destek hakkı da verir.
Tam belgelendirme için mcp-server.couchbase.com adresini ziyaret edin.
Özellikler/Araçlar
Küme kurulumu ve sağlık araçları
| Araç Adı | Açıklama |
|---|---|
get_server_configuration_status | Kümeye bağlanmadan sunucu durumunu ve yapılandırmasını alır — salt okunur modu, devre dışı/onay gerektiren araçları, OAuth ayarlarını ve çözümlenmiş günlük kaydı yapılandırmasını raporlar |
test_cluster_connection | Kümeye bağlanarak küme kimlik bilgilerini kontrol eder |
get_cluster_health_and_services | Küme sağlık durumunu ve çalışan tüm hizmetlerin listesini alır |
Veri modeli ve şema keşif araçları
| Araç Adı | Açıklama |
|---|---|
get_buckets_in_cluster | Kümedeki tüm bucket'ların listesini alır |
get_scopes_in_bucket | Belirtilen bucket'taki tüm scope'ların listesini alır |
get_collections_in_scope | Belirtilen bir scope ve bucket'taki tüm koleksiyonların listesini alır. Bu aracın kullanılabilmesi için kümede Sorgu hizmetinin bulunması gerektiğini unutmayın. |
get_scopes_and_collections_in_bucket | Belirtilen bucket'taki tüm scope ve koleksiyonların listesini alır |
get_schema_for_collection | Bir koleksiyonun yapısını alır |
Doküman KV işlem araçları
| Araç Adı | Açıklama |
|---|---|
get_document_by_id | Belirtilen bir scope ve koleksiyondan, ID'ye göre bir doküman alır |
upsert_document_by_id | Belirtilen bir scope ve koleksiyona, ID'ye göre bir dokümanı upsert (ekle/güncelle) eder. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
insert_document_by_id | ID'ye göre yeni bir doküman ekler (doküman mevcutsa başarısız olur). CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
replace_document_by_id | ID'ye göre mevcut bir dokümanı değiştirir (doküman mevcut değilse başarısız olur). CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
delete_document_by_id | Belirtilen bir scope ve koleksiyondan, ID'ye göre bir dokümanı siler. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
Sorgu ve indeksleme araçları
| Araç Adı | Açıklama |
|---|---|
list_indexes | Kümedeki tüm indeksleri, tanımlarıyla birlikte listeler; bucket, scope, koleksiyon ve indeks adına göre isteğe bağlı filtreleme yapılabilir. İşlenmemiş indeks bilgisini döndürmek için return_raw_index_stats=true olarak ayarlayın. |
get_index_advisor_recommendations | Sorgu performansını optimize etmek için, verilen bir SQL++ sorgusu için Couchbase Index Advisor'dan indeks önerileri alır |
run_sql_plus_plus_query | Belirtilen bir scope üzerinde bir SQL++ sorgusu çalıştırır. Sorgular otomatik olarak belirtilen bucket ve scope'a kapsamlandırılır, bu nedenle koleksiyon adlarını doğrudan kullanın (örn., SELECT * FROM bucket.scope.users yerine SELECT * FROM users).CB_MCP_READ_ONLY_MODE varsayılan olarak true'dir; bu, tüm yazma işlemlerinin (KV ve Sorgu) devre dışı olduğu anlamına gelir. Etkinleştirildiğinde, KV yazma araçları yüklenmez ve verileri değiştiren SQL++ sorguları engellenir. |
explain_sql_plus_plus_query | Bir SQL++ sorgusu için bir EXPLAIN planı oluşturur ve değerlendirir. Sorgu meta verilerini, çıkarılan planı ve plan değerlendirme bulgularını döndürür. |
Sorgu performans analizi araçları
| Araç Adı | Açıklama |
|---|---|
get_longest_running_queries | Ortalama hizmet süresine göre en uzun süre çalışan sorguları alır |
get_most_frequent_queries | En sık yürütülen sorguları alır |
get_queries_with_largest_response_sizes | En büyük yanıt boyutlarına sahip sorguları alır |
get_queries_with_large_result_count | En büyük sonuç sayılarına sahip sorguları alır |
get_queries_using_primary_index | Birincil indeks kullanan sorguları alır (potansiyel performans sorunu) |
get_queries_not_using_covering_index | Kapsayıcı indeks kullanmayan sorguları alır |
get_queries_not_selective | Seçici olmayan sorguları alır (indeks taramaları, nihai sonuçtan çok daha fazla doküman döndürür) |
Ön Koşullar
- Python 3.10 veya üstü.
- Çalışan bir Couchbase kümesi. Başlamanın en kolay yolu, Couchbase sunucusunun tam yönetilen sürümü olan Capella ücretsiz katmanını kullanmaktır. Örnek veri kümelerinden birini içe aktarmak veya kendi verilerinizi içe aktarmak için talimatları takip edebilirsiniz.
- Sunucuyu çalıştırmak için uv kurulu olmalıdır.
- Sunucuyu Claude'a bağlamak için Claude Desktop gibi bir MCP istemcisi kurulu olmalıdır. Talimatlar Claude Desktop ve Cursor için verilmiştir. Diğer MCP istemcileri de kullanılabilir.
Yapılandırma
MCP sunucusu, önceden oluşturulmuş PyPI paketinden veya uv kullanarak kaynak koddan çalıştırılabilir.
PyPI'den Çalıştırma
MCP sunucusu için önceden oluşturulmuş bir PyPI paketi yayınlıyoruz.
MCP İstemcileri için Önceden Oluşturulmuş Paket Kullanarak Sunucu Yapılandırması
Temel Kimlik Doğrulama
{
"mcpServers": {
"couchbase": {
"command": "uvx",
"args": ["couchbase-mcp-server"],
"env": {
"CB_CONNECTION_STRING": "couchbases://connection-string",
"CB_USERNAME": "username",
"CB_PASSWORD": "password"
}
}
}
}
veya
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"
}
}
}
}
Not: İstemcide kullanımda olan başka MCP sunucularınız varsa, bunu mevcut
mcpServersnesnesine ekleyebilirsiniz.
Kaynak Koddan Çalıştırma
MCP sunucusu, bu depo kullanılarak kaynak koddan çalıştırılabilir.
Depoyu yerel makinenize klonlayın
git clone https://github.com/couchbase/mcp-server-couchbase.git
MCP İstemcileri için Kaynak Kod Kullanarak Sunucu Yapılandırması
Bu, Claude Desktop, Cursor, Windsurf Editor gibi MCP istemcileri için ortak yapılandırmadır.
{
"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"
}
}
}
}
Not:
path/to/cloned/repo/mcp-server-couchbase/, yerel makinenizdeki klonlanmış deponun yolu olmalıdır. Sondaki eğik çizgiyi unutmayın!
Not: İstemcide kullanımda olan başka MCP sunucularınız varsa, bunu mevcut
mcpServersnesnesine ekleyebilirsiniz.
MCP Sunucusu için Ek Yapılandırma
Sunucu, ortam değişkenleri veya komut satırı argümanları kullanılarak yapılandırılabilir:
| Ortam Değişkeni | CLI Argümanı | Açıklama | Varsayılan |
|---|---|---|---|
CB_CONNECTION_STRING | --connection-string | Couchbase kümesine bağlantı dizesi | Zorunlu |
CB_USERNAME | --username | Temel kimlik doğrulama için gerekli bucket'lara erişimi olan kullanıcı adı | Zorunlu (veya mTLS için İstemci Sertifikası ve Anahtarı gerekir) |
CB_PASSWORD | --password | Temel kimlik doğrulama için parola | Zorunlu (veya mTLS için İstemci Sertifikası ve Anahtarı gerekir) |
CB_CLIENT_CERT_PATH | --client-cert-path | mTLS kimlik doğrulaması için istemci sertifika dosyasının yolu | mTLS kullanılıyorsa zorunlu (veya Kullanıcı Adı ve Parola gerekir) |
CB_CLIENT_KEY_PATH | --client-key-path | mTLS kimlik doğrulaması için istemci anahtar dosyasının yolu | mTLS kullanılıyorsa zorunlu (veya Kullanıcı Adı ve Parola gerekir) |
CB_CA_CERT_PATH | --ca-cert-path | Sunucu kendinden imzalı/güvenilmeyen bir sertifika ile yapılandırılmışsa, TLS için sunucu kök sertifikasının yolu. Capella'ya bağlanıyorsanız bu gerekli olmayacaktır | |
CB_MCP_READ_ONLY_MODE | --read-only-mode | Tüm veri değişikliklerini engeller (KV ve Sorgu). Etkinleştirildiğinde, KV yazma araçları yüklenmez. | true |
CB_MCP_TRANSPORT | --transport | Aktarım modu: stdio, http, sse | stdio |
CB_MCP_HOST | --host | HTTP/SSE aktarım modları için ana bilgisayar | 127.0.0.1 |
CB_MCP_PORT | --port | HTTP/SSE aktarım modları için bağlantı noktası | 8000 |
CB_MCP_DISABLED_TOOLS | --disabled-tools | Devre dışı bırakılacak araçlar (bkz. Araçları Devre Dışı Bırakma) | Yok |
CB_MCP_CONFIRMATION_REQUIRED_TOOLS | --confirmation-required-tools | MCP elicitation yoluyla yürütülmeden önce açık kullanıcı onayı gerektiren araçlar (bkz. Elicitation/Onay Gerektiren Araçlar) | Yok |
CB_MCP_LOG_LEVEL | --log-level | MCP sunucusu için günlük kaydı seviyesi: off, debug, info, warning, error (bkz. Günlük Kaydı) | info |
CB_MCP_LOG_SINKS | --log-sinks | Virgülle ayrılmış günlük hedefleri: stderr, file veya her ikisi (bkz. Günlük Kaydı) | stderr |
CB_MCP_LOG_FILE | --log-file | Seviye başına günlük dosyaları için temel yol (yalnızca file hedefi etkinleştirildiğinde kullanılır) | mcp_server.log |
CB_MCP_LOG_MAX_BYTES | --log-max-bytes | Günlük dosyası dönüşmeden önce dosya başına bayt cinsinden maksimum boyut | 1048576 (1 MB) |
CB_MCP_OAUTH_JWT_JWKS_URI | --oauth-jwks-uri | Taşıyıcı JWT'leri doğrulamak için kullanılan kimlik sağlayıcının JWKS uç noktası. Veren ve hedef kitle ile ayarlandığında OAuth'u etkinleştirir (bkz. OAuth 2.1 Yetkilendirme) | Yok |
CB_MCP_OAUTH_JWT_ISSUER | --oauth-issuer | Beklenen JWT iss talebi. OAuth'u etkinleştirmek için gereklidir | Yok |
CB_MCP_OAUTH_JWT_AUDIENCE | --oauth-audience | Beklenen JWT aud talebi. OAuth'u etkinleştirmek için gereklidir | Yok |
CB_MCP_OAUTH_JWT_ALGORITHM | --oauth-algorithm | JWT imzalama algoritması: RS256/384/512, ES256/384/512, PS256/384/512'den biri | RS256 |
CB_MCP_OAUTH_MCP_BASE_URL | --oauth-mcp-base-url | Bu sunucunun genel temel URL'si. Ayarlandığında, PRM farkında istemcilerin IdP'yi keşfedebilmesi için RFC 9728 Korumalı Kaynak Meta Verilerini yayınlar | Yok |
Salt Okunur Mod Yapılandırması
CB_MCP_READ_ONLY_MODE, yazma işlemlerini kontrol eden tek anahtardır:
trueolduğunda (varsayılan): Tüm yazma işlemleri (KV ve Sorgu) devre dışıdır. KV yazma araçları (upsert, insert, replace, delete) yüklenmez ve LLM tarafından kullanılamaz ve verileri veya yapıyı değiştiren SQL++ sorguları engellenir.falseolduğunda: KV yazma araçları yüklenir ve SQL++ veri/yapı değişiklik sorgularına izin verilir.
Bu, LLM'ler tarafından istenmeden yapılabilecek veri değişikliklerini önlemek için önerilen güvenli varsayılandır.
Not: Kimlik doğrulama için Kullanıcı Adı ve Parola ya da İstemci Sertifikası ve anahtar yollarından birine ihtiyacınız vardır. İsteğe bağlı olarak, sunucu sertifikalarını doğrulamak için kullanılacak CA kök sertifika yolunu belirtebilirsiniz. Hem İstemci Sertifikası ve anahtar yolu hem de kullanıcı adı ve parola belirtilirse, kimlik doğrulama için istemci sertifikaları kullanılacaktır.
Araçları Devre Dışı Bırakma
Belirli araçların yüklenmesini ve MCP istemcisine sunulmasını engellemek için onları devre dışı bırakabilirsiniz. Devre dışı bırakılan araçlar, araç keşfinde görünmez ve LLM tarafından çağrılamaz.
Desteklenen Formatlar
Virgülle ayrılmış liste:
# 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
Dosya yolu (satır başına bir araç adı):
# Environment variable
CB_MCP_DISABLED_TOOLS=disabled_tools.txt
# Command line
uvx couchbase-mcp-server --disabled-tools disabled_tools.txt
Dosya formatı (örn., disabled_tools.txt):
# Write operations
upsert_document_by_id
delete_document_by_id
# Index advisor
get_index_advisor_recommendations
# ile başlayan satırlar yorum olarak kabul edilir ve yok sayılır.
MCP İstemci Yapılandırma Örnekleri
Virgülle ayrılmış liste kullanarak:
{
"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"
}
}
}
}
Dosya yolu kullanarak (birçok araç için önerilir):
{
"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"
}
}
}
}
Önemli Güvenlik Notu
Uyarı: Yalnızca araçları devre dışı bırakmak, belirli işlemlerin gerçekleştirilemeyeceğini garanti etmez. Temel veritabanı kullanıcısının RBAC (Rol Tabanlı Erişim Kontrolü) izinleri, yetkili güvenlik denetimidir.
Örneğin,
upsert_document_by_idvedelete_document_by_idaraçlarını devre dışı bıraksanız bile, aşağıdaki durumlar haricinderun_sql_plus_plus_queryaracı kullanılarak SQL++ DML ifadeleri (INSERT, UPDATE, DELETE, MERGE) aracılığıyla veri değişiklikleri yine de gerçekleşebilir:
CB_MCP_READ_ONLY_MODE,true(varsayılan) olarak ayarlanmışsa, VEYA- Veritabanı kullanıcısı, veri değişikliği için gerekli RBAC izinlerine sahip değilse
En İyi Uygulama: Birincil güvenlik önlemi olarak her zaman Couchbase kullanıcı kimlik bilgilerinizde uygun RBAC izinlerini yapılandırın. Araç devre dışı bırakmayı, LLM davranışını yönlendirmek ve saldırı yüzeyini azaltmak için ek bir katman olarak kullanın, tek güvenlik denetimi olarak değil.
Araç Çağrıları için Ortaya Çıkarma/Onaylama
(MCP istemcisi ortaya çıkarmayı desteklediğinde) yürütmeden önce belirli araçlar için açık kullanıcı onayı isteyebilirsiniz.
CB_MCP_CONFIRMATION_REQUIRED_TOOLS / --confirmation-required-tools şu biçimleri destekler:
- Virgülle ayrılmış liste
- Dosya yolu (satır başına bir araç adı,
#yorumları desteklenir)
Örnek:
# 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
Listelenen bir araç çağrıldığında:
- İstemci ortaya çıkarmayı destekliyorsa, kullanıcıdan onaylaması istenir.
- İstemci ortaya çıkarmayı desteklemiyorsa, araç geriye dönük uyumluluk için onay olmadan yürütülür.
Ayrıca aşağıdakini kullanarak sunucunun sürümünü kontrol edebilirsiniz:
uvx couchbase-mcp-server --version
Günlüğe Kaydetme
MCP sunucusu varsayılan olarak stderr'e günlük kaydeder. Günlüğe kaydetme, Ek Yapılandırma bölümünde listelenen CB_MCP_LOG_* değişkenleriyle yapılandırılır:
CB_MCP_LOG_LEVEL— ne kadarının günlüğe kaydedileceği:info(varsayılan) yaşam döngüsü olaylarını ve araç çağrılarını günlüğe kaydeder,debugayrıntılı dahili ayrıntı ekler veofftüm günlüğe kaydetmeyi devre dışı bırakır.CB_MCP_LOG_SINKS— günlüklerin nereye gideceği:stderr(varsayılan), seviye başına dönen dosyalar (file) veya her ikisi.fileile,CB_MCP_LOG_FILEtarafından belirlenen yolda seviye başına bir dosya yazılır (örneğinmcp_server.info.logvemcp_server.error.log).
# Enable debug logging to both stderr and rotating per-level files
uvx couchbase-mcp-server --log-level=debug --log-sinks=stderr,file
Daha fazla ayrıntı için belgelere bakın.
İstemciye Özel Yapılandırma
Claude Desktop
Couchbase MCP sunucusunu Claude Desktop MCP istemcisiyle kullanmak için aşağıdaki adımları izleyin
-
MCP sunucusu artık yapılandırma dosyası düzenlenerek Claude Desktop'a eklenebilir. Daha ayrıntılı talimatlar MCP hızlı başlangıç kılavuzunda bulunabilir.
- Mac'te yapılandırma dosyası
~/Library/Application Support/Claude/claude_desktop_config.jsonkonumunda bulunur - Windows'ta yapılandırma dosyası
%APPDATA%\Claude\claude_desktop_config.jsonkonumunda bulunur
Yapılandırma dosyasını açın ve yapılandırmayı
mcpServersbölümüne ekleyin. - Mac'te yapılandırma dosyası
-
Değişiklikleri uygulamak için Claude Desktop'ı yeniden başlatın.
-
Artık Claude Desktop'ta sunucuyu kullanarak Couchbase kümesinde doğal dil kullanarak sorgular çalıştırabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Günlükler
Claude Desktop için günlükler aşağıdaki konumlarda bulunabilir:
- MacOS: ~/Library/Logs/Claude
- Windows: %APPDATA%\Claude\Logs
Günlükler, MCP sunucu yapılandırmanızla ilgili bağlantı sorunlarını veya diğer sorunları teşhis etmek için kullanılabilir. Daha fazla ayrıntı için resmi belgelere bakın.
Cursor
Couchbase MCP sunucusunu Cursor ile kullanmak için aşağıdaki adımları izleyin:
-
Makinenize Cursor yükleyin.
-
Cursor'da, Cursor > Cursor Ayarları > Araçlar ve Entegrasyonlar > MCP Araçları'na gidin. Ayrıca, Cursor'dan MCP sunucu yapılandırmasını ayarlama belgelerine göz atın.
-
Aynı yapılandırmayı manuel olarak belirtin veya tek tıklamayla Cursor'a Yükle bağlantısını kullanın. Sunucu yapılandırmasını
mcpServersüst anahtarı altına eklemeniz gerekebilir.Not: Yükleme bağlantısı, yukarıdaki yapılandırma örneklerinden yer tutucu değerleri kullanır. Yüklemeden sonra bağlantı dizesini ve kimlik bilgilerini güncelleyin.
-
Yapılandırmayı kaydedin.
-
MCP sunucuları listesinde couchbase'in ekli bir sunucu olarak göreceksiniz. Sunucunun etkin olup olmadığını görmek için yenileyin.
-
Artık Cursor'da Couchbase MCP sunucusunu kullanarak Couchbase kümenizi doğal dil kullanarak sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Cursor ile MCP entegrasyonu hakkında daha fazla ayrıntı için resmi Cursor MCP belgelerine bakın.
Günlükler
Cursor'un alt panelinde, "Çıktı"ya tıklayın ve sunucu günlüklerini görüntülemek için açılır menüden "Cursor MCP"yi seçin. Bu, MCP sunucu yapılandırmanızla ilgili bağlantı sorunlarını veya diğer sorunları teşhis etmeye yardımcı olabilir.
Windsurf Editor
Couchbase MCP sunucusunu Windsurf Editor ile kullanmak için aşağıdaki adımları izleyin.
-
Makinenize Windsurf Editor yükleyin.
-
Windsurf Editor'da, Komut Paleti > Windsurf MCP Yapılandırma Paneli'ne veya Windsurf - Ayarlar > Gelişmiş > Cascade > Model Bağlam Protokolü (MCP) Sunucuları'na gidin. Yapılandırma hakkında daha fazla ayrıntı için lütfen resmi belgelere bakın.
-
Sunucu Ekle'ye ve ardından Özel sunucu ekle'ye tıklayın. Düzenleyicide açılan yapılandırmaya, yukarıdaki Couchbase MCP Sunucusu yapılandırmasını ekleyin.
-
Yapılandırmayı kaydedin.
-
Gelişmiş Ayarlar altındaki MCP Sunucuları listesinde couchbase'in ekli bir sunucu olarak göreceksiniz. Sunucunun etkin olup olmadığını görmek için yenileyin.
-
Artık Windsurf Editor'da Couchbase MCP sunucusunu kullanarak Couchbase kümenizi doğal dil kullanarak sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Windsurf Editor ile MCP entegrasyonu hakkında daha fazla ayrıntı için resmi Windsurf MCP belgelerine bakın.
VS Code
Couchbase MCP sunucusunu VS Code ile kullanmak için aşağıdaki adımları izleyin.
-
VS Code yükleyin
-
MCP sunucusunu yapılandırmanın birkaç yolu aşağıda verilmiştir.
-
Bir Çalışma Alanı sunucu yapılandırması için
- Çalışma alanında .vscode/mcp.json olarak yeni bir dosya oluşturun.
- Yapılandırmayı ekleyin ve dosyayı kaydedin.
-
Genel sunucu yapılandırması için:
- Komut Paletinde (
Ctrl+Shift+PveyaCmd+Shift+P) MCP: Kullanıcı Yapılandırmasını Aç'ı çalıştırın - Yapılandırmayı ekleyin ve dosyayı kaydedin.
- Komut Paletinde (
-
Not: VS Code, MCP (Model Bağlam Protokolü) sunucularını tanımlamak için mcp.json dosyalarında üst düzey JSON özelliği olarak
serverskullanırken, Cursor eşdeğer yapılandırma içinmcpServerskullanır. Daha fazla değişiklik veya ayrıntı için VS Code istemci yapılandırmalarını kontrol edin. Aşağıda örnek bir VS Code yapılandırması verilmiştir.{ "servers": { "couchbase": { "command": "uvx", "args": ["couchbase-mcp-server"], "env": { "CB_CONNECTION_STRING": "couchbases://connection-string", "CB_USERNAME": "username", "CB_PASSWORD": "password" } } } }
-
-
Dosyayı kaydettiğinizde, sunucu başlar ve
Running|Stop|n Tools|More..ile küçük bir eylem listesi görünür. -
Sunucuyu
Start/Stop/yönetmek için seçenek listesinden seçeneklere tıklayın. -
Artık VS Code'da Couchbase MCP sunucusunu kullanarak Couchbase kümenizi doğal dil kullanarak sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Günlükler:
Komut Paletinde (Ctrl+Shift+P veya Cmd+Shift+P),
- MCP: Sunucuları Listele komutunu çalıştırın ve couchbase sunucusunu seçin
- Çıktı sekmesinde günlüklerini görmek için "Çıktıyı Göster"i seçin.
JetBrains IDE'leri
Couchbase MCP sunucusunu JetBrains IDE'leri ile kullanmak için aşağıdaki adımları izleyin
- JetBrains IDE'lerinden herhangi birini yükleyin
- JetBrains eklentilerinden herhangi birini yükleyin - AI Assistant veya Junie
- Ayarlar > Araçlar > AI Assistant veya Junie > MCP Sunucusu'na gidin
- Couchbase MCP yapılandırmasını eklemek için "+" düğmesine tıklayın ve Kaydet'e tıklayın.
- Couchbase MCP sunucusunun sunucu listesine eklendiğini göreceksiniz. Uygula'ya tıkladığınızda, Couchbase MCP sunucusu başlar ve durumun üzerine gelindiğinde, mevcut tüm araçları gösterir.
- Artık JetBrains IDE'lerinde Couchbase MCP sunucusunu kullanarak Couchbase kümenizi doğal dil kullanarak sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Günlükler: Günlük dosyası Yardım > Finder'da (Gezgin) Günlüğü Göster > mcp > couchbase konumunda incelenebilir
Akışkan HTTP Aktarım Modu
MCP Sunucusu, birden fazla istemcinin HTTP aracılığıyla aynı sunucu örneğine bağlanmasına olanak tanıyan Akışkan HTTP aktarım modunda çalıştırılabilir. Bu modda MCP sunucusuna bağlanmayı denemeden önce MCP istemcinizin akışkan http aktarımını destekleyip desteklemediğini kontrol edin.
Not: Bu aktarımda OAuth 2.1 yetkilendirmesi desteklenir. Bkz. OAuth 2.1 Yetkilendirmesi. OAuth yapılandırılmadığında, HTTP uç noktası kimlik doğrulamasızdır.
Kullanım
Varsayılan olarak, MCP sunucusu 8000 numaralı bağlantı noktasında çalışır ancak bu, --port veya CB_MCP_PORT ortam değişkeni kullanılarak yapılandırılabilir.
uvx couchbase-mcp-server \
--connection-string='<couchbase_connection_string>' \
--username='<database_username>' \
--password='<database_password>' \
--read-only-mode=true \
--transport=http
Sunucu http://localhost:8000/mcp adresinde kullanılabilir olacaktır. Bu, Cursor gibi akışkan http aktarım modunu destekleyen MCP istemcilerinde kullanılabilir.
MCP İstemci Yapılandırması
{
"mcpServers": {
"couchbase-http": {
"url": "http://localhost:8000/mcp"
}
}
}
SSE Aktarım Modu
MCP sunucusunu Sunucu Tarafından Gönderilen Olaylar (SSE) aktarım modunda çalıştırma seçeneği vardır.
Not: SSE modu MCP tarafından kullanımdan kaldırılmıştır. Akışkan HTTP desteğimiz bulunmaktadır.
SSE: Kullanım
Varsayılan olarak, MCP sunucusu 8000 numaralı bağlantı noktasında çalışır ancak bu, --port veya CB_MCP_PORT ortam değişkeni kullanılarak yapılandırılabilir.
uvx couchbase-mcp-server \
--connection-string='<couchbase_connection_string>' \
--username='<database_username>' \
--password='<database_password>' \
--read-only-mode=true \
--transport=sse
Sunucu http://localhost:8000/sse adresinde kullanılabilir olacaktır. Bu, Cursor gibi SSE aktarım modunu destekleyen MCP istemcilerinde kullanılabilir.
SSE: MCP İstemci Yapılandırması
{
"mcpServers": {
"couchbase-sse": {
"url": "http://localhost:8000/sse"
}
}
}
OAuth 2.1 Yetkilendirmesi
--transport=http ile çalışırken, MCP sunucusu bir OAuth 2.1 kaynak sunucusu olarak hareket edebilir: gelen taşıyıcı JWT'leri kimlik sağlayıcınızın JWKS'sine göre doğrular. Sağlayıcıdan bağımsızdır (JWKS yayınlayan herhangi bir OAuth 2.1 / OIDC sağlayıcısı — Auth0, Okta, Keycloak, AWS Cognito, Microsoft Entra, vb.) ve belirteç düzenlemez veya kullanıcıları yönetmez. OAuth ayarları stdio üzerinde yok sayılır.
OAuth, Ek Yapılandırma bölümünde listelenen CB_MCP_OAUTH_* değişkenleriyle yapılandırılır:
- OAuth yalnızca
CB_MCP_OAUTH_JWT_JWKS_URI,CB_MCP_OAUTH_JWT_ISSUERveCB_MCP_OAUTH_JWT_AUDIENCEdeğişkenlerinin üçü de ayarlandığında etkinleşir; yalnızca bazılarının ayarlanması başlangıçta başarısız olur. CB_MCP_OAUTH_MCP_BASE_URLayarlandığında ayrıca RFC 9728 Korumalı Kaynak Meta Verileri yayınlanır, böylece PRM farkında istemciler yetkilendirme sunucusunu keşfedebilir.- Erişim, belirtecin
scope/scptalebinden okunan iki kapsam tarafından denetlenir:couchbase-mcp:read(SQL++ dahil okuma araçları) vecouchbase-mcp:write(KV mutasyon araçları). Tam erişim her ikisini de gerektirir.
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>'
Tam ayrıntılar için belgelere bakın.
Docker İmajı
MCP sunucusu ayrıca bir Docker konteyneri olarak oluşturulabilir ve çalıştırılabilir. Önceden oluşturulmuş imajlar DockerHub üzerinde bulunabilir veya docker pull docker.io/couchbase/mcp-server:latest aracılığıyla çekilebilir.
Alternatif olarak, Docker MCP Kataloğu'nun bir parçasıyız.
İmaj Oluşturma
docker build -t mcp/couchbase-src .
Argümanlarla Oluşturma
Commit hash'i ve oluşturma zamanı için derleme argümanlarıyla oluşturmak isterseniz, aşağıdakini kullanarak oluşturabilirsiniz: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 .
Alternatif olarak, sağlanan derleme betiğini kullanın:
# Build with default image name (mcp/couchbase-src)
./build.sh
# Build with custom image name
./build.sh my-custom/image-name
Bu betik otomatik olarak:
- İsteğe bağlı bir imaj adı parametresi kabul eder (varsayılan:
mcp/couchbase-src) - Git commit hash'i ve derleme zaman damgası oluşturur
- Birden çok kullanışlı etiket oluşturur (
latest,<short-commit>) - Derleme bilgilerini ve sonuçlarını gösterir
- CI/CD derlemeleriyle aynı argümanları kullanır
İmaj etiketlerini doğrulayın:
# 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
Çalıştırma
MCP sunucusu, Couchbase ayarlarını yapılandırmak için kullanılan ortam değişkenleriyle çalıştırılabilir. Ortam değişkenleri, Ek Yapılandırma bölümünde açıklananlarla aynıdır.
Bağımsız Docker Konteyneri
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 ve CB_MCP_HOST ortam değişkenleri yalnızca http ve sse gibi HTTP aktarım modlarında geçerlidir.
Docker: MCP İstemci Yapılandırması
Docker imajı, aşağıdaki yapılandırmayla stdio aktarım modunda kullanılabilir.
{
"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"
]
}
}
}
Notlar
couchbase_connection_stringdeğeri, Couchbase sunucusunun aynı ana makinede, başka bir Docker konteynerinde veya uzak bir ana makinede çalışıp çalışmadığına bağlıdır. Couchbase sunucunuz ana makinenizde çalışıyorsa, bağlantı dizeniz muhtemelencouchbase://host.docker.internalbiçiminde olacaktır. Ayrıntılar için docker belgelerine bakın.- Konteynerin ağ iletişimini
--network=<your_network>seçeneğiyle belirtebilirsiniz. Seçeceğiniz ağ, ortamınıza bağlıdır; varsayılanbridge'dir. Ayrıntılar için docker'daki ağ sürücülerine bakın.
LLM'lerle İlişkili Riskler
- Büyük dil modellerinin ve benzer teknolojinin kullanımı, hatalı veya zararlı çıktı potansiyeli de dahil olmak üzere riskler içerir.
- Couchbase, bu tür çıktıların kalitesini veya doğruluğunu incelemez veya değerlendirmez ve bu çıktılar Couchbase'in görüşlerini yansıtmayabilir.
- Büyük dil modellerini ve ilgili teknolojiyi kullanıp kullanmamaya karar vermekten ve bunların kullanımını düzenleyen lisans koşullarına, kullanım şartlarına ve kuruluşunuzun politikalarına uymaktan yalnızca siz sorumlusunuz.
Sorun Giderme İpuçları
- Kaynaktan çalıştırıyorsanız, yapılandırmada MCP sunucu deponuzun yolunun doğru olduğundan emin olun.
- Couchbase bağlantı dizenizin, veritabanı kullanıcı adınızın, parolanızın veya sertifikaların yolunun doğru olduğunu doğrulayın.
- Couchbase Capella kullanıyorsanız, kümenin MCP sunucusunun çalıştığı makineden erişilebilir olduğundan emin olun.
- Veritabanı kullanıcısının en az bir bucket'a erişmek için uygun izinlere sahip olduğunu kontrol edin.
uvpaket yöneticisinin düzgün şekilde kurulu ve erişilebilir olduğunu onaylayın. Yapılandırmadakicommandalanındauv/uvxiçin mutlak yol belirtmeniz gerekebilir.- MCP sunucusuyla ilgili sorunlara işaret edebilecek hatalar veya uyarılar için günlükleri kontrol edin. Günlüklerin konumu MCP istemcinize bağlıdır.
- Yerel MCP sunucu deponuzu güncelledikten sonra kaynaktan MCP sunucunuzu çalıştırırken sorunlar yaşıyorsanız, bağımlılıkları güncellemek için
uv synckomutunu çalıştırmayı deneyin.
Entegrasyon testi
Sunucunun beklenen araçları sunduğunu ve bunların bir demo Couchbase kümesine karşı çağrılabildiğini doğrulamak için üst düzey MCP entegrasyon testleri sağlıyoruz.
- Demo küme kimlik bilgilerini dışa aktarın:
CB_CONNECTION_STRINGCB_USERNAMECB_PASSWORD- İsteğe bağlı:
CB_MCP_TEST_BUCKET(testler sırasında yoklanacak bir bucket)
- Testleri çalıştırın:
uv run pytest tests/ -v
👩💻 Katkıda Bulunma
Topluluktan gelecek katkıları memnuniyetle karşılıyoruz! Hataları düzeltmek, özellikler eklemek veya belgeleri iyileştirmek isterseniz, yardımınız için minnettarız.
Yardıma ihtiyacınız varsa, bir hata bulduysanız veya iyileştirmelerle katkıda bulunmak istiyorsanız, bunu yapmak için en iyi yer tam burasıdır — bir GitHub sorunu açarak.
Geliştiriciler İçin
Kod katkısında bulunmak veya bir geliştirme ortamı kurmakla ilgileniyorsanız:
📖 Kapsamlı geliştirici kurulum talimatları için CONTRIBUTING.md dosyasına bakın; şunları içerir:
uvile geliştirme ortamı kurulumu- Ruff ile kod denetimi ve biçimlendirme
- Ön işleme kancalarının kurulumu
- Proje yapısına genel bakış
- Geliştirme iş akışı ve uygulamaları
Katkıda Bulunanlar İçin Hızlı Başlangıç
# 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
📢 Destek Politikası
Bu projeye gösterdiğiniz ilgi için gerçekten minnettarız! Bu proje Couchbase topluluğu tarafından sürdürülmektedir, yani destek ekibimiz tarafından resmi olarak desteklenmemektedir. Bununla birlikte, mühendislerimiz bu depoyu aktif olarak izlemekte ve sürdürmekte olup sorunları en iyi çabayla çözmeye çalışacaktır.
Destek portalımız bu projeyle ilgili taleplere yardımcı olamaz, bu nedenle tüm soruların GitHub içinde kalmasını rica ederiz.
İş birliğiniz hep birlikte ilerlememize yardımcı oluyor — teşekkür ederiz!