mcpField
C
CDM MCP Server

CDM MCP Server

ローカル
github.com/kbaseデータベース053 週間前に更新

CDM MCP Server について

CDM MCP Serverは、ローカル開発や評価で、Sparkを介してMinIO内のDelta Lakeテーブルを扱うFastAPIサービスです。自然言語によるデータ操作に対応しますが、本番利用は承認されていません。

主な機能

  1. 01Spark経由でDelta Lakeテーブルにアクセス
  2. 02MinIOにデータを保存
  3. 03自然言語によるデータ操作
  4. 04FastAPIサービスの提供

活用シーン

  1. 01ローカルでのDelta Lake操作の評価
  2. 02開発環境でのサンプルテーブルの検索

MCP 対応

MCPを実装し、MCPホストから自然言語のリクエストでDelta Lakeテーブルを操作できます。ローカルでモデルを実行しない場合、クエリ結果はモデルホストに送信されます。用途はローカル開発または評価に限られます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cdm": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"network"
]
}
}
}
起動コマンドdocker run -i --rm network

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocinetwork

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CDM MCP サーバー

AI アシスタントがSparkを通じてMinIOに保存されたDelta Lakeテーブルとやり取りできるようにする、FastAPIベースのサービスです。自然言語によるデータ操作のためにModel Context Protocol(MCP)を実装しています。

⚠️ 重要な警告:

このサービスでは、Delta Lakeテーブルに対して任意のread-orientedクエリを実行できます。モデルをローカルでホストしていない場合、クエリ結果はモデルホストサーバーに送信されます。

❌ また、KBaseのリーダーシップから明示的な承認が得られるまでは、このサービスをCIを含む本番環境にデプロイすることは承認されていません。ローカルでの開発または評価目的に限って使用してください。

ドキュメント

詳しいドキュメントについては、ユーザーガイドを参照してください。ガイドでは、以下の内容を説明しています。

クイックスタート

  1. リポジトリをクローンします。

    git clone https://github.com/kbase/cdm-mcp-server.git
    cd cdm-mcp-server
    
  2. 必要なディレクトリを作成します。

    mkdir -p cdr/cdm/jupyter/cdm_shared_workspace
    
  3. Dockerネットワークを作成します。

    docker network create cdm-jupyterhub-network
    
  4. サービスを起動します。

    docker-compose up -d --build
    
  5. 各サービスにアクセスします。

テスト
# 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/

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。