Couchbase

resmi

Couchbase 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_connection ve get_cluster_health_and_services kullanarak kümeye erişilebilirliği doğrulamasını ve çalışan hizmetleri incelemesini isteyin.
  • Veri modelini keşfedinget_buckets_in_cluster, get_scopes_in_bucket ve get_collections_in_scope ile bucket'ları, kapsamları ve koleksiyonları keşfedin, ardından get_schema_for_collection ile bir koleksiyonun yapısını inceleyin.
  • Belgeleri alın ve yönetinget_document_by_id ile belgeleri kimliğe göre alın ve yazma modu etkinleştirildiğinde, upsert_document_by_id, insert_document_by_id, replace_document_by_id veya delete_document_by_id kullanarak belgeler oluşturun, güncelleyin veya silin.
  • SQL++ sorgularını çalıştırın ve optimize edinrun_sql_plus_plus_query ile salt okunur sorgular yürütün, explain_sql_plus_plus_query ile yürütme planlarını inceleyin ve get_index_advisor_recommendations ile dizin önerileri alın.
  • Sorgu performansını analiz edinget_longest_running_queries, get_most_frequent_queries ve get_queries_using_primary_index gibi 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.

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

Tam belgelendirme için mcp-server.couchbase.com adresini ziyaret edin.

Couchbase Server MCP server

Özellikler/Araçlar

Küme kurulumu ve sağlık araçları

Araç AdıAçıklama
get_server_configuration_statusKü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_connectionKümeye bağlanarak küme kimlik bilgilerini kontrol eder
get_cluster_health_and_servicesKü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_clusterKümedeki tüm bucket'ların listesini alır
get_scopes_in_bucketBelirtilen bucket'taki tüm scope'ların listesini alır
get_collections_in_scopeBelirtilen 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_bucketBelirtilen bucket'taki tüm scope ve koleksiyonların listesini alır
get_schema_for_collectionBir koleksiyonun yapısını alır

Doküman KV işlem araçları

Araç AdıAçıklama
get_document_by_idBelirtilen bir scope ve koleksiyondan, ID'ye göre bir doküman alır
upsert_document_by_idBelirtilen 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_idID'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_idID'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_idBelirtilen 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_indexesKü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_recommendationsSorgu performansını optimize etmek için, verilen bir SQL++ sorgusu için Couchbase Index Advisor'dan indeks önerileri alır
run_sql_plus_plus_queryBelirtilen 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_queryBir 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_queriesOrtalama hizmet süresine göre en uzun süre çalışan sorguları alır
get_most_frequent_queriesEn sık yürütülen sorguları alır
get_queries_with_largest_response_sizesEn büyük yanıt boyutlarına sahip sorguları alır
get_queries_with_large_result_countEn büyük sonuç sayılarına sahip sorguları alır
get_queries_using_primary_indexBirincil indeks kullanan sorguları alır (potansiyel performans sorunu)
get_queries_not_using_covering_indexKapsayıcı indeks kullanmayan sorguları alır
get_queries_not_selectiveSeç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 mcpServers nesnesine 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 mcpServers nesnesine 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şkeniCLI ArgümanıAçıklamaVarsayılan
CB_CONNECTION_STRING--connection-stringCouchbase kümesine bağlantı dizesiZorunlu
CB_USERNAME--usernameTemel 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--passwordTemel kimlik doğrulama için parolaZorunlu (veya mTLS için İstemci Sertifikası ve Anahtarı gerekir)
CB_CLIENT_CERT_PATH--client-cert-pathmTLS kimlik doğrulaması için istemci sertifika dosyasının yolumTLS kullanılıyorsa zorunlu (veya Kullanıcı Adı ve Parola gerekir)
CB_CLIENT_KEY_PATH--client-key-pathmTLS kimlik doğrulaması için istemci anahtar dosyasının yolumTLS kullanılıyorsa zorunlu (veya Kullanıcı Adı ve Parola gerekir)
CB_CA_CERT_PATH--ca-cert-pathSunucu 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-modeTüm veri değişikliklerini engeller (KV ve Sorgu). Etkinleştirildiğinde, KV yazma araçları yüklenmez.true
CB_MCP_TRANSPORT--transportAktarım modu: stdio, http, ssestdio
CB_MCP_HOST--hostHTTP/SSE aktarım modları için ana bilgisayar127.0.0.1
CB_MCP_PORT--portHTTP/SSE aktarım modları için bağlantı noktası8000
CB_MCP_DISABLED_TOOLS--disabled-toolsDevre dışı bırakılacak araçlar (bkz. Araçları Devre Dışı Bırakma)Yok
CB_MCP_CONFIRMATION_REQUIRED_TOOLS--confirmation-required-toolsMCP 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-levelMCP sunucusu için günlük kaydı seviyesi: off, debug, info, warning, error (bkz. Günlük Kaydı)info
CB_MCP_LOG_SINKS--log-sinksVirgülle ayrılmış günlük hedefleri: stderr, file veya her ikisi (bkz. Günlük Kaydı)stderr
CB_MCP_LOG_FILE--log-fileSeviye 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-bytesGünlük dosyası dönüşmeden önce dosya başına bayt cinsinden maksimum boyut1048576 (1 MB)
CB_MCP_OAUTH_JWT_JWKS_URI--oauth-jwks-uriTaşı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-issuerBeklenen JWT iss talebi. OAuth'u etkinleştirmek için gereklidirYok
CB_MCP_OAUTH_JWT_AUDIENCE--oauth-audienceBeklenen JWT aud talebi. OAuth'u etkinleştirmek için gereklidirYok
CB_MCP_OAUTH_JWT_ALGORITHM--oauth-algorithmJWT imzalama algoritması: RS256/384/512, ES256/384/512, PS256/384/512'den biriRS256
CB_MCP_OAUTH_MCP_BASE_URL--oauth-mcp-base-urlBu sunucunun genel temel URL'si. Ayarlandığında, PRM farkında istemcilerin IdP'yi keşfedebilmesi için RFC 9728 Korumalı Kaynak Meta Verilerini yayınlarYok

Salt Okunur Mod Yapılandırması

CB_MCP_READ_ONLY_MODE, yazma işlemlerini kontrol eden tek anahtardır:

  • true olduğ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.
  • false olduğ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_id ve delete_document_by_id araçlarını devre dışı bıraksanız bile, aşağıdaki durumlar haricinde run_sql_plus_plus_query aracı 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, debug ayrıntılı dahili ayrıntı ekler ve off tü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. file ile, CB_MCP_LOG_FILE tarafından belirlenen yolda seviye başına bir dosya yazılır (örneğin mcp_server.info.log ve mcp_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

  1. 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.json konumunda bulunur
    • Windows'ta yapılandırma dosyası %APPDATA%\Claude\claude_desktop_config.json konumunda bulunur

    Yapılandırma dosyasını açın ve yapılandırmayı mcpServers bölümüne ekleyin.

  2. Değişiklikleri uygulamak için Claude Desktop'ı yeniden başlatın.

  3. 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:

  1. Makinenize Cursor yükleyin.

  2. 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.

  3. 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.

  4. Yapılandırmayı kaydedin.

  5. MCP sunucuları listesinde couchbase'in ekli bir sunucu olarak göreceksiniz. Sunucunun etkin olup olmadığını görmek için yenileyin.

  6. 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.

  1. Makinenize Windsurf Editor yükleyin.

  2. 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.

  3. 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.

  4. Yapılandırmayı kaydedin.

  5. 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.

  6. 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.

  1. VS Code yükleyin

  2. 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+P veya Cmd+Shift+P) MCP: Kullanıcı Yapılandırmasını Aç'ı çalıştırın
      • Yapılandırmayı ekleyin ve dosyayı kaydedin.
    • 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 servers kullanırken, Cursor eşdeğer yapılandırma için mcpServers kullanı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"
              }
            }
          }
        }
      
  3. Dosyayı kaydettiğinizde, sunucu başlar ve Running|Stop|n Tools|More.. ile küçük bir eylem listesi görünür.

  4. Sunucuyu Start/Stop/yönetmek için seçenek listesinden seçeneklere tıklayın.

  5. 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

  1. JetBrains IDE'lerinden herhangi birini yükleyin
  2. JetBrains eklentilerinden herhangi birini yükleyin - AI Assistant veya Junie
  3. Ayarlar > Araçlar > AI Assistant veya Junie > MCP Sunucusu'na gidin
  4. Couchbase MCP yapılandırmasını eklemek için "+" düğmesine tıklayın ve Kaydet'e tıklayın.
  5. 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.
  6. 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_ISSUER ve CB_MCP_OAUTH_JWT_AUDIENCE değ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_URL ayarlandığı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/scp talebinden okunan iki kapsam tarafından denetlenir: couchbase-mcp:read (SQL++ dahil okuma araçları) ve couchbase-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_string değ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 muhtemelen couchbase://host.docker.internal biç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ılan bridge'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.
  • uv paket yöneticisinin düzgün şekilde kurulu ve erişilebilir olduğunu onaylayın. Yapılandırmadaki command alanında uv/uvx iç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 sync komutunu ç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.

  1. Demo küme kimlik bilgilerini dışa aktarın:
    • CB_CONNECTION_STRING
    • CB_USERNAME
    • CB_PASSWORD
    • İsteğe bağlı: CB_MCP_TEST_BUCKET (testler sırasında yoklanacak bir bucket)
  2. 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:

  • uv ile 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!