Couchbase

offiziell

Interagieren Sie mit den in Couchbase-Clustern gespeicherten Daten mithilfe natürlicher Sprache.

Was kann man mit Couchbase MCP machen?

Bitten Sie Ihren Assistenten, die Cluster-Gesundheit zu überprüfen, Schemas zu erkunden, SQL++-Abfragen auszuführen und Dokumente in Ihrem Couchbase-Cluster zu verwalten.

  • SQL++-Abfragen ausführen — Bitten Sie Ihren Assistenten, Daten mit run_sql_plus_plus_query abzufragen, automatisch auf einen Bucket und eine Collection begrenzt.
  • Schema erkunden — Entdecken Sie Buckets, Scopes und Collections über get_buckets_in_cluster und get_schema_for_collection.
  • Dokumente verwalten — Lesen, aktualisieren oder löschen Sie Dokumente per ID mit get_document_by_id und upsert_document_by_id.
  • Cluster-Gesundheit prüfen — Überprüfen Sie Konnektivität und Servicestatus mit test_cluster_connection und get_cluster_health_and_services.
  • Indizes optimieren — Listen Sie Indizes auf und erhalten Sie Empfehlungen über list_indexes und get_index_advisor_recommendations.
  • Abfrageleistung analysieren — Finden Sie langsame oder nicht-selektive Abfragen mit get_longest_running_queries und get_queries_using_primary_index.

Dokumentation

Couchbase MCP Server

Couchbase MCP Server ist ein selbst gehosteter MCP-Server, der es KI-Agenten ermöglicht, sich mit Daten in Couchbase-Clustern zu verbinden und mit ihnen zu interagieren, egal ob sie auf Capella oder selbstverwaltet gehostet werden. Er bietet Tools in den Kategorien Cluster-Health, Datenschema, Key-Value, Query und Performance – mit Sicherheitskontrollen über den Nur-Lese-Modus und die feingranulare Deaktivierung von Tools. Er unterstützt sowohl STDIO- als auch Streamable-HTTP-Transports.

Couchbase MCP Server wird als Python Package Index (PyPI)-Paket und über Docker verteilt. Enterprise-Support für Couchbase MCP Server ist durch die Lizenzierung von Couchbase AI Data Plane verfügbar, die auch die Nutzung und den Enterprise-Support von Couchbase Agent Memory und Couchbase Agent Catalog umfasst.

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

Für die vollständige Dokumentation besuchen Sie mcp-server.couchbase.com.

Couchbase Server MCP server

Funktionen/Tools

Cluster-Setup- und Health-Tools

Tool-NameBeschreibung
get_server_configuration_statusRuft den Serverstatus und die Konfiguration ab, ohne eine Verbindung zum Cluster herzustellen – meldet den Nur-Lese-Modus, deaktivierte/bestätigungspflichtige Tools, OAuth-Einstellungen und die aufgelöste Logging-Konfiguration
test_cluster_connectionÜberprüft die Cluster-Anmeldeinformationen, indem eine Verbindung zum Cluster hergestellt wird
get_cluster_health_and_servicesRuft den Cluster-Health-Status und die Liste aller laufenden Dienste ab

Datenmodell- und Schema-Erkennungstools

Tool-NameBeschreibung
get_buckets_in_clusterRuft eine Liste aller Buckets im Cluster ab
get_scopes_in_bucketRuft eine Liste aller Scopes im angegebenen Bucket ab
get_collections_in_scopeRuft eine Liste aller Collections in einem angegebenen Scope und Bucket ab. Beachten Sie, dass dieses Tool den Query-Dienst im Cluster erfordert.
get_scopes_and_collections_in_bucketRuft eine Liste aller Scopes und Collections im angegebenen Bucket ab
get_schema_for_collectionRuft die Struktur einer Collection ab
create_scopeErstellt einen neuen Scope in einem Bucket (Couchbase Server 7.6+ und Capella). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
create_collectionErstellt eine neue Collection in einem vorhandenen Scope (Couchbase Server 7.6+ und Capella). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
delete_scopeLöscht einen Scope und alle seine Collections aus einem Bucket – dauerhaft. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
delete_collectionLöscht eine Collection und alle ihre Dokumente aus einem Scope – dauerhaft. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.

Dokument-KV-Operationstools

Tool-NameBeschreibung
get_document_by_idRuft ein Dokument anhand der ID aus einem angegebenen Scope und einer Collection ab
lookup_subdocumentSucht Teile eines Dokuments (bestimmte Felder, Existenzprüfungen oder Array/Objekt-Zählungen) anhand des Pfads, ohne das gesamte Dokument abzurufen
upsert_document_by_idFügt ein Dokument per ID in einen angegebenen Scope und eine Collection ein (Upsert). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
insert_document_by_idFügt ein neues Dokument per ID ein (schlägt fehl, wenn das Dokument existiert). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
replace_document_by_idErsetzt ein vorhandenes Dokument per ID (schlägt fehl, wenn das Dokument nicht existiert). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
delete_document_by_idLöscht ein Dokument per ID aus einem angegebenen Scope und einer Collection. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
mutate_subdocumentÄndert Teile eines vorhandenen Dokuments (Upsert, Insert, Replace, Remove, Array-Operationen, Zähler) anhand des Pfads, ohne das gesamte Dokument neu zu schreiben. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.

Query- und Indizierungstools

Tool-NameBeschreibung
list_indexesListet alle Indizes im Cluster mit ihren Definitionen auf, mit optionaler Filterung nach Bucket, Scope, Collection und Indexname. Setzen Sie return_raw_index_stats=true, um die unverarbeiteten Indexinformationen zurückzugeben.
get_index_advisor_recommendationsRuft Indexempfehlungen vom Couchbase Index Advisor für eine bestimmte SQL++-Abfrage ab, um die Abfrageleistung zu optimieren
create_indexErstellt einen skalaren (nicht-vektoriellen) GSI-Sekundärindex auf einer Collection. Standardmäßig aufgeschoben – rufen Sie danach build_index auf, um ihn zu erstellen. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
build_indexLöst den Aufbau aller aufgeschobenen Indizes auf einer Collection aus. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
drop_indexEntfernt einen GSI-Index (skalar oder vektoriell) aus einer Collection. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true.
run_sql_plus_plus_queryFühren Sie eine SQL++-Abfrage in einem angegebenen Scope aus.

Abfragen werden automatisch auf den angegebenen Bucket und Scope beschränkt, verwenden Sie also direkt Collection-Namen (z. B. SELECT * FROM users statt SELECT * FROM bucket.scope.users).

CB_MCP_READ_ONLY_MODE ist standardmäßig true, was bedeutet, dass alle Schreiboperationen (KV, Query, Scope/Collection-Verwaltung und Indexverwaltung) deaktiviert sind. Wenn aktiviert, werden KV-, Collection-Verwaltungs- und Index-Schreibtools nicht geladen und SQL++-Abfragen, die Daten ändern, werden blockiert.
explain_sql_plus_plus_queryGeneriert und bewertet einen EXPLAIN-Plan für eine SQL++-Abfrage. Gibt Abfragemetadaten, extrahierten Plan und Planbewertungsergebnisse zurück.

Tools zur Analyse der Abfrageleistung

Tool-NameBeschreibung
get_longest_running_queriesRuft die am längsten laufenden Abfragen nach durchschnittlicher Dienstzeit ab
get_most_frequent_queriesRuft die am häufigsten ausgeführten Abfragen ab
get_queries_with_largest_response_sizesRuft Abfragen mit den größten Antwortgrößen ab
get_queries_with_large_result_countRuft Abfragen mit den größten Ergebnismengen ab
get_queries_using_primary_indexRuft Abfragen ab, die einen Primärindex verwenden (potenzielles Leistungsproblem)
get_queries_not_using_covering_indexRuft Abfragen ab, die keinen abdeckenden Index verwenden
get_queries_not_selectiveRuft Abfragen ab, die nicht selektiv sind (Index-Scans geben viel mehr Dokumente zurück als das Endergebnis)

Voraussetzungen

  • Python 3.10 oder höher.
  • Ein laufender Couchbase-Cluster. Der einfachste Einstieg ist die Nutzung des Capella Free-Tiers, der eine vollständig verwaltete Version des Couchbase-Servers ist. Sie können den Anweisungen folgen, um einen der Beispieldatensätze zu importieren oder eigene Daten zu importieren.
  • uv installiert, um den Server auszuführen.
  • Ein MCP-Client wie Claude Desktop installiert, um den Server mit Claude zu verbinden. Die Anweisungen werden für Claude Desktop und Cursor bereitgestellt. Andere MCP-Clients können ebenfalls verwendet werden.

Konfiguration

Der MCP-Server kann entweder aus dem vorgefertigten PyPI-Paket oder aus dem Quellcode mit uv ausgeführt werden.

Ausführen von PyPI

Wir veröffentlichen ein vorgefertigtes PyPI-Paket für den MCP-Server.

Serverkonfiguration mit vorgefertigtem Paket für MCP-Clients

Basisauthentifizierung

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

oder

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"
      }
    }
  }
}

Hinweis: Wenn Sie andere MCP-Server im Client verwenden, können Sie ihn zum vorhandenen mcpServers-Objekt hinzufügen.

Ausführen aus dem Quellcode

Der MCP-Server kann aus dem Quellcode mit diesem Repository ausgeführt werden.

Klonen Sie das Repository auf Ihren lokalen Rechner

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

Serverkonfiguration mit Quellcode für MCP-Clients

Dies ist die übliche Konfiguration für MCP-Clients wie Claude Desktop, Cursor, Windsurf Editor.

{
  "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"
      }
    }
  }
}

Hinweis: path/to/cloned/repo/mcp-server-couchbase/ sollte der Pfad zum geklonten Repository auf Ihrem lokalen Rechner sein. Vergessen Sie nicht den abschließenden Schrägstrich am Ende!

Hinweis: Wenn Sie andere MCP-Server im Client verwenden, können Sie ihn zum vorhandenen mcpServers-Objekt hinzufügen.

Zusätzliche Konfiguration für den MCP-Server

Der Server kann mithilfe von Umgebungsvariablen oder Befehlszeilenargumenten konfiguriert werden:

UmgebungsvariableCLI-ArgumentBeschreibungStandard
CB_CONNECTION_STRING--connection-stringVerbindungs-String zum Couchbase-ClusterErforderlich
CB_USERNAME--usernameBenutzername mit Zugriff auf die erforderlichen Buckets für die BasisauthentifizierungErforderlich (oder Client-Zertifikat und Schlüssel für mTLS erforderlich)
CB_PASSWORD--passwordPasswort für die BasisauthentifizierungErforderlich (oder Client-Zertifikat und Schlüssel für mTLS erforderlich)
CB_CLIENT_CERT_PATH--client-cert-pathPfad zur Client-Zertifikatsdatei für die mTLS-AuthentifizierungErforderlich bei Verwendung von mTLS (oder Benutzername und Passwort erforderlich)
CB_CLIENT_KEY_PATH--client-key-pathPfad zur Client-Schlüsseldatei für die mTLS-AuthentifizierungErforderlich bei Verwendung von mTLS (oder Benutzername und Passwort erforderlich)
CB_CA_CERT_PATH--ca-cert-pathPfad zum Root-Zertifikat des Servers für TLS, wenn der Server mit einem selbstsignierten/nicht vertrauenswürdigen Zertifikat konfiguriert ist. Dies ist nicht erforderlich, wenn Sie sich mit Capella verbinden.
CB_MCP_READ_ONLY_MODE--read-only-modeVerhindert alle Datenänderungen (KV, Query, Scope-/Collection-Verwaltung und Indexverwaltung). Wenn aktiviert, werden KV-, Collection-Verwaltungs- und Index-Schreibtools nicht geladen.true
CB_MCP_TRANSPORT--transportTransportmodus: stdio, http, ssestdio
CB_MCP_HOST--hostHost für HTTP/SSE-Transportmodi127.0.0.1
CB_MCP_PORT--portPort für HTTP/SSE-Transportmodi8000
CB_MCP_DISABLED_TOOLS--disabled-toolsZu deaktivierende Tools (siehe Deaktivieren von Tools)Keine
CB_MCP_CONFIRMATION_REQUIRED_TOOLS--confirmation-required-toolsTools, die vor der Ausführung eine explizite Benutzerbestätigung per MCP-Elicitation erfordern (siehe Elicitation/Bestätigung erfordernde Tools)Keine
CB_MCP_LOG_LEVEL--log-levelProtokollebene für den MCP-Server: off, debug, info, warning, error (siehe Logging)info
CB_MCP_LOG_SINKS--log-sinksKommagetrennte Protokollziele: stderr, file, oder beide (siehe Logging)stderr
CB_MCP_LOG_FILE--log-fileBasisverzeichnis für Protokolldateien pro Ebene (nur verwendet, wenn die file-Senke aktiviert ist)mcp_server.log
CB_MCP_LOG_ROTATION_MAX_SIZE_MB--log-rotation-max-size-mbGlobale maximale Größe in MB pro Protokolldatei vor der Rotation, von jeder Ebene geerbt, sofern nicht überschrieben. 0 ist ungültig und fällt mit einer Startwarnung auf die Standardeinstellung zurück.1 (1 MB)
CB_MCP_LOG_MAX_BYTES--log-max-bytesVeraltet – verwenden Sie CB_MCP_LOG_ROTATION_MAX_SIZE_MB (MB). Globale Rotationsgröße in Bytes, aus Kompatibilitätsgründen weiterhin unterstützt; wird ignoriert, wenn CB_MCP_LOG_ROTATION_MAX_SIZE_MB ebenfalls gesetzt ist.Nicht gesetzt
CB_MCP_LOG_ERROR_ROTATION_MAX_SIZE_MB--log-error-rotation-max-size-mbRotationsgröße in MB für die ERROR-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für ERRORErbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB
CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB--log-warning-rotation-max-size-mbRotationsgröße in MB für die WARNING-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für WARNINGErbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB
CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB--log-info-rotation-max-size-mbRotationsgröße in MB für die INFO-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für INFOErbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB
CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB--log-debug-rotation-max-size-mbRotationsgröße in MB für die DEBUG-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für DEBUGErbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB
CB_MCP_LOG_RETENTION_BACKUP_COUNT--log-retention-backup-countRotierte Sicherungsdateien, die pro Protokolldatei (ohne die aktive Datei) aufbewahrt werden, gelten für jede Ebene, sofern nicht überschrieben. 0 behält nur die aktive Datei (siehe Logging).1
CB_MCP_LOG_ERROR_RETENTION_BACKUP_COUNT--log-error-retention-backup-countRotierte Sicherungen, die für die ERROR-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für ERRORErbt CB_MCP_LOG_RETENTION_BACKUP_COUNT
CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT--log-warning-retention-backup-countRotierte Sicherungen, die für die WARNING-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für WARNINGErbt CB_MCP_LOG_RETENTION_BACKUP_COUNT
CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT--log-info-retention-backup-countRotierte Sicherungen, die für die INFO-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für INFOErbt CB_MCP_LOG_RETENTION_BACKUP_COUNT
CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT--log-debug-retention-backup-countRotierte Sicherungen, die für die DEBUG-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für DEBUGErbt CB_MCP_LOG_RETENTION_BACKUP_COUNT
CB_MCP_OAUTH_JWT_JWKS_URI--oauth-jwks-uriJWKS-Endpunkt des Identitätsanbieters zur Verifizierung von Bearer-JWTs. Aktiviert OAuth, wenn zusammen mit Issuer und Audience gesetzt (siehe OAuth 2.1 Authorization).Keine
CB_MCP_OAUTH_JWT_ISSUER--oauth-issuerErwarteter JWT-iss-Anspruch. Erforderlich, um OAuth zu aktivieren.Keine
CB_MCP_OAUTH_JWT_AUDIENCE--oauth-audienceErwarteter JWT-aud-Anspruch. Erforderlich, um OAuth zu aktivieren.Keine
CB_MCP_OAUTH_JWT_ALGORITHM--oauth-algorithmJWT-Signaturalgorithmus: einer von RS256/384/512, ES256/384/512, PS256/384/512RS256
CB_MCP_OAUTH_MCP_BASE_URL--oauth-mcp-base-urlÖffentliche Basis-URL dieses Servers. Wenn gesetzt, veröffentlicht RFC 9728 Protected Resource Metadata, damit PRM-fähige Clients den IdP entdecken können.Keine
CB_MCP_OAUTH_SCOPE_READ_LABEL--oauth-scope-read-labelÜberschreibt die OAuth-Scope-Kennzeichnung, die als 'Lese'-Zugriff behandelt wird (in PRM beworben und gegen den scope/scp-Anspruch des Tokens geprüft). Verwenden Sie dies, wenn Ihr IdP die kanonische Form nicht ausgeben kann.couchbase-mcp:read
CB_MCP_OAUTH_SCOPE_WRITE_LABEL--oauth-scope-write-labelÜberschreibt die OAuth-Scope-Kennzeichnung, die als 'Schreib'-Zugriff behandelt wird; gleiche Semantik wie die Lese-Kennzeichnung.couchbase-mcp:write

Konfiguration des Nur-Lese-Modus

CB_MCP_READ_ONLY_MODE ist der einzige Schalter, der Schreiboperationen steuert:

  • Wenn true (Standard): Alle Schreiboperationen (KV, Query, Scope-/Collection-Verwaltung und Indexverwaltung) sind deaktiviert. KV-Schreibtools (upsert, insert, replace, delete, sub-document mutate), Scope-/Collection-Verwaltungsschreibtools (create_scope, create_collection, delete_scope, delete_collection) und Index-Schreibtools (create_index, build_index, drop_index) sind nicht geladen und stehen dem LLM nicht zur Verfügung, und SQL++-Abfragen, die Daten oder Strukturen ändern, werden blockiert.
  • Wenn false: KV-, Scope-/Collection-Verwaltungs- und Index-Schreibtools sind geladen und SQL++-Abfragen zur Daten-/Strukturänderung sind erlaubt.

Dies ist die empfohlene sichere Standardeinstellung, um unbeabsichtigte Datenänderungen durch LLMs zu verhindern.

Hinweis: Für die Authentifizierung benötigen Sie entweder den Benutzernamen und das Passwort oder das Client-Zertifikat und die Schlüsselpfade. Optional können Sie den CA-Root-Zertifikatspfad angeben, der zur Validierung der Serverzertifikate verwendet wird. Wenn sowohl der Client-Zertifikat- und Schlüsselpfad als auch Benutzername und Passwort angegeben sind, werden die Client-Zertifikate für die Authentifizierung verwendet.

Deaktivieren von Tools

Sie können bestimmte Tools deaktivieren, um zu verhindern, dass sie geladen und dem MCP-Client ausgesetzt werden. Deaktivierte Tools erscheinen nicht in der Tool-Erkennung und können nicht vom LLM aufgerufen werden.

Unterstützte Formate

Kommagetrennte 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

Dateipfad (ein Toolname pro Zeile):

# Environment variable
CB_MCP_DISABLED_TOOLS=disabled_tools.txt

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

Dateiformat (z.B. disabled_tools.txt):

# Write operations
upsert_document_by_id
delete_document_by_id

# Index advisor
get_index_advisor_recommendations

Zeilen, die mit # beginnen, werden als Kommentare behandelt und ignoriert.

MCP-Client-Konfigurationsbeispiele

Verwendung einer Kommagetrennten Liste:

{
  "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"
      }
    }
  }
}

Verwendung eines Dateipfads (empfohlen für viele Tools):

{
  "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"
      }
    }
  }
}

Wichtiger Sicherheitshinweis

Warnung: Das alleinige Deaktivieren von Tools garantiert nicht, dass bestimmte Operationen nicht ausgeführt werden können. Die RBAC-Berechtigungen (Role-Based Access Control) des zugrunde liegenden Datenbankbenutzers sind die maßgebliche Sicherheitskontrolle.

Wenn Sie beispielsweise upsert_document_by_id und delete_document_by_id deaktivieren, können Datenänderungen weiterhin über das Tool run_sql_plus_plus_query mit SQL++-DML-Anweisungen (INSERT, UPDATE, DELETE, MERGE) erfolgen, sofern nicht:

  • CB_MCP_READ_ONLY_MODE auf true gesetzt ist (Standard), ODER
  • Der Datenbankbenutzer nicht über die erforderlichen RBAC-Berechtigungen für Datenänderungen verfügt

Bewährte Praxis: Konfigurieren Sie immer angemessene RBAC-Berechtigungen für Ihre Couchbase-Benutzerdaten als primäre Sicherheitsmaßnahme. Verwenden Sie die Deaktivierung von Tools als zusätzliche Ebene, um das LLM-Verhalten zu steuern und die Angriffsfläche zu verringern, nicht als alleinige Sicherheitskontrolle.

Elicitation/Bestätigung für Tool-Aufrufe

Sie können für bestimmte Tools vor der Ausführung eine explizite Benutzerbestätigung verlangen (wenn der MCP-Client Elicitation unterstützt).

CB_MCP_CONFIRMATION_REQUIRED_TOOLS / --confirmation-required-tools unterstützt diese Formate:

  • Kommagetrennte Liste
  • Dateipfad (ein Toolname pro Zeile, #-Kommentare unterstützt)

Beispiel:

# 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

Wenn ein aufgelistetes Tool aufgerufen wird:

  • Wenn der Client Elicitation unterstützt, wird der Benutzer zur Bestätigung aufgefordert.
  • Wenn der Client keine Elicitation unterstützt, wird das Tool ohne Bestätigung ausgeführt, um Abwärtskompatibilität zu gewährleisten.

Sie können auch die Version des Servers überprüfen mit:

uvx couchbase-mcp-server --version

Protokollierung

Der MCP-Server protokolliert standardmäßig in stderr. Die Protokollierung wird mit den CB_MCP_LOG_*-Variablen konfiguriert, die in Zusätzliche Konfiguration aufgeführt sind:

  • CB_MCP_LOG_LEVEL — wie viel protokolliert wird: info (Standard) protokolliert Lebenszyklus-Ereignisse und Tool-Aufrufe, debug fügt ausführliche interne Details hinzu, und off deaktiviert die gesamte Protokollierung.
  • CB_MCP_LOG_SINKS — wohin Protokolle gehen: stderr (Standard), rotierende Dateien pro Ebene (file) oder beides. Mit file wird pro Ebene eine Datei geschrieben (z.B. mcp_server.info.log und mcp_server.error.log) am Pfad, der von CB_MCP_LOG_FILE festgelegt wird.
  • RotationsgrößeCB_MCP_LOG_ROTATION_MAX_SIZE_MB ist die globale Größe (in MB), bei der jede Datei pro Ebene rotiert. Überschreiben Sie einzelne Ebenen mit CB_MCP_LOG_<LEVEL>_ROTATION_MAX_SIZE_MB (ERROR/WARNING/INFO/DEBUG), ebenfalls in MB, die den globalen Wert erben, wenn nicht gesetzt. Eine Größe von 0 (global oder pro Ebene) ist ungültig und fällt mit einer Startwarnung auf den Standardwert (1 MB) zurück. CB_MCP_LOG_MAX_BYTES (Bytes) ist veraltet, wird aber aus Gründen der Abwärtskompatibilität weiterhin unterstützt; es wird ignoriert, wenn CB_MCP_LOG_ROTATION_MAX_SIZE_MB ebenfalls gesetzt ist, und gibt beim Start eine Veraltungs-Warnung aus.
  • AufbewahrungCB_MCP_LOG_RETENTION_BACKUP_COUNT legt fest, wie viele rotierte Sicherungen pro Ebene aufbewahrt werden (ohne die aktive Datei); der Standardwert von 1 erhält das bisherige Verhalten. Überschreiben Sie einzelne Ebenen mit CB_MCP_LOG_<LEVEL>_RETENTION_BACKUP_COUNT (ERROR/WARNING/INFO/DEBUG), die den globalen Wert erben, wenn nicht gesetzt. Setzen Sie eine Anzahl auf 0, um nur die aktive Datei für diese Ebene zu behalten — sie ist weiterhin durch die Rotationsgröße begrenzt (beim Überlauf zurückgesetzt statt gesichert).
  • Serverkonfigurations-Snapshot — wenn die file-Senke aktiv ist, wird ein einmaliger Datensatz (OS, Python, Abhängigkeitsversionen, Transport, aufgelöste Protokollierungskonfiguration und geschwärzte Serverkonfiguration) als JSON in eine dedizierte mcp_server_config.log.json-Datei geschrieben (abgeleitet von der CB_MCP_LOG_FILE-Basis). Sie wird bei jedem Start überschrieben, sodass der Support immer die aktuelle Konfiguration hat und sie nie aus einem rotierenden Protokoll herausrollt.
# 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

Weitere Details finden Sie in der Dokumentation.

Clientspezifische Konfiguration

Claude Desktop

Befolgen Sie die folgenden Schritte, um den Couchbase MCP-Server mit dem Claude Desktop MCP-Client zu verwenden

  1. Der MCP-Server kann nun zu Claude Desktop hinzugefügt werden, indem Sie die Konfigurationsdatei bearbeiten. Detailliertere Anweisungen finden Sie im MCP-Schnellstartleitfaden.

    • Auf dem Mac befindet sich die Konfigurationsdatei unter ~/Library/Application Support/Claude/claude_desktop_config.json
    • Unter Windows befindet sich die Konfigurationsdatei unter %APPDATA%\Claude\claude_desktop_config.json Öffnen Sie die Konfigurationsdatei und fügen Sie die Konfiguration zum Abschnitt mcpServers hinzu.
  2. Starten Sie Claude Desktop neu, um die Änderungen zu übernehmen.

  3. Sie können den Server nun in Claude Desktop verwenden, um Abfragen an den Couchbase-Cluster in natürlicher Sprache auszuführen und CRUD-Operationen an Dokumenten durchzuführen.

Logs

Die Logs für Claude Desktop finden Sie an den folgenden Orten:

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

Die Logs können verwendet werden, um Verbindungsprobleme oder andere Probleme mit Ihrer MCP-Server-Konfiguration zu diagnostizieren. Weitere Details finden Sie in der offiziellen Dokumentation.

Cursor

Befolgen Sie die folgenden Schritte, um den Couchbase MCP-Server mit Cursor zu verwenden:

  1. Installieren Sie Cursor auf Ihrem Rechner.

  2. Gehen Sie in Cursor zu Cursor > Cursor-Einstellungen > Tools & Integrationen > MCP-Tools. Lesen Sie auch die Dokumentation zum Einrichten der MCP-Server-Konfiguration von Cursor.

  3. Geben Sie dieselbe Konfiguration manuell an oder verwenden Sie den Ein-Klick-Link In Cursor installieren. Möglicherweise müssen Sie die Serverkonfiguration unter einem übergeordneten Schlüssel mcpServers hinzufügen.

    Hinweis: Der Installationslink verwendet Platzhalterwerte aus den obigen Konfigurationsbeispielen. Aktualisieren Sie die Verbindungszeichenfolge und die Anmeldeinformationen nach der Installation.

  4. Speichern Sie die Konfiguration.

  5. Sie sehen couchbase als hinzugefügten Server in der MCP-Serverliste. Aktualisieren Sie, um zu sehen, ob der Server aktiviert ist.

  6. Sie können den Couchbase MCP-Server nun in Cursor verwenden, um Ihren Couchbase-Cluster in natürlicher Sprache abzufragen und CRUD-Operationen an Dokumenten durchzuführen.

Weitere Details zur MCP-Integration mit Cursor finden Sie in der offiziellen Cursor-MCP-Dokumentation.

Logs

Klicken Sie im unteren Bereich von Cursor auf „Ausgabe" und wählen Sie „Cursor MCP" aus dem Dropdown-Menü, um Server-Logs anzuzeigen. Dies kann helfen, Verbindungsprobleme oder andere Probleme mit Ihrer MCP-Server-Konfiguration zu diagnostizieren.

Windsurf Editor

Befolgen Sie die folgenden Schritte, um den Couchbase MCP-Server mit Windsurf Editor zu verwenden.

  1. Installieren Sie Windsurf Editor auf Ihrem Rechner.

  2. Navigieren Sie in Windsurf Editor zu Befehlspalette > Windsurf-MCP-Konfigurationspanel oder Windsurf - Einstellungen > Erweitert > Cascade > Model Context Protocol (MCP)-Server. Weitere Details zur Konfiguration finden Sie in der offiziellen Dokumentation.

  3. Klicken Sie auf Server hinzufügen und dann auf Benutzerdefinierten Server hinzufügen. Fügen Sie in der Konfiguration, die sich im Editor öffnet, die Konfiguration des Couchbase MCP-Servers von oben hinzu.

  4. Speichern Sie die Konfiguration.

  5. Sie sehen couchbase als hinzugefügten Server in der MCP-Serverliste unter Erweiterte Einstellungen. Aktualisieren Sie, um zu sehen, ob der Server aktiviert ist.

  6. Sie können den Couchbase MCP-Server nun in Windsurf Editor verwenden, um Ihren Couchbase-Cluster in natürlicher Sprache abzufragen und CRUD-Operationen an Dokumenten durchzuführen.

Weitere Details zur MCP-Integration mit Windsurf Editor finden Sie in der offiziellen Windsurf-MCP-Dokumentation.

VS Code

Befolgen Sie die folgenden Schritte, um den Couchbase MCP-Server mit VS Code zu verwenden.

  1. Installieren Sie VS Code

  2. Es gibt mehrere Möglichkeiten, den MCP-Server zu konfigurieren.

    • Für eine Workspace-Serverkonfiguration

      • Erstellen Sie eine neue Datei im Workspace als .vscode/mcp.json.
      • Fügen Sie die Konfiguration hinzu und speichern Sie die Datei.
    • Für die globale Serverkonfiguration:

      • Führen Sie MCP: Benutzerkonfiguration öffnen in der Befehlspalette aus (Ctrl+Shift+P oder Cmd+Shift+P)
      • Fügen Sie die Konfiguration hinzu und speichern Sie die Datei.
    • Hinweis: VS Code verwendet servers als oberste JSON-Eigenschaft in mcp.json-Dateien, um MCP-Server (Model Context Protocol) zu definieren, während Cursor mcpServers für die entsprechende Konfiguration verwendet. Überprüfen Sie die VS-Code-Clientkonfigurationen auf weitere Änderungen oder Details. Ein Beispiel für eine VS-Code-Konfiguration finden Sie unten.

        {
          "servers": {
            "couchbase": {
              "command": "uvx",
              "args": ["couchbase-mcp-server"],
              "env": {
                "CB_CONNECTION_STRING": "couchbases://connection-string",
                "CB_USERNAME": "username",
                "CB_PASSWORD": "password"
              }
            }
          }
        }
      
  3. Sobald Sie die Datei speichern, startet der Server und eine kleine Aktionsliste mit Running|Stop|n Tools|More.. erscheint.

  4. Klicken Sie auf die Optionen aus der Optionsliste, um den Server zu Start/Stop/verwalten.

  5. Sie können den Couchbase MCP-Server nun in VS Code verwenden, um Ihren Couchbase-Cluster in natürlicher Sprache abzufragen und CRUD-Operationen an Dokumenten durchzuführen.

Logs: In der Befehlspalette (Ctrl+Shift+P oder Cmd+Shift+P),

  • führen Sie den Befehl MCP: Server auflisten aus und wählen Sie den Couchbase-Server
  • wählen Sie „Ausgabe anzeigen", um seine Logs im Ausgabetab zu sehen.
JetBrains-IDEs

Befolgen Sie die folgenden Schritte, um den Couchbase MCP-Server mit JetBrains-IDEs zu verwenden.

  1. Installieren Sie eine der JetBrains-IDEs
  2. Installieren Sie eines der JetBrains-Plugins - AI Assistant oder Junie
  3. Navigieren Sie zu Einstellungen > Tools > AI Assistant oder Junie > MCP-Server
  4. Klicken Sie auf „+", um die Couchbase-MCP-Konfiguration hinzuzufügen, und klicken Sie auf Speichern.
  5. Sie sehen den Couchbase MCP-Server in der Liste der Server. Sobald Sie auf Übernehmen klicken, startet der Couchbase MCP-Server und beim Überfahren mit der Maus zeigt er alle verfügbaren Tools an.
  6. Sie können den Couchbase MCP-Server nun in JetBrains-IDEs verwenden, um Ihren Couchbase-Cluster in natürlicher Sprache abzufragen und CRUD-Operationen an Dokumenten durchzuführen.

Logs: Die Logdatei kann unter Hilfe > Logs im Finder (Explorer) anzeigen > mcp > couchbase eingesehen werden.

Streamable-HTTP-Transportmodus

Der MCP-Server kann im Streamable-HTTP-Transportmodus ausgeführt werden, der es mehreren Clients ermöglicht, sich über HTTP mit derselben Serverinstanz zu verbinden. Überprüfen Sie, ob Ihr MCP-Client den Streamable-HTTP-Transport unterstützt, bevor Sie versuchen, sich in diesem Modus mit dem MCP-Server zu verbinden.

Hinweis: OAuth-2.1-Autorisierung wird bei diesem Transport unterstützt. Siehe OAuth-2.1-Autorisierung. Ohne konfiguriertes OAuth ist der HTTP-Endpunkt nicht authentifiziert.

Verwendung

Standardmäßig läuft der MCP-Server auf Port 8000, dies kann jedoch über die Umgebungsvariable --port oder CB_MCP_PORT konfiguriert werden.

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

Der Server ist unter http://localhost:8000/mcp verfügbar. Dies kann in MCP-Clients verwendet werden, die den Streamable-HTTP-Transportmodus unterstützen, wie z. B. Cursor.

MCP-Client-Konfiguration

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

SSE-Transportmodus

Es gibt die Option, den MCP-Server im Server-Sent-Events (SSE)-Transportmodus auszuführen.

Hinweis: Der SSE-Modus wurde von MCP veraltet. Wir unterstützen Streamable-HTTP.

SSE: Verwendung

Standardmäßig läuft der MCP-Server auf Port 8000, dies kann jedoch über die Umgebungsvariable --port oder CB_MCP_PORT konfiguriert werden.

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

Der Server ist unter http://localhost:8000/sse verfügbar. Dies kann in MCP-Clients verwendet werden, die den SSE-Transportmodus unterstützen, wie z. B. Cursor.

SSE: MCP-Client-Konfiguration

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

OAuth-2.1-Autorisierung

Wenn der Server mit --transport=http ausgeführt wird, kann er als OAuth-2.1-Ressourcenserver fungieren: Er validiert eingehende Bearer-JWTs gegen das JWKS Ihres Identitätsanbieters. Er ist anbieterunabhängig (jeder OAuth-2.1-/OIDC-Anbieter, der ein JWKS veröffentlicht – Auth0, Okta, Keycloak, AWS Cognito, Microsoft Entra usw.) und gibt keine Token aus und verwaltet keine Benutzer. OAuth-Einstellungen werden bei stdio ignoriert.

OAuth wird mit den CB_MCP_OAUTH_*-Variablen konfiguriert, die in Zusätzliche Konfiguration aufgeführt sind:

  • OAuth wird nur aktiviert, wenn alle drei von CB_MCP_OAUTH_JWT_JWKS_URI, CB_MCP_OAUTH_JWT_ISSUER und CB_MCP_OAUTH_JWT_AUDIENCE gesetzt sind; wenn nur einige davon gesetzt sind, schlägt der Start fehl.
  • Das Setzen von CB_MCP_OAUTH_MCP_BASE_URL veröffentlicht zusätzlich RFC-9728-Protected-Resource-Metadaten, sodass PRM-fähige Clients den Autorisierungsserver entdecken können.
  • Der Zugriff wird durch zwei Bereiche gesteuert, die aus dem scope/scp-Anspruch des Tokens gelesen werden: couchbase-mcp:read (Lesetools, einschließlich SQL++) und couchbase-mcp:write (Schreibtools: KV-Mutationen, Scope-/Collection-Verwaltung und Indexverwaltung). Für den vollständigen Zugriff sind beide erforderlich. Wenn Ihr IdP diese kanonischen Bezeichnungen nicht ausgeben kann, überschreiben Sie sie mit CB_MCP_OAUTH_SCOPE_READ_LABEL / CB_MCP_OAUTH_SCOPE_WRITE_LABEL.
uvx couchbase-mcp-server \
  --connection-string='<couchbase_connection_string>' \
  --username='<database_username>' \
  --password='<database_password>' \
  --transport=http \
  --oauth-jwks-uri='https://auth.example.com/.well-known/jwks.json' \
  --oauth-issuer='https://auth.example.com/' \
  --oauth-audience='couchbase-mcp-server' \
  --oauth-mcp-base-url='<public_base_url_of_this_server>'

Weitere Details finden Sie in der Dokumentation.

Docker-Image

Der MCP-Server kann auch als Docker-Container erstellt und ausgeführt werden. Vorgefertigte Images finden Sie auf DockerHub oder können über docker pull docker.io/couchbase/mcp-server:latest bezogen werden.

Alternativ sind wir Teil des Docker-MCP-Katalogs.

Image erstellen

docker build -t mcp/couchbase-src .
Erstellen mit Argumenten Wenn Sie mit den Build-Argumenten für Commit-Hash und Build-Zeit erstellen möchten, können Sie wie folgt erstellen:
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 .

Alternativ können Sie das bereitgestellte Build-Skript verwenden:

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

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

Dieses Skript automatisiert:

  • Akzeptiert einen optionalen Imagenamen-Parameter (Standard: mcp/couchbase-src)
  • Generiert Git-Commit-Hash und Build-Zeitstempel
  • Erstellt mehrere nützliche Tags (latest, <short-commit>)
  • Zeigt Build-Informationen und Ergebnisse an
  • Verwendet dieselben Argumente wie CI/CD-Builds

Image-Labels überprüfen:

# 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

Ausführen

Der MCP-Server kann mit den Umgebungsvariablen ausgeführt werden, die zur Konfiguration der Couchbase-Einstellungen verwendet werden. Die Umgebungsvariablen sind dieselben wie im Abschnitt „Zusätzliche Konfiguration“ beschrieben.

Unabhängiger Docker-Container

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

Die Umgebungsvariablen CB_MCP_PORT und CB_MCP_HOST gelten nur bei HTTP-Transportmodi wie http und sse.

Docker: MCP-Client-Konfiguration

Das Docker-Image kann im stdio-Transportmodus mit der folgenden Konfiguration verwendet werden.

{
  "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"
      ]
    }
  }
}

Hinweise

  • Der Wert von couchbase_connection_string hängt davon ab, ob der Couchbase-Server auf demselben Host-Rechner, in einem anderen Docker-Container oder auf einem entfernten Host läuft. Wenn Ihr Couchbase-Server auf Ihrem Host-Rechner läuft, hat Ihre Verbindungszeichenfolge wahrscheinlich die Form couchbase://host.docker.internal. Details finden Sie in der Docker-Dokumentation.
  • Sie können die Netzwerkkonfiguration des Containers über die Option --network=<your_network> festlegen. Das von Ihnen gewählte Netzwerk hängt von Ihrer Umgebung ab; der Standard ist bridge. Details finden Sie unter Netzwerktreiber in Docker.

Risiken im Zusammenhang mit LLMs

  • Die Verwendung großer Sprachmodelle und ähnlicher Technologien birgt Risiken, einschließlich der Möglichkeit ungenauer oder schädlicher Ausgaben.
  • Couchbase überprüft oder bewertet nicht die Qualität oder Genauigkeit solcher Ausgaben, und solche Ausgaben spiegeln möglicherweise nicht die Ansichten von Couchbase wider.
  • Sie sind allein dafür verantwortlich, zu entscheiden, ob Sie große Sprachmodelle und verwandte Technologien verwenden, und alle Lizenzbedingungen, Nutzungsbedingungen und Richtlinien Ihrer Organisation für deren Verwendung einzuhalten.

Erfassung von Nutzungsdaten

Dieses Produkt erfasst automatisch Nutzungs- und Leistungsdaten (wie Produktname und -version) sowie Browserinformationen (wie IP-Adresse) (zusammen „Nutzungsdaten“). Couchbase verwendet Nutzungsdaten zusammen mit anderen Daten, die Sie Couchbase möglicherweise zur Verfügung stellen (wie Ihren Benutzernamen oder Ihre E-Mail-Adresse), um unsere Produkte zu entwickeln und zu verbessern sowie unsere Vertriebs- und Marketingprogramme zu informieren. Wir greifen nicht auf Daten zu, die Sie in Couchbase-Produkten speichern, und sammeln diese auch nicht. Wir verwenden Nutzungsdaten, um aggregierte Nutzungsmuster zu verstehen und unsere Produkte für Sie nützlicher zu machen. Weitere Informationen darüber, wie Couchbase Informationen erfasst, schützt und verarbeitet, finden Sie in der Couchbase-Datenschutzrichtlinie unter https://www.couchbase.com/privacy-policy.

Tipps zur Fehlerbehebung

  • Stellen Sie sicher, dass der Pfad zu Ihrem MCP-Server-Repository in der Konfiguration korrekt ist, wenn Sie aus dem Quellcode ausführen.
  • Überprüfen Sie, dass Ihre Couchbase-Verbindungszeichenfolge, der Datenbank-Benutzername, das Passwort oder der Pfad zu den Zertifikaten korrekt sind.
  • Wenn Sie Couchbase Capella verwenden, stellen Sie sicher, dass der Cluster von der Maschine, auf der der MCP-Server läuft, zugänglich ist.
  • Überprüfen Sie, dass der Datenbank-Benutzer über die entsprechenden Berechtigungen verfügt, um auf mindestens einen Bucket zuzugreifen.
  • Bestätigen Sie, dass der Paketmanager uv ordnungsgemäß installiert und zugänglich ist. Möglicherweise müssen Sie den absoluten Pfad zu uv/uvx im Feld command in der Konfiguration angeben.
  • Überprüfen Sie die Protokolle auf Fehler oder Warnungen, die auf Probleme mit dem MCP-Server hinweisen könnten. Der Speicherort der Protokolle hängt von Ihrem MCP-Client ab.
  • Wenn Sie Probleme beim Ausführen Ihres MCP-Servers aus dem Quellcode feststellen, nachdem Sie Ihr lokales MCP-Server-Repository aktualisiert haben, versuchen Sie, uv sync auszuführen, um die Abhängigkeiten zu aktualisieren.

Integrationstests

Wir bieten hochrangige MCP-Integrationstests an, um zu überprüfen, dass der Server die erwarteten Tools bereitstellt und dass sie gegen einen Demo-Couchbase-Cluster aufgerufen werden können.

  1. Exportieren Sie die Anmeldeinformationen für den Demo-Cluster:
    • CB_CONNECTION_STRING
    • CB_USERNAME
    • CB_PASSWORD
    • Optional: CB_MCP_TEST_BUCKET (ein Bucket, der während der Tests überprüft werden soll)
  2. Führen Sie die Tests aus:
uv run pytest tests/ -v

👩‍💻 Beitragen

Wir begrüßen Beiträge aus der Community! Ob Sie Fehler beheben, Funktionen hinzufügen oder die Dokumentation verbessern möchten, Ihre Hilfe wird geschätzt.

Wenn Sie Hilfe benötigen, einen Fehler gefunden haben oder Verbesserungen beitragen möchten, ist der beste Ort dafür genau hier – indem Sie ein GitHub-Issue öffnen.

Für Entwickler

Wenn Sie daran interessiert sind, Code beizutragen oder eine Entwicklungsumgebung einzurichten:

📖 Siehe CONTRIBUTING.md für umfassende Anweisungen zur Entwicklungsumgebung, einschließlich:

  • Einrichtung der Entwicklungsumgebung mit uv
  • Code-Linting und -Formatierung mit Ruff
  • Installation von Pre-commit-Hooks
  • Überblick über die Projektstruktur
  • Entwicklungsworkflow und -praktiken

Schnellstart für Mitwirkende

# 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

📢 Support-Richtlinie

Wir schätzen Ihr Interesse an diesem Projekt sehr!

Dieses Projekt wird von der Couchbase-Community gepflegt, was bedeutet, dass es nicht offiziell unterstützt wird von unserem Support-Team. Unsere Ingenieure überwachen und pflegen dieses Repository jedoch aktiv und werden versuchen, Probleme nach bestem Bemühen zu lösen.

Unser Support-Portal kann bei Anfragen zu diesem Projekt nicht helfen, daher bitten wir Sie freundlich, alle Anfragen innerhalb von GitHub zu halten.

Ihre Zusammenarbeit hilft uns allen, gemeinsam voranzukommen – vielen Dank!