Couchbase-Analytics-MCP
Couchbase-Analytics-MCP
Couchbase Enterprise Analyticsサービス向けのプロダクショングレードのModel Context Protocol (MCP) サーバーです。Analytics APIの全機能を25個の型安全なMCPツールとして公開し、組み込みのGUIコンソール、構造化ログ、Prometheusメトリクス、OpenTelemetryトレーシング、包括的なテストカバレッジを備えています。
重要: このサーバーはAnalyticsサービス(Apache AsterixDBエンジン、SQL++、ポート8095)を対象としており、Couchbase Query (N1QL) サービスは対象外です。すべてのツールは
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
Couchbase Server Enterprise ≥ 7.2 (Analyticsサービス有効)
ローカル開発 (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 を参照してください。
ツール | グループ | 説明 |
| Query | SQL++ステートメントの実行 |
| Query | クエリ実行計画の取得 |
| Query | 実行中のクエリのキャンセル |
| Query | 非同期クエリステータスの確認 |
| Query | KV→Analyticsレプリケーション遅延 |
| Schema | 全データバースのリスト表示 |
| Schema | データセットのリスト表示 |
| Schema | フィールドレベルのデータセット説明 |
| Schema | INFER DATASET → JSONスキーマ |
| Schema | Analyticsセカンダリインデックスのリスト表示 |
| Dataverse | CREATE DATAVERSE |
| Dataverse | DROP DATAVERSE |
| Dataverse | CREATE DATASET (シャドウコレクション) |
| Dataverse | DROP DATASET |
| Dataverse | データセットWHERE述語の変更 |
| Links | データソースリンクのリスト表示 |
| Links | CB/S3/Azure/GCSリンクの作成 |
| Links | リンク設定の更新 |
| Links | リンクの削除 |
| Links | インジェストの開始 (CONNECT LINK) |
| Links | インジェストの一時停止 (DISCONNECT LINK) |
| Indexes | Analyticsセカンダリインデックスの作成 |
| Indexes | Analyticsセカンダリインデックスの削除 |
| Indexes | オプティマイザ統計の収集 |
| Cluster | ノードごとのリソース統計 |
| Cluster | 複合ヘルスサマリー |
| Cluster | Analyticsサービス設定 |
| Cluster | 設定パラメータの変更 (保護付き) |
| Cluster | 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