Couchbase Guru MCP Server
Couchbase Guru MCP Server
Ein MCP-Server, der LLMs ermöglicht, in der Couchbase-Dokumentation von Ihrem MCP-Client aus zu suchen. Er stellt ein einziges Tool bereit, ask_couchbase_docs, das Ihre Frage an einen gehosteten Retrieval-Augmented-(RAG-)Dokumentationsagenten weiterleitet und eine Antwort mit Quellenlinks zurückgibt.
Es ist kein Couchbase-Cluster oder keine Anmeldedaten erforderlich. Der Server kommuniziert nur mit dem Backend des Dokuumentationsagenten, nicht mit Ihren Daten.
Tool
Tool-Name | Beschreibung |
| Beantwortet eine Frage zu jedem Couchbase-Produkt, -Feature, -SDK, -Dienst, -Tutorial oder -Beispiel, indem die offizielle Dokuumentation durchsucht wird. Gibt eine Antwort in natürlicher Srache zurük, gefolgt von den Quell-URLs der Dokuumentation. |
Stellen Sie vollständige, in sich geschlossene Fragen – das Backend verfügt über keinen Gesprächsverlauf. Geben Sie daher, wo relevant, das Produkt, die Version und die Srache an (z. B. „Wie erstelle ich mit dem Python-SDK in Couchbase Server 7.6 einen primären Index?“).
Related MCP server: docrag
Voraussetzungen
Python 3.10 oder höher.
uv muss installiert sein, um den Server auszuführen.
Ein MCP-Client wie Claude Desktop, Cursor oder VS Code.
Konfiguration
Der Server kann aus dem vorgefertigten PyPI-Paket oder aus dem Quellcode mit uv ausgeführt werden. Er funktioniert ohne jede Konfiguration – standardmäßig wird der öffentliche Dokumentationsagent verwendet.
Ausführen über PyPI
{
"mcpServers": {
"couchbase-guru": {
"command": "uvx",
"args": ["couchbase-guru"]
}
}
}Wenn Sie bereits andere MCP-Server konfiguriert haben, fügen Sie diesen Eintrag zum vorhandenen
mcpServers-Objekt hinzu.
Ausführen aus dem Quellcode
Klonen Sie das Repository:
git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.gitRichten Sie dann Ihren MCP-Client darauf aus:
{
"mcpServers": {
"couchbase-guru": {
"command": "uv",
"args": [
"--directory",
"path/to/cloned/repo/couchbase-guru/",
"run",
"src/mcp_server.py"
]
}
}
}
path/to/cloned/repo/couchbase-guru/sollte der Pfad zum geklonten Repository auf Ihrem Rechner sein. Vergessen Sie den abschließenden Schrägstrich nicht.
Optionen
Alle Optionen sind optional und können über ein CLI-Argument oder eine Umgebungsvariable gesetzt werden:
CLI-Argument | Umgebungsvariable | Beschreibung | Standard |
|
| Transportmodus: |
|
|
| Host für den HTTP-Transportmodus |
|
|
| Port für den HTTP-Transportmodus |
|
|
| Basis-URL des Backends des Dokuumentationsagenten. Setzen Sie diesen Wert, um gegen Ihren eigenen selbst gehosteten Agenten zu laufen; wenn nicht gesetzt, wird der öffentliche Agent verwendet. | Öffentlicher Agent |
|
| Geheimer Salt zur Pseudonymisierung von Client-IPs (HTTP-Transport). Legen Sie einen gemeinsamen Wert für konsistentes Hashing über mehreree Instanzen fest; wenn nicht gesetzt, wird ein lokaler Salt generiert. | Automatisch generiert |
Überprüfen Sie die installierte Version mit:
uvx couchbase-guru --versionSelbsthosting des Dokuumentationsagenten
Standardmäßig verwendet der Server einen gemeinsam genutzen, öffentlichen Dokuumentationsagenten, sodass die meisten Benutzer keine Einrichtung benötigen. Wenn Sie ein eigenes Agenten-Backend betreiben, richten Sie den Server darau aus:
uvx couchbase-guru --agent-base-url https://your-agent.example.comRatenbegrenzung und Datenschutz
Der öffentliche Agent wendet Ratenbegrenzungen für faire Nutzung an. Um dies zu unterstützen, sendet der Server eine pseudonyme Gerätekennung an das Backend (im User-Agent-Header):
stdio: eine zufällige ID, die einmalig generiert und in einer benutzerspezifischen Datei auf Ihrem Rechner gespeichert wird.
HTTP: ein mit Salt versehener Einweg-Hash der verbindenden IP – die rohe Adresse wird niemals gesendet.
Der MCP-Server selbst speichert weder Frageinhalte noch personenbezogene Daten. Wenn Sie kein Signal zur Ratenbegrenzung teilen möchten, hosten Sie den Agenten selbst (siehe oben).
Clientspezifische Konfiguration
Bearbeiten Sie die Konfigurationsdatei (siehe die MCP-Schnellstartanleitung):
macO:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Fügen Sie die Konfiguration zum Abschnitt
mcpServershinzu.Starten Sie Clade Desktop neu.
Protokolle: ~/Library/Logs/Claude (macO) oder %APPDATA%\Claude\Logs (Windows).
Gehen Sie in Cursor zu Cursor Settings > Tools & Integrations > MCP Tools.
Fügen Sie die Konfiguration manuell hinzu oder verwenden Sie den Ein-Klick-Link In Cursr installieren.
Speichern Sie und aktualisieren Sie dann, um zu bestätigen, dass der Server aktiviert ist.
Protokolle: Klicken Sie im unteren Bereich auf Output und wählen Sie Cursor MCP aus dem Dropdown-Menü.
Öffnen Sie Command Palette > Windsurf MCP Configuration Panel (oder Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers).
Klicken Sie auf Add Server > Add custom server und fügen Sie die Konfiguration hinzu.
Speichern Sie und aktualisieren Sie dann, um zu bestätigen, dass der Server aktiviert ist.
Weitere Details finden Sie in der Windsurf-MCP-Dokumentation.
Erstellen Sie
.vscode/mcp.jsonin Ihrem Workspace (oder führen Sie MCP: Open User Configuration für eine globale Konfiguration aus).VS Code verwendet
serversals Schlüssel auf oberster Ebene (nichtmcpServers):{ "servers": { "couchbase-guru": { "command": "uvx", "args": ["couchbase-guru"] } } }Verwenden Sie nach dem Speichern die Inline-Aktionsliste, um den Server zu
Start/Stop/verwalten.
Weitere Details finden Sie in der VS Code MCP-Dokumentation.
Installieren Sie das Plugin AI Assistant oder Junie.
Navigieren Sie zu Settings > Tools > AI Assistant or Junie > MCP Server.
Klicken Sie auf „+“, fügen Sie die Konfiguration hinzu und klicken Sie auf Save, dann auf Apply.
Protokolle: Help > Show Log in Finder (Explorer) > mcp > couchbase-guru.
Streamable HTTTP-Transportmodus
Der Server kann im Streamable HTTTP-Modus ausgeführt werden, sodass mehrere Clients eine Verbindung zu einer Instanz herstellen können. Prüfen Sie zuerst, ob Ihr MCP-Client diesen Transport unterstützt.
uvx couchbase-guru --transport=http --port=8000Der Server ist unter http://localhost:8000/mcp verfügbar:
{
"mcpServers": {
"couchbase-guru-http": {
"url": "http://localhost:8000/mcp"
}
}
}Dieser Modus bietet keine Unterstützung für Autorisierung.
Docker
Erstellen Sie das Image:
docker build -t couchbase-guru .Führen Sie es aus (standardmäßig stdio; keine Anmeldedaten erforderlich):
{
"mcpServers": {
"couchbase-guru-docker": {
"command": "docker",
"args": ["run", "--rm", "-i", "couchbase-guru"]
}
}
}Für den HTTP-Transport veröffentlichen Sie den Port und setzen Sie den Transport:
docker run --rm -i \
-e CB_MCP_TRANSPORT=http \
-e CB_MCP_HOST=0.0.0.0 \
-e CB_MCP_PORT=8000 \
-p 8000:8000 \
couchbase-guruRisiken im Zusammenhang mit LLMs
Die Verwendung großer Sprachmodelle und ähnlicher Technologien ist mit Risiken verbunden, einschließlich der Möglichkeit ungenauer oder schädlicher Ausgaben.
Couchbase prüft oder bewertet die Qualität oder Richtigkeit solcher Ausgaben nicht, und solche Ausgaben geben möglicherweise nicht die Ansichten von Couchbase wieder.
Sie sind allein dafür verantwortlich zu entscheiden, ob Sie große Sprachmodelle und verwandte Technologien verwenden, und alle geltenden Lizenzbedingungen, Nutzungsbedingungen und Richtlinien Ihrer Organisation einzuhalten.
Fehlerbehebung
Stellen Sie sicher, dass
uv/uvxinstalliert und in IhremPATHist. Möglicherweise müssen Sie im Feldcommandeinen absoluten Pfad zuuv/uvxangeben.Wenn eine Suche ein Timeout verursacht, ist das Dokumentations-Backend möglicherweise ausgelastet – versuchen Sie es gleich noch einmal.
Um das öffentliche Backend auszuschließen, führen Sie den Server mit
--agent-base-urlgegen Ihren eigenen Agenten aus.Wenn Sie nach einem Update des Repositories aus dem Quellcode arbeiten, führen Sie
uv syncaus, um die Abhängigkeiten zu aktualisieren.Prüfen Sie die Protokolle Ihres MCP-Clients (Orte siehe oben) auf Fehler.
Tests
Unit-Tests laufen offline (das Backend wird simuliert):
uv sync --extra dev
uv run pytest tests/Integrationstests testen das Tool Ende-zu-Ende gegen ein echtes Agenten-Backend und sind optional:
CB_MCP_RUN_INTEGRATION=1 uv run pytest tests/test_docs_tools.pyStandardmäßig verwenden sie den öffentlichen Agenten; setzen Sie CB_AGENT_BASE_URL, um ein anderes Backend anzusteuern.
👩💻 Mitwirken
Beiträge sind willkommen! Um einen Fehler zu melden, eine Funktion anzufordern oder Verbesserungen beizutragen, öffnen Sie ein GitHub-Issue.
Weitere Informationen zur Entwicklereinrichtung finden Sie in CONTRIBUTING.md (Umgebung mit uv, Linting/Formatierung mit Ruff, Pre-Commit-Hooks und Projektstruktur).
# Clone and set up
git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.git
cd couchbase-guru
# Install with development dependencies
uv sync --extra dev
# Install pre-commit hooks
uv run pre-commit install📢 Support-Richtlinie
Wir freuen uns über Ihr Interesse an diesem Projekt! Es wird von der Couchbase-Community gepflegt, was bedeutet, dass es von unserem Support-Team nicht offiziell unterstützt wird. Unsere Ingenieure überwachen und pflegen dieses Repository und werden sich nach besten Kräften bemühen, Probleme zu lösen. Bitte stellen Sie alle Anfragen über GitHub.
Available Tools
1 toolask_couchbase_docsARead-only
Search Couchbase documentation to answer questions about any Couchbase product, feature, SDK, service, tutorials or examples. Use this tool for all Couchbase how-to, conceptual, and reference questions. Not for direct cluster operations.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | A complete, self-contained question about Couchbase products, SDKs, or services. Must include necessary context like product name, version, or programming language since the agent called by this tool lacks conversation history. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe, read-only operation, so the description does not need to re-prove that. It adds a useful scope boundary ('Not for direct cluster operations') but does not disclose extra behavioral details such as response format or failure modes. With annotations covering safety, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences plus one exclusion clause, with no filler. The primary action and supported scope are front-loaded, and every sentence contributes useful routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a detailed schema and an output schema available, the description is complete: it states scope, gives explicit usage guidance, and excludes the one class of out-of-scope requests. Nothing critical is missing for an agent to decide whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the question parameter is already well-described with guidance to make it self-contained and include product/version/language context. The tool description itself adds no parameter-level meaning, but with full schema coverage the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Search Couchbase documentation') and a clear resource, then enumerates the scope of supported topics (products, features, SDKs, services, tutorials, examples). It is immediately obvious what this tool does and where it differs from cluster-operation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this tool for all Couchbase how-to, conceptual, and reference questions. Not for direct cluster operations' provides an explicit when-to-use and an explicit when-not-to-use. An agent can route questions correctly without needing sibling-tool descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
ask_couchbase_docs
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap. The tool's purpose is singular and clearly described.
The single tool name 'ask_couchbase_docs' follows a clear verb_noun pattern, which is internally consistent by default.
One tool is perfectly matched to the narrow docs-Q&A scope, though it is on the thin side relative to typical MCP servers.
The tool's description explicitly covers all Couchbase documentation questions, leaving no obvious gaps within the stated scope.
Maintenance
Related MCP Connectors
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
- docs2mcpOAuthcom.docs2mcp
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.
MCP server for querying Forkast documentation
Agentic search over your Dewey document collections from any MCP-compatible client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides semantic search over markdown documentation using RAG, allowing natural language queries and integration with MCP clients.1MIT
- AlicenseNot gradedqualityFmaintenanceProvides RAG (Retrieval Augmented Generation) access to technical documentation through MCP, enabling LLMs to search and retrieve relevant documentation on-demand.5MIT
- FlicenseNot gradedqualityDmaintenanceEnables answering natural-language questions from FAQ documents using vector search and LLM generation via an MCP tool.-
- FlicenseNot gradedqualityDmaintenanceEnables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.-