mcp-ml-lab について
mcp-ml-labは、AIエージェントがCSVデータで分類実験を一貫して実行できるMCPサーバーです。XGBoostとLightGBMを使い、Optunaによる調整や実験の保存、レポート作成にも対応します。
主な機能
- 01CSVデータのプロファイリング
- 02分類タスクの定義
- 03XGBoostとLightGBMの学習
- 04Optunaによるハイパーパラメーター調整
- 05レポート作成と実験比較
- 06SQLiteへの実験保存
活用シーン
- 01CSVの欠損値とクラス不均衡の確認
- 02データセット上で調整済みモデルを比較
- 03特徴量重要度と実験指標の確認
MCP 対応
データ確認、タスク定義、実験実行、結果取得、実験比較を行う5つのツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-ml-lab
AI エージェントが実際の ML 実験を最初から最後まで実行できるようにします。
Claude(または MCP 対応の任意の AI エージェント)に、CSV のプロファイリング、ML タスクの定義、Optuna による XGBoost と LightGBM のチューニング、特徴量の重要度を含む Markdown レポートの作成を、すべて自然言語で行う機能を提供する MCP サーバーです。
開発の背景
既存の ML 関連 MCP サーバーは MLflow、ZenML、または Weights & Biases をラップして、読み取り専用で公開しています。エージェントは実験履歴を閲覧できますが、実際に何かを 実行 することはできません。mcp-ml-lab はこのギャップを埋め、ユーザーの自然言語によるリクエストを受けて、エージェントが実験の全工程を実行できるようにします。
「titanic.csv でモデルをトレーニングして、生存を予測して」と入力するユーザーが、XGBoost とは何か、交差検証とは何か、ハイパーパラメーター探索をどう書くかを知っている必要はありません。すべてエージェントが処理します。mcp-ml-lab は、それを可能にするツールレイヤーです。
クイックスタート
pip install mcp-ml-lab
Claude Desktop の設定(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"ml-lab": {
"command": "mcp-ml-lab"
}
}
}
Claude Desktop を再起動すると、以下の 5 つのツールを利用できるようになります。
クエリの例
mcp-ml-lab に接続した Claude Desktop で、次のように試してみてください。
- 「この CSV をプロファイリングして、クラスの不均衡があるか教えて」
- 「titanic.csv で XGBoost と LightGBM を、60 秒間のチューニングで比較して」
- 「最も優れたモデルが使用した上位 10 個の特徴量を見せて」
- 「wine データセットで行った直近 3 回の実験を比較すると、どうなりますか?」
ツール
| ツール | 機能 |
|---|---|
inspect_data | CSV をプロファイリングします — 形状、データ型、NULL 値、要約統計量、クラスバランス |
define_task | ML タスクを登録します(CSV + ターゲット + 分類/回帰) |
run_experiment | 1 つ以上のモデルをトレーニングします。Optuna によるチューニングも指定できます |
get_results | 指標、ハイパーパラメーター、特徴量の重要度を含む Markdown レポート |
compare_runs | 複数の実験を並べて比較します |
各ツールの完全なシグネチャは docstring に記載されており、LLM が参照できるよう自己説明型になっています。
仕組み
Claude Desktop ───MCP/stdio─── mcp-ml-lab server
│
├── data.py CSV loading, schema inference, preprocessor
├── trainers/ Pluggable XGBoost + LightGBM adapters
├── search.py Stratified CV + Optuna TPE tuning
├── metrics.py Accuracy, F1, AUC, log loss
├── storage.py SQLite via SQLAlchemy 2.0
└── reporting.py Markdown report generation
すべての実験と試行は ~/.mcp-ml-lab/store.db に永続化されるため、エージェントはセッションをまたいで過去の実行を参照できます。
設計の詳細は ARCHITECTURE.md をご覧ください。
ロードマップ
v0.1.0 では、XGBoost と LightGBM による分類に対応します。v0.2.0 以降で予定している項目は次のとおりです。
- 回帰タスク
- 時系列予測(sktime / darts との統合)
- ディープラーニングのベースライン(pytorch-tabular)
- Optuna による多目的探索(精度 × レイテンシ × モデルサイズ)
- Docker で再現可能な、永続化されたモデル成果物
- Permutation による特徴量重要度(gain importance に代わる、バイアスのない手法)
- ノートブックへのエクスポート — 最も優れた実行を再現する Jupyter ノートブックを出力します
Issue や PR を歓迎します。
開発
git clone https://github.com/rohithraju-ops/mcp-ml-lab.git
cd mcp-ml-lab
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -v
ローカルでのデバッグには MCP Inspector が便利です。
npx @modelcontextprotocol/inspector mcp-ml-lab
ライセンス
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。