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 deployed
Related MCP Connectors
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
MCP server for the Seline Analytics API
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.