Couchbase-Analytics-MCP
Couchbase-Analytics-MCP
Ein produktionsreifer Model Context Protocol (MCP) Server für den Couchbase Enterprise Analytics-Dienst. Er stellt die vollständige Analytics-API-Oberfläche als 25 stark typisierte MCP-Tools bereit, inklusive einer integrierten GUI-Konsole, strukturiertem Logging, Prometheus-Metriken, OpenTelemetry-Tracing und umfassender Testabdeckung.
Wichtig: Dieser Server zielt auf den Analytics-Dienst ab (Apache AsterixDB-Engine, SQL++, Port 8095) – nicht auf den Couchbase Query (N1QL)-Dienst. Alle Tools rufen ausschließlich
cluster.analyticsQuery()und/analytics/*REST-Endpunkte auf.
Feature-Matrix
Feature | Status |
25 MCP-Tools für die vollständige Analytics-API | ✅ |
stdio-Transport (Claude Desktop) | ✅ |
SSE/HTTP-Transport (Remote-Agenten) | ✅ |
Verbindungspool (min/max/idle reaper) | ✅ |
JWT + API-Key-Authentifizierung am SSE-Endpunkt | ✅ |
Strukturiertes JSON-Logging (Pino) | ✅ |
Tägliche Log-Rotation (pino-roll) | ✅ |
Optionaler Loki-Push-Transport | ✅ |
Prometheus | ✅ |
OpenTelemetry-Traces → Jaeger | ✅ |
| ✅ |
React-GUI-Konsole unter | ✅ |
Monaco SQL++-Editor | ✅ |
Schema-Browser (Dataverse → Dataset-Baum) | ✅ |
Live-Tool-Call-Inspektor | ✅ |
Unit-Tests (≥90% Abdeckung) | ✅ |
Integrationstests (echtes Couchbase) | ✅ |
E2E-Tests (Supertest SSE-Transport) | ✅ |
Docker Multi-Stage-Image | ✅ |
Docker Compose (CB + Prometheus + Grafana + Jaeger) | ✅ |
Helm-Chart | ✅ |
GitHub Actions CI/CD | ✅ |
Architektur-Dokumentation + ADRs | ✅ |
Operative Runbooks | ✅ |
Schnellstart
Voraussetzungen
Node.js ≥ 20
Docker + Docker Compose
Couchbase Server Enterprise ≥ 7.2 mit aktiviertem Analytics-Dienst
Lokale Entwicklung (Docker Compose)
git clone https://github.com/your-org/couchbase-analytics-mcp
cd couchbase-analytics-mcp
# Copy and edit environment
cp .env.example .env
# Start Couchbase + MCP server + Prometheus + Grafana + Jaeger
docker-compose up -d
# GUI console: http://localhost:3000/console
# Prometheus: http://localhost:9091
# Grafana: http://localhost:3001 (admin/admin)
# Jaeger: http://localhost:16686Ausführung gegen ein bestehendes Couchbase-Cluster
npm install
CB_CONNECTION_STRING=couchbase://my-cluster \
CB_USERNAME=Administrator \
CB_PASSWORD=password \
TRANSPORT=stdio \
node packages/mcp-server/dist/index.jsClaude Desktop-Integration
Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"couchbase-analytics": {
"command": "node",
"args": ["/path/to/couchbase-analytics-mcp/packages/mcp-server/dist/index.js"],
"env": {
"CB_CONNECTION_STRING": "couchbase://your-cluster",
"CB_USERNAME": "Administrator",
"CB_PASSWORD": "your-password",
"TRANSPORT": "stdio"
}
}
}
}Umgebungsvariablen
Variable | Standard | Beschreibung |
| (erforderlich) |
|
| (erforderlich) | Couchbase RBAC-Benutzername |
| (erforderlich) | Couchbase RBAC-Passwort |
|
| Analytics REST-Port (18095 für TLS) |
|
| TLS für REST-Aufrufe aktivieren |
|
|
|
|
| HTTP-Server-Port (SSE + Health + GUI) |
|
| Minimale Pool-Verbindungen |
|
| Maximale Pool-Verbindungen |
|
| Schwellenwert für das Schließen inaktiver Verbindungen |
|
| Standard-Abfrage-Timeout |
|
|
|
|
|
|
|
| Datei-Transport aktivieren |
|
| Pfad zur Log-Datei |
| (optional) | Loki-Push-Endpunkt |
|
|
|
|
| OpenTelemetry-Tracing aktivieren |
|
| Jaeger HTTP-Collector |
| (optional) | JWT-Signatur-Secret für SSE-Authentifizierung |
| (optional) | Statischer API-Key für SSE-Authentifizierung |
|
| GUI unter |
Tool-Referenz
Siehe docs/api/TOOLS.md für vollständige Input/Output-Schemata.
Tool | Gruppe | Beschreibung |
| Abfrage | SQL++-Anweisung ausführen |
| Abfrage | Ausführungsplan der Abfrage zurückgeben |
| Abfrage | Laufende Abfrage abbrechen |
| Abfrage | Status asynchroner Abfragen prüfen |
| Abfrage | KV→Analytics Replikationsverzögerung |
| Schema | Alle Dataverses auflisten |
| Schema | Datasets auflisten |
| Schema | Feld-basierte Dataset-Beschreibung |
| Schema | INFER DATASET → JSON-Schema |
| Schema | Analytics-Sekundärindizes auflisten |
| Dataverse | DATAVERSE ERSTELLEN |
| Dataverse | DATAVERSE LÖSCHEN |
| Dataverse | DATASET ERSTELLEN (Shadow-Collection) |
| Dataverse | DATASET LÖSCHEN |
| Dataverse | Dataset WHERE-Prädikat ändern |
| Links | Datenquellen-Links auflisten |
| Links | CB/S3/Azure/GCS-Link erstellen |
| Links | Link-Konfiguration aktualisieren |
| Links | Link löschen |
| Links | Ingestion starten (CONNECT LINK) |
| Links | Ingestion pausieren (DISCONNECT LINK) |
| Indizes | Analytics-Sekundärindex erstellen |
| Indizes | Analytics-Sekundärindex löschen |
| Indizes | Optimizer-Statistiken sammeln |
| Cluster | Ressourcen-Statistiken pro Knoten |
| Cluster | Zusammenfassung des Systemzustands |
| Cluster | Analytics-Dienstkonfiguration |
| Cluster | Konfigurationsparameter ändern (geschützt) |
| Cluster | Analytics-Knoten neu starten (geschützt) |
Entwicklung
# Install all workspace dependencies
npm install
# Build all packages
npm run build
# Run unit tests with coverage
npm run test:coverage
# Run integration tests (requires Couchbase)
docker-compose up -d couchbase
npm run test:integration -w packages/mcp-server
# Start dev server (hot reload)
npm run dev
# Generate API docs
npm run docsSupport-Richtlinie
Ich schätze Ihr Interesse an diesem Projekt sehr! Dieses Projekt wird von der Community gepflegt. Ich überwache und pflege dieses Repository jedoch aktiv und werde versuchen, Probleme nach bestem Wissen und Gewissen zu lösen.
Alle Anfragen sollten über GitHub erfolgen.
Bug reports: Open a GitHub issue
Feature requests: Open a GitHub issue with the "enhancement" label
Questions: Open a GitHub issueIhre Zusammenarbeit hilft mir, gemeinsam voranzukommen – vielen Dank! Pull Requests und Beiträge aus der Community sind willkommen und werden ausdrücklich begrüßt.
Architektur
Siehe docs/architecture/ARCHITECTURE.md für das vollständige Komponentendiagramm, die Beschreibung des Datenflusses und Designentscheidungen.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for managing Prisma Postgres.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/celticht32/MCP-Couchbase-Analytics'
If you have feedback or need assistance with the MCP directory API, please join our Discord server