Couchbase
resmiCouchbase kümelerinde depolanan verilerle doğal dil kullanarak etkileşim kurun.
Couchbase MCP ile neler yapabilirsiniz?
Asistanınızdan Couchbase kümenizdeki küme sağlığını incelemesini, şemaları keşfetmesini, SQL++ sorguları çalıştırmasını ve belgeleri yönetmesini isteyin.
- SQL++ sorguları çalıştırın — Asistanınızdan
run_sql_plus_plus_queryile veri sorgulamasını isteyin; otomatik olarak bir bucket ve koleksiyona kapsamlanır. - Şemayı keşfedin —
get_buckets_in_clusterveget_schema_for_collectionaracılığıyla bucket'ları, kapsamları ve koleksiyonları bulun. - Belgeleri yönetin —
get_document_by_idveupsert_document_by_idile belgeleri kimliğe göre okuyun, güncelleyin veya silin. - Küme sağlığını kontrol edin —
test_cluster_connectionveget_cluster_health_and_servicesile bağlantıyı ve hizmet durumunu doğrulayın. - Dizinleri optimize edin —
list_indexesveget_index_advisor_recommendationsile dizinleri listeleyin ve öneriler alın. - Sorgu performansını analiz edin —
get_longest_running_queriesveget_queries_using_primary_indexile yavaş veya seçici olmayan sorguları bulun.
Dokümantasyon
Couchbase MCP Server, AI ajanlarının Capella veya kendi yönetilen Couchbase kümelerindeki verilere bağlanmasını ve bunlarla etkileşimde bulunmasını sağlayan, kendi kendine barındırılan bir MCP Server'dır. Küme Sağlığı, Veri Şeması, Anahtar-Değer, Sorgu ve Performans kategorilerinde araçlar sunar — salt okunur mod ve ayrıntılı araç devre dışı bırakma yoluyla güvenlik kontrolleri içerir. Hem STDIO hem de Streamable HTTP taşımacılığını destekler.
Couchbase MCP server, Python Package Index (PyPI) paketi ve Docker aracılığıyla dağıtılır. Couchbase MCP Server için kurumsal destek, Couchbase AI Data Plane lisansı alınarak edinilebilir; bu lisans aynı zamanda Couchbase Agent Memory ve Couchbase Agent Catalog kullanımı ve kurumsal desteğini de kapsar.
Tüm belgeler 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ışı bırakılmış/onay gerektiren araçları, OAuth ayarlarını ve çözümlenen günlük 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şfi 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 scope ve bucket'taki tüm collection'ların listesini alır. Bu aracın kümede Query hizmetinin olmasını gerektirdiğini unutmayın. |
get_scopes_and_collections_in_bucket | Belirtilen bucket'taki tüm scope'ların ve collection'ların listesini alır |
get_schema_for_collection | Bir collection'ın yapısını alır |
create_scope | Bir bucket'ta yeni bir scope oluşturur (Couchbase Server 7.6+ ve Capella). CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
create_collection | Mevcut bir scope içinde yeni bir collection oluşturur (Couchbase Server 7.6+ ve Capella). CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
delete_scope | Bir bucket'tan bir scope'u ve tüm collection'larını siler — kalıcıdır. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
delete_collection | Bir scope'tan bir collection'ı ve tüm belgelerini siler — kalıcıdır. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
Belge KV işlemleri araçları
| Araç Adı | Açıklama |
|---|---|
get_document_by_id | Belirtilen scope ve collection'dan kimliğe göre bir belge alır |
lookup_subdocument | Belgenin tamamını getirmeden bir belgenin bölümlerini (belirli alanlar, varoluş kontrolleri veya dizi/nesne sayıları) yola göre inceler |
upsert_document_by_id | Belirtilen scope ve collection'a kimliğe göre bir belgeyi upsert eder. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
insert_document_by_id | Kimliğe göre yeni bir belge ekler (belge zaten varsa başarısız olur). CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
replace_document_by_id | Kimliğe göre mevcut bir belgeyi değiştirir (belge yoksa 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 scope ve collection'dan kimliğe göre bir belgeyi siler. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
mutate_subdocument | Mevcut bir belgenin bölümlerini (upsert, insert, replace, remove, dizi işlemleri, sayaçlar) yola göre tüm belgeyi yeniden yazmadan değiştirir. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
Sorgu ve dizin oluşturma araçları
| Araç Adı | Açıklama |
|---|---|
list_indexes | Kümedeki tüm dizinleri tanımlarıyla listeler; isteğe bağlı olarak bucket, scope, collection ve dizin adına göre filtreler. Ham dizin bilgisini döndürmek için return_raw_index_stats=true değerini ayarlayın. |
get_index_advisor_recommendations | Belirli bir SQL++ sorgusu için Couchbase Index Advisor'dan dizin önerileri alır, sorgu performansını optimize etmek için |
create_index | Bir collection üzerinde skaler (vektör olmayan) GSI ikincil dizini oluşturur. Varsayılan olarak ertelenir — daha sonra oluşturmak için build_index çağrısı yapın. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
build_index | Bir collection üzerindeki tüm ertelenmiş dizinlerin oluşturulmasını tetikler. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
drop_index | Bir collection'dan GSI dizinini (skaler veya vektör) kaldırır. CB_MCP_READ_ONLY_MODE=true olduğunda varsayılan olarak devre dışıdır. |
run_sql_plus_plus_query | Belirtilen bir scope üzerinde SQL++ sorgusu çalıştırır. Sorgular otomatik olarak belirtilen bucket ve scope ile sınırlandırılır; bu nedenle collection adlarını doğrudan kullanın (örn. SELECT * FROM users yerine SELECT * FROM bucket.scope.users).CB_MCP_READ_ONLY_MODE varsayılan olarak true'dır; bu da tüm yazma işlemlerinin (KV, Sorgu, scope/collection yönetimi ve dizin yönetimi) devre dışı olduğu anlamına gelir. Etkinleştirildiğinde, KV, collection yönetimi ve dizin yazma araçları yüklenmez ve verileri değiştiren SQL++ sorguları engellenir. |
explain_sql_plus_plus_query | Bir SQL++ sorgusu için 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ı analiz araçları
| Araç Adı | Açıklama |
|---|---|
get_longest_running_queries | Ortalama hizmet süresine göre en uzun süren sorguları alır |
get_most_frequent_queries | En sık çalıştırılan 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 dizin kullanan sorguları alır (potansiyel performans endişesi) |
get_queries_not_using_covering_index | Kapsayan dizin kullanmayan sorguları alır |
get_queries_not_selective | Seçici olmayan sorguları alır (dizin taraması nihai sonuçtan çok daha fazla belge döndürür) |
Ön koşullar
- Python 3.10 veya üzeri.
- Çalışan bir Couchbase kümesi. Başlamanın en kolay yolu, tamamen yönetilen Couchbase sunucusu sürümü olan Capella ücretsiz katmanını kullanmaktır. Örnek veri kümelerinden birini içe aktarmak için talimatları izleyebilir veya kendi verilerinizi içe aktarabilirsiniz.
- 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 kaynak kodundan uv kullanılarak çalıştırılabilir.
PyPI'dan Ç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 başka MCP sunucuları kullanıyorsanız, bunu mevcut
mcpServersnesnesine ekleyebilirsiniz.
Kaynak Kodundan Çalıştırma
MCP sunucusu, bu depoyu kullanarak kaynak kodundan çalıştırılabilir.
Depoyu yerel makinenize kopyalayın
git clone https://github.com/couchbase/mcp-server-couchbase.git
MCP İstemcileri için Kaynak 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/, klonlanan deponun yerel makinenizdeki yolu olmalıdır. Sonundaki eğik çizgiyi unutmayın!
Not: İstemcide başka MCP sunucuları kullanıyorsanız, bunu mevcut
mcpServersnesnesine ekleyebilirsiniz.
MCP Sunucusu için Ek Yapılandırma
Sunucu, ortam değişkenleri veya komut satırı bağımsız değişkenleri 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 | **Gerekli** | | `CB_USERNAME` | `--username` | Temel kimlik doğrulama için gerekli bucket'lara erişimi olan kullanıcı adı | **Gerekli (veya mTLS için İstemci Sertifikası ve Anahtarı gerekli)** | | `CB_PASSWORD` | `--password` | Temel kimlik doğrulama için parola | **Gerekli (veya mTLS için İstemci Sertifikası ve Anahtarı gerekli)** | | `CB_CLIENT_CERT_PATH` | `--client-cert-path` | mTLS kimlik doğrulaması için istemci sertifika dosyasının yolu | **mTLS kullanılıyorsa gerekli (veya Kullanıcı Adı ve Parola gerekli)** | | `CB_CLIENT_KEY_PATH` | `--client-key-path` | mTLS kimlik doğrulaması için istemci anahtar dosyasının yolu | **mTLS kullanılıyorsa gerekli (veya Kullanıcı Adı ve Parola gerekli)** | | `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 engelle (KV, Query, scope/collection yönetimi ve index yönetimi). Etkinleştirildiğinde, KV, collection yönetimi ve index yazma araçları yüklenmez. | `true` | | `CB_MCP_TRANSPORT` | `--transport` | Taşıma modu: `stdio`, `http`, `sse` | `stdio` | | `CB_MCP_HOST` | `--host` | HTTP/SSE taşıma modları için ana bilgisayar | `127.0.0.1` | | `CB_MCP_PORT` | `--port` | HTTP/SSE taşıma modları için port | `8000` | | `CB_MCP_DISABLED_TOOLS` | `--disabled-tools` | Devre dışı bırakılacak araçlar (bkz. [Araçları Devre Dışı Bırakma](#disabling-tools)) | Yok | | `CB_MCP_CONFIRMATION_REQUIRED_TOOLS` | `--confirmation-required-tools` | MCP elicitation yoluyla yürütmeden önce açık kullanıcı onayı gerektiren araçlar (bkz. [Elicitation/Onay Gerektiren Araçlar](#elicitationconfirmation-for-tool-calls)) | Yok | | `CB_MCP_LOG_LEVEL` | `--log-level` | MCP sunucusu için günlük seviyesi: `off`, `debug`, `info`, `warning`, `error` (bkz. [Günlükleme](#logging)) | `info` | | `CB_MCP_LOG_SINKS` | `--log-sinks` | Virgülle ayrılmış günlük hedefleri: `stderr`, `file` veya her ikisi (bkz. [Günlükleme](#logging)) | `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_ROTATION_MAX_SIZE_MB` | `--log-rotation-max-size-mb` | Döndürülmeden önce her günlük dosyası için **MB cinsinden** genel maksimum boyut, geçersiz kılınmadıkça her seviye tarafından devralınır. `0` geçersizdir ve başlangıç uyarısıyla varsayılana döner | `1` (1 MB) | | `CB_MCP_LOG_MAX_BYTES` | `--log-max-bytes` | **Kullanımdan kaldırıldı** — `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` (MB) kullanın. **Bayt cinsinden** genel döndürme boyutu, geriye dönük uyumluluk için hâlâ onurlandırılır; `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` de ayarlandığında yok sayılır | Ayarlanmadı | | `CB_MCP_LOG_ERROR_ROTATION_MAX_SIZE_MB` | `--log-error-rotation-max-size-mb` | ERROR günlük dosyası için **MB cinsinden** döndürme boyutu; ERROR için `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` değerini geçersiz kılar | Devralır `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` | | `CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB` | `--log-warning-rotation-max-size-mb` | WARNING günlük dosyası için **MB cinsinden** döndürme boyutu; WARNING için `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` değerini geçersiz kılar | Devralır `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` | | `CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB` | `--log-info-rotation-max-size-mb` | INFO günlük dosyası için **MB cinsinden** döndürme boyutu; INFO için `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` değerini geçersiz kılar | Devralır `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` | | `CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB` | `--log-debug-rotation-max-size-mb` | DEBUG günlük dosyası için **MB cinsinden** döndürme boyutu; DEBUG için `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` değerini geçersiz kılar | Devralır `CB_MCP_LOG_ROTATION_MAX_SIZE_MB` | | `CB_MCP_LOG_RETENTION_BACKUP_COUNT` | `--log-retention-backup-count` | Seviye başına günlük dosyası için tutulan döndürülmüş yedek dosyalar (canlı dosya hariç), geçersiz kılınmadıkça her seviyeye uygulanır. `0` yalnızca canlı dosyayı tutar (bkz. [Günlükleme](#logging)) | `1` | | `CB_MCP_LOG_ERROR_RETENTION_BACKUP_COUNT` | `--log-error-retention-backup-count` | ERROR günlük dosyası için tutulan döndürülmüş yedekler; ERROR için genel sayımı geçersiz kılar | Devralır `CB_MCP_LOG_RETENTION_BACKUP_COUNT` | | `CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT` | `--log-warning-retention-backup-count` | WARNING günlük dosyası için tutulan döndürülmüş yedekler; WARNING için genel sayımı geçersiz kılar | Devralır `CB_MCP_LOG_RETENTION_BACKUP_COUNT` | | `CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT` | `--log-info-retention-backup-count` | INFO günlük dosyası için tutulan döndürülmüş yedekler; INFO için genel sayımı geçersiz kılar | Devralır `CB_MCP_LOG_RETENTION_BACKUP_COUNT` | | `CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT` | `--log-debug-retention-backup-count` | DEBUG günlük dosyası için tutulan döndürülmüş yedekler; DEBUG için genel sayımı geçersiz kılar | Devralır `CB_MCP_LOG_RETENTION_BACKUP_COUNT` | | `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 birlikte ayarlandığında OAuth'u etkinleştirir (bkz. [OAuth 2.1 Yetkilendirme](#oauth-21-authorization)) | 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`'dan biri | `RS256` | | `CB_MCP_OAUTH_MCP_BASE_URL` | `--oauth-mcp-base-url` | Bu sunucunun genel temel URL'si. Ayarlandığında, RFC 9728 Korumalı Kaynak Meta Verilerini yayınlar, böylece PRM uyumlu istemciler IdP'yi keşfedebilir | Yok | | `CB_MCP_OAUTH_SCOPE_READ_LABEL` | `--oauth-scope-read-label` | 'Okuma' erişimi olarak işlenen OAuth kapsam etiketini geçersiz kıl (PRM'de duyurulur ve token'ın `scope`/`scp` talebiyle eşleştirilir). IdP'niz kanonik formu yayamıyorsa kullanın | `couchbase-mcp:read` | | `CB_MCP_OAUTH_SCOPE_WRITE_LABEL` | `--oauth-scope-write-label` | 'Yazma' erişimi olarak işlenen OAuth kapsam etiketini geçersiz kıl; okuma etiketiyle aynı anlambilim | `couchbase-mcp:write` |Salt Okunur Mod Yapılandırması
CB_MCP_READ_ONLY_MODE yazma işlemlerini kontrol eden tek anahtardır:
true(varsayılan) olduğunda: Tüm yazma işlemleri (KV, Query, scope/collection yönetimi ve index yönetimi) devre dışıdır. KV yazma araçları (upsert, insert, replace, delete, sub-document mutate), scope/collection yönetimi yazma araçları (create_scope, create_collection, delete_scope, delete_collection) ve index yazma araçları (create_index, build_index, drop_index) yüklenmez ve LLM için kullanılabilir olmaz; ayrıca veri veya yapıyı değiştiren SQL++ sorguları engellenir.falseolduğunda: KV, scope/collection yönetimi ve index yazma araçları yüklenir ve SQL++ veri/yapı değişikliği sorgularına izin verilir.
Bu, LLM'ler tarafından yanlışlıkla veri değişikliği yapılmasını önlemek için önerilen güvenli varsayılandır.
Not: Kimlik doğrulama için Kullanıcı Adı ve Parola veya İ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ı & anahtar yolu hem de kullanıcı adı ve parola belirtilirse, kimlik doğrulama için istemci sertifikaları kullanılır.
Araçları Devre Dışı Bırakma
Belirli araçları, MCP istemcisine yüklenmesini ve sunulmasını önlemek için 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 Biçimler
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 (her satırda bir araç adı):
# Environment variable
CB_MCP_DISABLED_TOOLS=disabled_tools.txt
# Command line
uvx couchbase-mcp-server --disabled-tools disabled_tools.txt
Dosya biçimi (ö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 kontrolüdür.
Örneğin,
upsert_document_by_idvedelete_document_by_idaraçlarını devre dışı bıraksanız bile,run_sql_plus_plus_queryaracı üzerinden SQL++ DML ifadeleri (INSERT, UPDATE, DELETE, MERGE) kullanılarak veri değişiklikleri yine de gerçekleşebilir, şu durumlar hariç:
CB_MCP_READ_ONLY_MODEdeğeritrue(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 Couchbase kullanıcı kimlik bilgilerinizde her zaman 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 kontrolü olarak değil.
Araç Çağrıları için Elicitation/Onay
Belirli araçlar için yürütmeden önce açık kullanıcı onayı isteyebilirsiniz (MCP istemcisi elicitation'ı destekliyorsa).
CB_MCP_CONFIRMATION_REQUIRED_TOOLS / --confirmation-required-tools şu biçimleri destekler:
- Virgülle ayrılmış liste
- Dosya yolu (her satırda 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 elicitation'ı destekliyorsa, kullanıcıdan onay istenir.
- İstemci elicitation'ı desteklemiyorsa, geriye dönük uyumluluk için araç onay olmadan yürütülür.
Sunucunun sürümünü şu şekilde de kontrol edebilirsiniz:
uvx couchbase-mcp-server --version
Günlükleme
MCP sunucusu varsayılan olarak stderr hedefine günlük yazar. Günlükleme, 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 günlük tutulacağı:info(varsayılan) yaşam döngüsü olaylarını ve araç çağrılarını günlüğe kaydeder,debugayrıntılı iç ayrıntıları ekler veofftüm günlüklemeyi devre dışı bırakır.CB_MCP_LOG_SINKS— günlüklerin nereye gittiği:stderr(varsayılan), seviye başına dönen dosyalar (file) veya her ikisi.fileile,CB_MCP_LOG_FILEtarafından ayarlanan yolda her seviye için bir dosya yazılır (örneğinmcp_server.info.logvemcp_server.error.log).- Döndürme boyutu —
CB_MCP_LOG_ROTATION_MAX_SIZE_MB, her seviye dosyasının döndüğü genel boyuttur (MB cinsinden). Bireysel seviyeleriCB_MCP_LOG_<LEVEL>_ROTATION_MAX_SIZE_MB(ERROR/WARNING/INFO/DEBUG) ile geçersiz kılın, ayrıca MB cinsinden, ayarlanmadığında genel değeri devralır.0boyutu (genel veya seviye başına) geçersizdir ve başlangıç uyarısıyla varsayılana (1 MB) döner.CB_MCP_LOG_MAX_BYTES(bayt) kullanımdan kaldırıldı ancak geriye dönük uyumluluk için hâlâ onurlandırılır;CB_MCP_LOG_ROTATION_MAX_SIZE_MBde ayarlandığında yok sayılır ve başlangıçta kullanımdan kaldırma uyarısı yazdırır. - Saklama —
CB_MCP_LOG_RETENTION_BACKUP_COUNT, seviye başına kaç döndürülmüş yedek tutulacağını ayarlar (canlı dosya hariç);1varsayılanı önceki davranışı korur. Bireysel seviyeleriCB_MCP_LOG_<LEVEL>_RETENTION_BACKUP_COUNT(ERROR/WARNING/INFO/DEBUG) ile geçersiz kılın, ayarlanmadığında genel değeri devralır. Bir sayımı0olarak ayarlayın, o seviye için yalnızca canlı dosyayı tutun — yine de döndürme boyutuyla sınırlıdır (yedeklenmek yerine döndürmede sıfırlanır). - Sunucu yapılandırma anlık görüntüsü —
filehedefi etkin olduğunda, tek seferlik bir kayıt (OS, Python, bağımlılık sürümleri, taşıma, çözümlenmiş günlük yapılandırması ve gizlenmiş sunucu yapılandırması) JSON olarak özel birmcp_server_config.log.jsondosyasına yazılır (CB_MCP_LOG_FILEtabanından türetilir). Her başlangıçta üzerine yazılır, böylece destek her zaman güncel yapılandırmaya sahip olur ve dönen bir günlükten asla kaybolmaz.
# 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
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ını düzenleyerek 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 configuration öğesinimcpServersbölümüne ekleyin.
- Mac'te yapılandırma dosyası
-
Claude Desktop'u yeniden başlatın ve değişiklikleri uygulayın.
-
Artık Claude Desktop'ta sunucuyu kullanarak Couchbase kümesinde doğal dil ile sorgular çalıştırabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Loglar
Claude Desktop için loglar şu konumlarda bulunabilir:
- MacOS: ~/Library/Logs/Claude
- Windows: %APPDATA%\Claude\Logs
Loglar, 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 kurun.
-
Cursor'da Cursor > Cursor Ayarları > Araçlar ve Entegrasyonlar > MCP Araçları adımlarını izleyin. Ayrıca Cursor'dan MCP sunucu yapılandırması kurulumu ile ilgili dokümanlara göz atın.
-
Aynı yapılandırmayı manuel olarak belirtin veya tek tıkla Cursor'da Kur bağlantısını kullanın. Sunucu yapılandırmasını
mcpServersüst anahtarı altına eklemeniz gerekebilir.Not: Kurulum bağlantısı yukarıdaki yapılandırma örneklerinden yer tutucu değerleri kullanır. Bağlantı dizesini ve kimlik bilgilerini kurulumdan sonra güncelleyin.
-
Yapılandırmayı kaydedin.
-
MCP sunucuları listesinde couchbase'in eklendiğini 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 ile 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 dokümantasyonuna başvurun.
Loglar
Cursor'un alt panelinde "Çıktı"ya tıklayın ve açılır menüden "Cursor MCP"yi seçerek sunucu loglarını görüntüleyin. 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 kurun.
-
Windsurf Editor'da Komut Paleti > Windsurf MCP Yapılandırma Paneli veya Windsurf - Ayarlar > Gelişmiş > Cascade > Model Context Protocol (MCP) Sunucuları bölümüne gidin. Yapılandırma hakkında daha fazla ayrıntı için resmi dokümantasyona başvurun.
-
Sunucu Ekle'ye ve ardından Özel sunucu ekle'ye tıklayın. Editörde 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 eklendiğini 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 ile 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 dokümantasyonuna başvurun.
VS Code
Couchbase MCP sunucusunu VS Code ile kullanmak için aşağıdaki adımları izleyin.
-
VS Code kurun.
-
MCP sunucusunu yapılandırmanın birkaç yolu aşağıda verilmiştir.
-
Çalışma Alanı sunucu yapılandırması için
- Çalışma alanında .vscode/mcp.json adında yeni bir dosya oluşturun.
- Yapılandırmayı ekleyin ve dosyayı kaydedin.
-
Genel sunucu yapılandırması için:
- Komut Paleti'nde MCP: Kullanıcı Yapılandırmasını Aç komutunu çalıştırın (
Ctrl+Shift+PveyaCmd+Shift+P) - Yapılandırmayı ekleyin ve dosyayı kaydedin.
- Komut Paleti'nde MCP: Kullanıcı Yapılandırmasını Aç komutunu çalıştırın (
-
Not: VS Code, mcp.json dosyalarında MCP (Model Context Protocol) sunucularını tanımlamak için ü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ına bakın. 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 birlikte 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 ile sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Loglar:
Komut Paleti'nde (Ctrl+Shift+P veya Cmd+Shift+P),
- MCP: Sunucuları Listele komutunu çalıştırın ve couchbase sunucusunu seçin
- Loglarını Output sekmesinde görmek için "Çıktıyı Göster"i seçin.
JetBrains IDEs
Couchbase MCP sunucusunu JetBrains IDE'leri ile kullanmak için aşağıdaki adımları izleyin.
- JetBrains IDE'lerinden herhangi birini kurun.
- JetBrains eklentilerinden herhangi birini kurun - AI Asistan veya Junie.
- Ayarlar > Araçlar > AI Asistan veya Junie > MCP Sunucusu bölümüne gidin.
- Couchbase MCP yapılandırmasını eklemek için "+"ya tıklayın ve Kaydet'e tıklayın.
- Couchbase MCP sunucusunun sunucular listesine eklendiğini göreceksiniz. Uygula'ya tıkladığınızda Couchbase MCP sunucusu başlar ve durumun üzerine gelindiğinde kullanılabilir tüm araçları gösterir.
- Artık JetBrains IDE'lerinde Couchbase MCP sunucusunu kullanarak Couchbase kümenizi doğal dil ile sorgulayabilir ve belgeler üzerinde CRUD işlemleri gerçekleştirebilirsiniz.
Loglar: Log dosyası Help > Show Log in Finder (Explorer) > mcp > couchbase altında incelenebilir.
Akışkan HTTP Aktarım Modu
MCP Sunucusu, birden fazla istemcinin aynı sunucu örneğine HTTP üzerinden bağlanmasına olanak tanıyan Akışkan HTTP aktarım modunda çalıştırılabilir. Bu modda MCP sunucusuna bağlanmaya çalışmadan önce MCP istemcinizin akışkan http aktarımını destekleyip desteklemediğini kontrol edin.
Not: Bu aktarımda OAuth 2.1 yetkilendirmesi desteklenmektedir. OAuth 2.1 Yetkilendirmesine bakın. OAuth yapılandırılmadan HTTP uç noktası kimlik doğrulamasızdır.
Kullanım
Varsayılan olarak MCP sunucusu 8000 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ı 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 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ıştırıldığında 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'ine karşı 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ç vermez 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_AUDIENCEüçü 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, PRM algılayan istemcilerin yetkilendirme sunucusunu keşfedebilmesi için RFC 9728 Korumalı Kaynak Meta Verileri de yayımlanır.- Erişim, belirtecin
scope/scptalebinden okunan iki kapsam tarafından denetlenir:couchbase-mcp:read(okuma araçları, SQL++ dahil) vecouchbase-mcp:write(yazma araçları: KV mutasyonları, kapsam/koleksiyon yönetimi ve dizin yönetimi). Tam erişim her ikisini de gerektirir. IdP'niz bu kurallı etiketleri yayamıyorsa,CB_MCP_OAUTH_SCOPE_READ_LABEL/CB_MCP_OAUTH_SCOPE_WRITE_LABELile geçersiz kılın.
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>'
Tüm ayrıntılar için dokümantasyona bakın.
Docker Görüntüsü
MCP sunucusu ayrıca bir Docker kapsayıcısı olarak derlenebilir ve çalıştırılabilir. Önceden derlenmiş görüntüler DockerHub üzerinde bulunabilir veya docker pull docker.io/couchbase/mcp-server:latest aracılığıyla çekilebilir.
Alternatif olarak, Docker MCP Kataloğu üyesiyiz.
Görüntü Derleme
docker build -t mcp/couchbase-src .
Bağımsız Değişkenlerle Derleme
Commit karması ve derleme süresi için derleme bağımsız değişkenleriyle derlemek istiyorsanız, şu şekilde derleyebilirsiniz: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 görüntü adı parametresi kabul eder (varsayılan
mcp/couchbase-src) - Git commit karması ve derleme zaman damgası üretir
- Birden çok kullanışlı etiket oluşturur (
latest,<short-commit>) - Derleme bilgilerini ve sonuçlarını gösterir
- CI/CD derlemeleriyle aynı bağımsız değişkenleri kullanır
Görüntü 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 ortam değişkenleri kullanılarak ç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 Kapsayıcısı
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 görüntüsü, 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 ana makinede, başka bir Docker kapsayıcısında veya uzak bir ana bilgisayarda çalışıp çalışmadığına bağlıdır. Couchbase sunucunuz ana makinenizde çalışıyorsa, bağlantı dizeniz büyük olasılıklacouchbase://host.docker.internalbiçiminde olacaktır. Ayrıntılar için docker dokümantasyonuna bakın.- Kapsayıcının ağını
--network=<your_network>seçeneğini kullanarak belirleyebilirsiniz. Seçeceğiniz ağ ortamınıza bağlıdır; varsayılanbridge'dir. Ayrıntılar için docker'da ağ sürücülerine bakın.
LLM'lerle İlişkili Riskler
- Büyük dil modellerinin ve benzer teknolojilerin kullanımı, yanlış veya zararlı çıktılar olasılığı da dahil olmak üzere riskler içerir.
- Couchbase, bu tür çıktıların kalitesini veya doğruluğunu incelemez veya değerlendirmez ve bu tür çıktılar Couchbase'in görüşlerini yansıtmayabilir.
- Büyük dil modellerini ve ilgili teknolojiyi kullanıp kullanmamaya karar vermek ve her türlü lisans koşuluna, kullanım koşullarına ve kuruluşunuzun bu kullanımı yöneten politikalarına uymak yalnızca sizin sorumluluğunuzdadır.
Kullanım Verisi Toplama
Bu ürün otomatik olarak kullanım ve performans verilerini (ürün adı ve sürümü gibi) ve tarayıcı bilgilerini (IP adresi gibi) toplar (toplu olarak "Kullanım Verileri"). Couchbase, Kullanım Verilerini, bize sağlayabileceğiniz diğer verilerle (kullanıcı adınız veya e-posta adresiniz gibi) birlikte ürünlerimizi geliştirmek ve iyileştirmek ve satış ve pazarlama programlarımızı bilgilendirmek için kullanır. Couchbase ürünlerinde sakladığınız hiçbir veriye erişmez veya toplamayız. Kullanım Verilerini, toplu kullanım kalıplarını anlamak ve ürünlerimizi sizin için daha kullanışlı hale getirmek için kullanırız. Couchbase'in bilgileri nasıl topladığı, koruduğu ve işlediği hakkında daha fazla bilgi için lütfen şu adreste görüntülenebilen Couchbase Gizlilik Politikasına başvurun: https://www.couchbase.com/privacy-policy.
Sorun Giderme İpuçları
- MCP sunucu deposunun yolunun, kaynaktan çalıştırıyorsanız yapılandırmada 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 doğrulayın. Yapılandırmadakicommandalanınauv/uvxiçin mutlak yol sağlamanız 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 MCP sunucunuzu kaynaktan ç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ı açığa çıkardığını ve bu araçların demo bir 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 araştırılacak bir bucket)
- Testleri çalıştırın:
uv run pytest tests/ -v
👩💻 Katkıda Bulunma
Topluluktan gelen katkıları memnuniyetle karşılıyoruz! Hataları düzeltmek, özellik eklemek veya belgeleri iyileştirmek istiyorsanız, yardımınız takdir edilir.
Yardıma ihtiyacınız varsa, bir hata bulduysanız veya iyileştirmelere katkıda bulunmak istiyorsanız, bunu yapmak için en iyi yer tam da burasıdır — bir GitHub sorunu açarak.
Geliştiriciler İçin
Kod katkısında bulunmak veya bir geliştirme ortamı kurmak istiyorsanı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 linting ve biçimlendirme
- Pre-commit hook'ları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 ilgiyi içtenlikle takdir ediyoruz! Bu proje Couchbase topluluğu tarafından bakımı yapılmaktadır, yani destek ekibimiz tarafından resmi olarak desteklenmemektedir. Ancak mühendislerimiz bu depoyu aktif olarak izlemekte ve sürdürmektedir; sorunları en iyi çaba temelinde çözmeye çalışacaklardır.
Destek portalımız bu projeyle ilgili isteklere yardımcı olamamaktadır; bu nedenle tüm soruların GitHub içinde kalmasını rica ediyoruz.
İş birliğiniz hep birlikte ilerlememize yardımcı oluyor — teşekkürler!