Couchbase
offiziellInteragieren 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_queryabzufragen, automatisch auf einen Bucket und eine Collection begrenzt. - Schema erkunden — Entdecken Sie Buckets, Scopes und Collections über
get_buckets_in_clusterundget_schema_for_collection. - Dokumente verwalten — Lesen, aktualisieren oder löschen Sie Dokumente per ID mit
get_document_by_idundupsert_document_by_id. - Cluster-Gesundheit prüfen — Überprüfen Sie Konnektivität und Servicestatus mit
test_cluster_connectionundget_cluster_health_and_services. - Indizes optimieren — Listen Sie Indizes auf und erhalten Sie Empfehlungen über
list_indexesundget_index_advisor_recommendations. - Abfrageleistung analysieren — Finden Sie langsame oder nicht-selektive Abfragen mit
get_longest_running_queriesundget_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.
Für die vollständige Dokumentation besuchen Sie mcp-server.couchbase.com.
Funktionen/Tools
Cluster-Setup- und Health-Tools
| Tool-Name | Beschreibung |
|---|---|
get_server_configuration_status | Ruft 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_services | Ruft den Cluster-Health-Status und die Liste aller laufenden Dienste ab |
Datenmodell- und Schema-Erkennungstools
| Tool-Name | Beschreibung |
|---|---|
get_buckets_in_cluster | Ruft eine Liste aller Buckets im Cluster ab |
get_scopes_in_bucket | Ruft eine Liste aller Scopes im angegebenen Bucket ab |
get_collections_in_scope | Ruft 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_bucket | Ruft eine Liste aller Scopes und Collections im angegebenen Bucket ab |
get_schema_for_collection | Ruft die Struktur einer Collection ab |
create_scope | Erstellt einen neuen Scope in einem Bucket (Couchbase Server 7.6+ und Capella). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true. |
create_collection | Erstellt eine neue Collection in einem vorhandenen Scope (Couchbase Server 7.6+ und Capella). Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true. |
delete_scope | Löscht einen Scope und alle seine Collections aus einem Bucket – dauerhaft. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true. |
delete_collection | Lö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-Name | Beschreibung |
|---|---|
get_document_by_id | Ruft ein Dokument anhand der ID aus einem angegebenen Scope und einer Collection ab |
lookup_subdocument | Sucht Teile eines Dokuments (bestimmte Felder, Existenzprüfungen oder Array/Objekt-Zählungen) anhand des Pfads, ohne das gesamte Dokument abzurufen |
upsert_document_by_id | Fü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_id | Fü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_id | Ersetzt 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_id | Lö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-Name | Beschreibung |
|---|---|
list_indexes | Listet 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_recommendations | Ruft Indexempfehlungen vom Couchbase Index Advisor für eine bestimmte SQL++-Abfrage ab, um die Abfrageleistung zu optimieren |
create_index | Erstellt 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_index | Löst den Aufbau aller aufgeschobenen Indizes auf einer Collection aus. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true. |
drop_index | Entfernt einen GSI-Index (skalar oder vektoriell) aus einer Collection. Standardmäßig deaktiviert, wenn CB_MCP_READ_ONLY_MODE=true. |
run_sql_plus_plus_query | Fü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_query | Generiert und bewertet einen EXPLAIN-Plan für eine SQL++-Abfrage. Gibt Abfragemetadaten, extrahierten Plan und Planbewertungsergebnisse zurück. |
Tools zur Analyse der Abfrageleistung
| Tool-Name | Beschreibung |
|---|---|
get_longest_running_queries | Ruft die am längsten laufenden Abfragen nach durchschnittlicher Dienstzeit ab |
get_most_frequent_queries | Ruft die am häufigsten ausgeführten Abfragen ab |
get_queries_with_largest_response_sizes | Ruft Abfragen mit den größten Antwortgrößen ab |
get_queries_with_large_result_count | Ruft Abfragen mit den größten Ergebnismengen ab |
get_queries_using_primary_index | Ruft Abfragen ab, die einen Primärindex verwenden (potenzielles Leistungsproblem) |
get_queries_not_using_covering_index | Ruft Abfragen ab, die keinen abdeckenden Index verwenden |
get_queries_not_selective | Ruft 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:
| Umgebungsvariable | CLI-Argument | Beschreibung | Standard |
|---|---|---|---|
CB_CONNECTION_STRING | --connection-string | Verbindungs-String zum Couchbase-Cluster | Erforderlich |
CB_USERNAME | --username | Benutzername mit Zugriff auf die erforderlichen Buckets für die Basisauthentifizierung | Erforderlich (oder Client-Zertifikat und Schlüssel für mTLS erforderlich) |
CB_PASSWORD | --password | Passwort für die Basisauthentifizierung | Erforderlich (oder Client-Zertifikat und Schlüssel für mTLS erforderlich) |
CB_CLIENT_CERT_PATH | --client-cert-path | Pfad zur Client-Zertifikatsdatei für die mTLS-Authentifizierung | Erforderlich bei Verwendung von mTLS (oder Benutzername und Passwort erforderlich) |
CB_CLIENT_KEY_PATH | --client-key-path | Pfad zur Client-Schlüsseldatei für die mTLS-Authentifizierung | Erforderlich bei Verwendung von mTLS (oder Benutzername und Passwort erforderlich) |
CB_CA_CERT_PATH | --ca-cert-path | Pfad 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-mode | Verhindert 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 | --transport | Transportmodus: stdio, http, sse | stdio |
CB_MCP_HOST | --host | Host für HTTP/SSE-Transportmodi | 127.0.0.1 |
CB_MCP_PORT | --port | Port für HTTP/SSE-Transportmodi | 8000 |
CB_MCP_DISABLED_TOOLS | --disabled-tools | Zu deaktivierende Tools (siehe Deaktivieren von Tools) | Keine |
CB_MCP_CONFIRMATION_REQUIRED_TOOLS | --confirmation-required-tools | Tools, 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-level | Protokollebene für den MCP-Server: off, debug, info, warning, error (siehe Logging) | info |
CB_MCP_LOG_SINKS | --log-sinks | Kommagetrennte Protokollziele: stderr, file, oder beide (siehe Logging) | stderr |
CB_MCP_LOG_FILE | --log-file | Basisverzeichnis 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-mb | Globale 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-bytes | Veraltet – 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-mb | Rotationsgröße in MB für die ERROR-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für ERROR | Erbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB |
CB_MCP_LOG_WARNING_ROTATION_MAX_SIZE_MB | --log-warning-rotation-max-size-mb | Rotationsgröße in MB für die WARNING-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für WARNING | Erbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB |
CB_MCP_LOG_INFO_ROTATION_MAX_SIZE_MB | --log-info-rotation-max-size-mb | Rotationsgröße in MB für die INFO-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für INFO | Erbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB |
CB_MCP_LOG_DEBUG_ROTATION_MAX_SIZE_MB | --log-debug-rotation-max-size-mb | Rotationsgröße in MB für die DEBUG-Protokolldatei; überschreibt CB_MCP_LOG_ROTATION_MAX_SIZE_MB für DEBUG | Erbt CB_MCP_LOG_ROTATION_MAX_SIZE_MB |
CB_MCP_LOG_RETENTION_BACKUP_COUNT | --log-retention-backup-count | Rotierte 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-count | Rotierte Sicherungen, die für die ERROR-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für ERROR | Erbt CB_MCP_LOG_RETENTION_BACKUP_COUNT |
CB_MCP_LOG_WARNING_RETENTION_BACKUP_COUNT | --log-warning-retention-backup-count | Rotierte Sicherungen, die für die WARNING-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für WARNING | Erbt CB_MCP_LOG_RETENTION_BACKUP_COUNT |
CB_MCP_LOG_INFO_RETENTION_BACKUP_COUNT | --log-info-retention-backup-count | Rotierte Sicherungen, die für die INFO-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für INFO | Erbt CB_MCP_LOG_RETENTION_BACKUP_COUNT |
CB_MCP_LOG_DEBUG_RETENTION_BACKUP_COUNT | --log-debug-retention-backup-count | Rotierte Sicherungen, die für die DEBUG-Protokolldatei aufbewahrt werden; überschreibt die globale Anzahl für DEBUG | Erbt CB_MCP_LOG_RETENTION_BACKUP_COUNT |
CB_MCP_OAUTH_JWT_JWKS_URI | --oauth-jwks-uri | JWKS-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-issuer | Erwarteter JWT-iss-Anspruch. Erforderlich, um OAuth zu aktivieren. | Keine |
CB_MCP_OAUTH_JWT_AUDIENCE | --oauth-audience | Erwarteter JWT-aud-Anspruch. Erforderlich, um OAuth zu aktivieren. | Keine |
CB_MCP_OAUTH_JWT_ALGORITHM | --oauth-algorithm | JWT-Signaturalgorithmus: einer von RS256/384/512, ES256/384/512, PS256/384/512 | RS256 |
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_idunddelete_document_by_iddeaktivieren, können Datenänderungen weiterhin über das Toolrun_sql_plus_plus_querymit SQL++-DML-Anweisungen (INSERT, UPDATE, DELETE, MERGE) erfolgen, sofern nicht:
CB_MCP_READ_ONLY_MODEauftruegesetzt 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,debugfügt ausführliche interne Details hinzu, undoffdeaktiviert die gesamte Protokollierung.CB_MCP_LOG_SINKS— wohin Protokolle gehen:stderr(Standard), rotierende Dateien pro Ebene (file) oder beides. Mitfilewird pro Ebene eine Datei geschrieben (z.B.mcp_server.info.logundmcp_server.error.log) am Pfad, der vonCB_MCP_LOG_FILEfestgelegt wird.- Rotationsgröße —
CB_MCP_LOG_ROTATION_MAX_SIZE_MBist die globale Größe (in MB), bei der jede Datei pro Ebene rotiert. Überschreiben Sie einzelne Ebenen mitCB_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 von0(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, wennCB_MCP_LOG_ROTATION_MAX_SIZE_MBebenfalls gesetzt ist, und gibt beim Start eine Veraltungs-Warnung aus. - Aufbewahrung —
CB_MCP_LOG_RETENTION_BACKUP_COUNTlegt fest, wie viele rotierte Sicherungen pro Ebene aufbewahrt werden (ohne die aktive Datei); der Standardwert von1erhält das bisherige Verhalten. Überschreiben Sie einzelne Ebenen mitCB_MCP_LOG_<LEVEL>_RETENTION_BACKUP_COUNT(ERROR/WARNING/INFO/DEBUG), die den globalen Wert erben, wenn nicht gesetzt. Setzen Sie eine Anzahl auf0, 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 dediziertemcp_server_config.log.json-Datei geschrieben (abgeleitet von derCB_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
-
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 AbschnittmcpServershinzu.
- Auf dem Mac befindet sich die Konfigurationsdatei unter
-
Starten Sie Claude Desktop neu, um die Änderungen zu übernehmen.
-
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:
-
Installieren Sie Cursor auf Ihrem Rechner.
-
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.
-
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
mcpServershinzufügen.Hinweis: Der Installationslink verwendet Platzhalterwerte aus den obigen Konfigurationsbeispielen. Aktualisieren Sie die Verbindungszeichenfolge und die Anmeldeinformationen nach der Installation.
-
Speichern Sie die Konfiguration.
-
Sie sehen couchbase als hinzugefügten Server in der MCP-Serverliste. Aktualisieren Sie, um zu sehen, ob der Server aktiviert ist.
-
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.
-
Installieren Sie Windsurf Editor auf Ihrem Rechner.
-
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.
-
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.
-
Speichern Sie die Konfiguration.
-
Sie sehen couchbase als hinzugefügten Server in der MCP-Serverliste unter Erweiterte Einstellungen. Aktualisieren Sie, um zu sehen, ob der Server aktiviert ist.
-
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.
-
Installieren Sie VS Code
-
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+PoderCmd+Shift+P) - Fügen Sie die Konfiguration hinzu und speichern Sie die Datei.
- Führen Sie MCP: Benutzerkonfiguration öffnen in der Befehlspalette aus (
-
Hinweis: VS Code verwendet
serversals oberste JSON-Eigenschaft in mcp.json-Dateien, um MCP-Server (Model Context Protocol) zu definieren, während CursormcpServersfü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" } } } }
-
-
Sobald Sie die Datei speichern, startet der Server und eine kleine Aktionsliste mit
Running|Stop|n Tools|More..erscheint. -
Klicken Sie auf die Optionen aus der Optionsliste, um den Server zu
Start/Stop/verwalten. -
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.
- Installieren Sie eine der JetBrains-IDEs
- Installieren Sie eines der JetBrains-Plugins - AI Assistant oder Junie
- Navigieren Sie zu Einstellungen > Tools > AI Assistant oder Junie > MCP-Server
- Klicken Sie auf „+", um die Couchbase-MCP-Konfiguration hinzuzufügen, und klicken Sie auf Speichern.
- 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.
- 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_ISSUERundCB_MCP_OAUTH_JWT_AUDIENCEgesetzt sind; wenn nur einige davon gesetzt sind, schlägt der Start fehl. - Das Setzen von
CB_MCP_OAUTH_MCP_BASE_URLverö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++) undcouchbase-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 mitCB_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_stringhä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 Formcouchbase://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 istbridge. 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
uvordnungsgemäß installiert und zugänglich ist. Möglicherweise müssen Sie den absoluten Pfad zuuv/uvxim Feldcommandin 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 syncauszufü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.
- Exportieren Sie die Anmeldeinformationen für den Demo-Cluster:
CB_CONNECTION_STRINGCB_USERNAMECB_PASSWORD- Optional:
CB_MCP_TEST_BUCKET(ein Bucket, der während der Tests überprüft werden soll)
- 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!