Kaggle MCP (Model Context Protocol) Server について
Kaggle MCP Server は、Claude Desktop などの MCP クライアントに Kaggle データセットの検索、ダウンロード、EDA プロンプト生成機能を提供する MCP サーバーです。MCP クライアントからデータセットを探し、探索的分析を始めたい方に向いています。
主な機能
- 01キーワードによる Kaggle データセット検索
- 02データセットのダウンロードと解凍
- 03基礎的な EDA プロンプトの生成
- 04環境変数または kaggle.json による認証情報の設定
- 05ローカル、Docker、Smithery での実行
活用シーン
- 01モデル構築用データセットの検索と取得
- 02指定したデータセットの EDA 方針を AI アシスタントに依頼
MCP 対応
このプロジェクトは MCP サーバーとして、search_kaggle_datasets と download_kaggle_dataset のツール、および generate_eda_notebook のプロンプトを stdio 経由で提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Kaggle MCP サーバー
Kaggle データセットの検索、ダウンロード、EDA プロンプトの生成機能を、Claude Desktop などの MCP クライアントに提供する Model Context Protocol(MCP)サーバーです。
機能
- キーワードを使って Kaggle データセットを検索します。
- Kaggle データセットをローカルにダウンロードして、解凍します。
- Kaggle データセットの初期探索的データ分析(EDA)プロンプトを生成します。
- 環境変数または標準の
kaggle.jsonファイルを使った Kaggle 認証情報に対応しています。 - ローカル、Docker、または Smithery 経由で実行できます。
利用可能な MCP 機能
ツール
search_kaggle_datasets(query: str)
Kaggle で query に一致するデータセットを検索し、最大 10 件の結果を JSON で返します。
返されるフィールドには、次のものが含まれます。
reftitlesubtitledownload_countlast_updatedusability_rating
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None)
Kaggle データセットをダウンロードして、解凍します。
dataset_ref:owner/dataset-slug形式の Kaggle データセット参照です。例:kaggle/titanic。download_path:省略可能なローカル出力パスです。省略した場合、ファイルは./datasets/<dataset_slug>/に保存されます。
プロンプト
generate_eda_notebook(dataset_ref: str)
指定された Kaggle データセット参照を使って、基本的な Python EDA コードを生成するためのプロンプトを作成します。このプロンプトでは、データの読み込み、欠損値の確認、可視化、要約統計量の算出を求めます。
要件
- Python 3.10 以降
- Kaggle アカウントと API トークン
- MCP 互換クライアント
Kaggle 認証情報
Kaggle アカウントの設定から Kaggle API トークンを作成します。
- https://www.kaggle.com/settings にアクセスします。
- Create New API Token を選択します。
kaggle.jsonをダウンロードします。
環境変数または標準の Kaggle 設定ファイルを使用します。
オプション 1:環境変数
プロジェクトのルートに .env ファイルを作成します。
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key
オプション 2:kaggle.json
標準の Kaggle の場所に kaggle.json を配置します。
- macOS/Linux:
~/.kaggle/kaggle.json - Windows:
C:\Users\<Your User Name>\.kaggle\kaggle.json
macOS/Linux では、ファイルをすべてのユーザーが読み取れる状態にしないでください。
chmod 600 ~/.kaggle/kaggle.json
インストール
git clone <repository-url>
cd kaggle-mcp
仮想環境を作成して、有効化します。
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
以下のいずれかの方法で依存関係をインストールします。
uv を使用する場合
uv sync
pip を使用する場合
pip install -r requirements.txt
ローカルでの実行
uv を使用する場合:
uv run kaggle-mcp
または、サーバーモジュールを直接実行します。
python src/server.py
サーバーは MCP stdio 経由で通信し、MCP クライアントから起動することを想定しています。
Claude Desktop の設定
Claude Desktop の設定を開き、Developer > Edit Config に移動して、このサーバーを claude_desktop_config.json に追加します。
プロジェクト環境にインストールした場合:
{
"mcpServers": {
"kaggle-mcp": {
"command": "uv",
"args": ["run", "kaggle-mcp"],
"cwd": "/absolute/path/to/kaggle-mcp",
"env": {
"KAGGLE_USERNAME": "your_kaggle_username",
"KAGGLE_KEY": "your_kaggle_api_key"
}
}
}
}
kaggle.json を使用する場合は、env ブロックを省略できます。
Docker
イメージをビルドします。
docker build -t kaggle-mcp .
.env の認証情報を使って実行します。
docker run --rm -i --env-file .env kaggle-mcp
Smithery
このリポジトリには smithery.yaml が含まれています。Smithery はサーバーを stdio 経由で起動し、次の設定値を環境変数として渡します。
kaggleUsername->KAGGLE_USERNAMEkaggleKey->KAGGLE_KEY
ワークフローの例
- MCP クライアントに「心臓病のデータセットを Kaggle で検索して」と尋ねます。
- クライアントが
search_kaggle_datasetsを呼び出します。 - 結果からデータセット参照を選びます。例:
user/heart-disease-dataset。 - 「
user/heart-disease-datasetをダウンロードして」と尋ねます。 - 「
user/heart-disease-datasetの EDA ノートブック用プロンプトを生成して」と尋ねます。
プロジェクト構成
.
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│ ├── __init__.py
│ └── server.py
└── uv.lock
ダウンロードしたデータセットは、デフォルトで datasets/ の下に保存されます。このディレクトリは、ダウンロードを要求したときに実行時に作成されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。