CDM MCP Server について
CDM MCP Serverは、ローカル開発や評価で、Sparkを介してMinIO内のDelta Lakeテーブルを扱うFastAPIサービスです。自然言語によるデータ操作に対応しますが、本番利用は承認されていません。
主な機能
- 01Spark経由でDelta Lakeテーブルにアクセス
- 02MinIOにデータを保存
- 03自然言語によるデータ操作
- 04FastAPIサービスの提供
活用シーン
- 01ローカルでのDelta Lake操作の評価
- 02開発環境でのサンプルテーブルの検索
MCP 対応
MCPを実装し、MCPホストから自然言語のリクエストでDelta Lakeテーブルを操作できます。ローカルでモデルを実行しない場合、クエリ結果はモデルホストに送信されます。用途はローカル開発または評価に限られます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CDM MCP サーバー
AI アシスタントがSparkを通じてMinIOに保存されたDelta Lakeテーブルとやり取りできるようにする、FastAPIベースのサービスです。自然言語によるデータ操作のためにModel Context Protocol(MCP)を実装しています。
⚠️ 重要な警告:
このサービスでは、Delta Lakeテーブルに対して任意の
read-orientedクエリを実行できます。モデルをローカルでホストしていない場合、クエリ結果はモデルホストサーバーに送信されます。
❌ また、KBaseのリーダーシップから明示的な承認が得られるまでは、このサービスをCIを含む本番環境にデプロイすることは承認されていません。ローカルでの開発または評価目的に限って使用してください。
ドキュメント
詳しいドキュメントについては、ユーザーガイドを参照してください。ガイドでは、以下の内容を説明しています。
- クイックスタート - ローカルサービスを起動して使用できる状態にする方法
- サンプルDeltaテーブルの作成 - ローカルテストデータのセットアップ
- APIの使用 - APIの直接使用例
- AIアシスタントとの統合 - MCPホストツールでの設定と使用方法
- MCPの設定 -
mcp.jsonの作成 - MCPホストのセットアップ - MCPホストの設定
- プロンプトの例 - 自然言語の例
- MCPの設定 -
クイックスタート
-
リポジトリをクローンします。
git clone https://github.com/kbase/cdm-mcp-server.git cd cdm-mcp-server -
必要なディレクトリを作成します。
mkdir -p cdr/cdm/jupyter/cdm_shared_workspace -
Dockerネットワークを作成します。
docker network create cdm-jupyterhub-network -
サービスを起動します。
docker-compose up -d --build -
各サービスにアクセスします。
- MCPサーバー:http://localhost:8000/docs
- MinIOコンソール:http://localhost:9003
- Spark Master UI:http://localhost:8090
- JupyterHub:http://localhost:4043
テスト
# Install dependencies (only required on first run or when the uv.lock file changes)
uv sync --locked
# Run tests
PYTHONPATH=. uv run pytest tests
# Run with coverage
PYTHONPATH=. uv run pytest --cov=src tests/
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。