Couchbase-Analytics-MCP
Couchbase-Analytics-MCP
Couchbase Enterprise Analytics 서비스를 위한 프로덕션급 MCP(Model Context Protocol) 서버입니다. 전체 Analytics API를 25개의 강력한 유형의 MCP 도구로 노출하며, 내장 GUI 콘솔, 구조화된 로깅, Prometheus 메트릭, OpenTelemetry 추적 및 포괄적인 테스트 커버리지를 제공합니다.
중요: 이 서버는 Couchbase Query(N1QL) 서비스가 아닌 Analytics 서비스(Apache AsterixDB 엔진, SQL++, 포트 8095)를 대상으로 합니다. 모든 도구는
cluster.analyticsQuery()및/analytics/*REST 엔드포인트만 호출합니다.
기능 매트릭스
기능 | 상태 |
전체 Analytics API를 포함하는 25개의 MCP 도구 | ✅ |
stdio 전송 (Claude Desktop) | ✅ |
SSE/HTTP 전송 (원격 에이전트) | ✅ |
연결 풀 (최소/최대/유휴 정리) | ✅ |
SSE 엔드포인트에서 JWT + API 키 인증 | ✅ |
구조화된 JSON 로깅 (Pino) | ✅ |
일일 로그 로테이션 (pino-roll) | ✅ |
선택적 Loki 푸시 전송 | ✅ |
Prometheus | ✅ |
OpenTelemetry 추적 → Jaeger | ✅ |
| ✅ |
| ✅ |
Monaco SQL++ 편집기 | ✅ |
스키마 브라우저 (데이터버스 → 데이터셋 트리) | ✅ |
실시간 도구 호출 검사기 | ✅ |
단위 테스트 (90% 이상 커버리지) | ✅ |
통합 테스트 (실제 Couchbase) | ✅ |
E2E 테스트 (Supertest SSE 전송) | ✅ |
Docker 다단계 이미지 | ✅ |
Docker Compose (CB + Prometheus + Grafana + Jaeger) | ✅ |
Helm 차트 | ✅ |
GitHub Actions CI/CD | ✅ |
아키텍처 문서 + ADR | ✅ |
운영 런북 | ✅ |
빠른 시작
사전 요구 사항
Node.js ≥ 20
Docker + Docker Compose
Analytics 서비스가 활성화된 Couchbase Server Enterprise ≥ 7.2
로컬 개발 (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:16686기존 Couchbase 클러스터에 연결하여 실행
npm install
CB_CONNECTION_STRING=couchbase://my-cluster \
CB_USERNAME=Administrator \
CB_PASSWORD=password \
TRANSPORT=stdio \
node packages/mcp-server/dist/index.jsClaude Desktop 통합
~/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"
}
}
}
}환경 변수
변수 | 기본값 | 설명 | |||||
| (필수) |
| |||||
| (필수) | Couchbase RBAC 사용자 이름 | |||||
| (필수) | Couchbase RBAC 비밀번호 | |||||
|
| Analytics REST 포트 (TLS의 경우 18095) | |||||
|
| REST 호출에 대한 TLS 활성화 | |||||
|
|
| |||||
|
| HTTP 서버 포트 (SSE + 상태 + GUI) | |||||
|
| 최소 풀 연결 수 | |||||
|
| 최대 풀 연결 수 | |||||
|
| 유휴 연결 정리 임계값 | |||||
|
| 기본 쿼리 시간 초과 | |||||
|
| `trace | debug | info | warn | error | fatal` |
|
| `json | pretty` | ||||
|
| 파일 전송 활성화 | |||||
|
| 로그 파일 경로 | |||||
| (선택 사항) | Loki 푸시 엔드포인트 | |||||
|
|
| |||||
|
| OpenTelemetry 추적 활성화 | |||||
|
| Jaeger HTTP 수집기 | |||||
| (선택 사항) | SSE 인증을 위한 JWT 서명 비밀키 | |||||
| (선택 사항) | SSE 인증을 위한 정적 API 키 | |||||
|
|
|
도구 참조
전체 입력/출력 스키마는 docs/api/TOOLS.md를 참조하세요.
도구 | 그룹 | 설명 |
| 쿼리 | SQL++ 문 실행 |
| 쿼리 | 쿼리 실행 계획 반환 |
| 쿼리 | 실행 중인 쿼리 취소 |
| 쿼리 | 비동기 쿼리 상태 확인 |
| 쿼리 | KV→Analytics 복제 지연 |
| 스키마 | 모든 데이터버스 나열 |
| 스키마 | 데이터셋 나열 |
| 스키마 | 필드 수준 데이터셋 설명 |
| 스키마 | INFER DATASET → JSON 스키마 |
| 스키마 | Analytics 보조 인덱스 나열 |
| 데이터버스 | CREATE DATAVERSE |
| 데이터버스 | DROP DATAVERSE |
| 데이터버스 | CREATE DATASET (섀도우 컬렉션) |
| 데이터버스 | DROP DATASET |
| 데이터버스 | 데이터셋 WHERE 조건 수정 |
| 링크 | 데이터 소스 링크 나열 |
| 링크 | CB/S3/Azure/GCS 링크 생성 |
| 링크 | 링크 구성 업데이트 |
| 링크 | 링크 삭제 |
| 링크 | 수집 시작 (CONNECT LINK) |
| 링크 | 수집 일시 중지 (DISCONNECT LINK) |
| 인덱스 | Analytics 보조 인덱스 생성 |
| 인덱스 | Analytics 보조 인덱스 삭제 |
| 인덱스 | 옵티마이저 통계 수집 |
| 클러스터 | 노드별 리소스 통계 |
| 클러스터 | 복합 상태 요약 |
| 클러스터 | Analytics 서비스 구성 |
| 클러스터 | 구성 매개변수 변경 (보호됨) |
| 클러스터 | Analytics 노드 재시작 (보호됨) |
개발
# 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 docs지원 정책
이 프로젝트에 관심을 가져주셔서 진심으로 감사드립니다! 이 프로젝트는 커뮤니티에 의해 유지 관리됩니다. 하지만 저는 이 저장소를 적극적으로 모니터링하고 유지 관리하며, 최선을 다해 문제를 해결하려고 노력할 것입니다.
모든 문의는 GitHub를 통해 이루어져야 합니다.
Bug reports: Open a GitHub issue
Feature requests: Open a GitHub issue with the "enhancement" label
Questions: Open a GitHub issue여러분의 협력은 제가 함께 나아가는 데 큰 도움이 됩니다. 감사합니다! 커뮤니티의 풀 리퀘스트와 기여를 환영하며 적극 권장합니다.
아키텍처
전체 구성 요소 다이어그램, 데이터 흐름 설명 및 설계 결정 사항은 docs/architecture/ARCHITECTURE.md를 참조하세요.
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