Kaggle-mcp について
Kaggle-mcpは、Claude Desktopなどの対応クライアントからKaggle APIを利用するMCPサーバーです。コンペ、データセット、カーネル、モデルを扱い、管理やファイル・バージョンの取得に対応します。
主な機能
- 01コンペの検索と管理
- 02ファイルのダウンロードと予測の提出
- 03データセットの検索と管理
- 04カーネルのプッシュ、プル、確認
- 05モデルとバージョンの管理
活用シーン
- 01コンペを探してリーダーボードを確認
- 02分析用データセットのダウンロード
- 03コンペへの予測結果の提出
- 04Kaggleのカーネルやモデルの公開・取得
MCP 対応
このMCPサーバーは、コンペ、データセット、カーネル、モデルに関するKaggle API操作をツールとしてMCPクライアントに公開します。利用にはKaggle API認証情報が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Kaggle MCP サーバー
Kaggle API とシームレスに連携する Model Context Protocol(MCP)サーバーです。Claude Desktop などの MCP 対応クライアントを通じて、Kaggle のコンペティション、データセット、カーネル、モデルを操作できます。
機能
- コンペティション:一覧表示、ファイルのダウンロード、提出、リーダーボードと提出履歴の確認
- データセット:バージョン管理を使った検索、ダウンロード、作成、管理
- カーネル:Kaggle ノートブックとスクリプトの一覧表示、プッシュ、プル、管理
- モデル:完全なバージョン管理を使った ML モデルとインスタンスの作成、更新、管理
インストール
前提条件
- Python 3.10 以降
- API 認証情報を設定した Kaggle アカウント
PyPI からインストール
推奨される方法は、インストールを自動で処理する uvx を使ってサーバーを実行することです。
uvx mcp-server-kaggle
または、明示的にインストールします。
pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggle
ソースからインストール
開発やローカルでの変更を行う場合:
git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv sync
セットアップ
1. Kaggle API 認証情報を取得する
- https://www.kaggle.com/account にアクセスします
- 「API」セクションまでスクロールします
- 「Create New Token」をクリックします
- 認証情報を含む
kaggle.jsonがダウンロードされます
2. 認証情報を設定する
オプション A:環境変数(推奨)
export KAGGLE_USERNAME=your_username
export KAGGLE_API_KEY=your_api_key
または、~/.zshrc か ~/.bashrc に追加します。
echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrc
echo 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrc
source ~/.zshrc
オプション B:.env ファイルを使用する
プロジェクトディレクトリに .env ファイルを作成します。
KAGGLE_USERNAME=your_username
KAGGLE_API_KEY=your_api_key
使用方法
Claude Desktop を使用する
Kaggle MCP の推奨される使用方法は、Claude Desktop を使うことです。
-
Claude Desktop の設定ファイルを確認します:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Kaggle MCP サーバーの設定を追加します:
{
"mcpServers": {
"kaggle": {
"command": "uvx",
"args": ["mcp-server-kaggle"],
"env": {
"KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",
"KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"
}
}
}
}
ローカルのソースクローンから実行する(代替方法)
{
"mcpServers": {
"kaggle": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/Kaggle-mcp",
"run",
"mcp-server-kaggle"
],
"env": {
"KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",
"KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"
}
}
}
}
-
Claude Desktop を再起動します
-
Claude を通じて Kaggle の使用を開始します!
Claude に次のように尋ねてみましょう。
- 「最新の Kaggle コンペティションを一覧表示して」
- 「Titanic データセットをダウンロードして」
- 「最近のコンペティションへの提出内容を表示して」
- 「NLP データセットを検索して」
単独での使用
MCP サーバーを直接実行します。
mcp-server-kaggle
または、Python モジュールとして実行します。
python -m kaggle_mcp
利用可能なツール
コンペティション(8 個のツール)
| ツール | 説明 |
|---|---|
competitions_list | 利用可能なコンペティションを一覧表示し、検索します |
competition_list_files | コンペティション内のすべてのファイルを一覧表示します |
competition_download_file | 特定のコンペティションファイルをダウンロードします |
competition_download_files | コンペティションのすべてのファイルをダウンロードします |
competition_submit | コンペティションに予測結果を提出します |
competition_submissions | 提出履歴を表示します |
competition_leaderboard_view | コンペティションのリーダーボードを表示します |
competition_leaderboard_download | リーダーボードのデータをダウンロードします |
データセット(10 個のツール)
| ツール | 説明 |
|---|---|
datasets_list | データセットを検索し、絞り込みます |
dataset_metadata | データセットのメタデータを取得します |
dataset_list_files | データセット内のファイルを一覧表示します |
dataset_status | データセットの処理状況を確認します |
dataset_download_file | 特定のデータセットファイルをダウンロードします |
dataset_download_files | データセットのすべてのファイルをダウンロードします |
dataset_create | 新しいデータセットを作成します |
dataset_initialize | データセットのメタデータを初期化します |
dataset_create_version | 新しいデータセットのバージョンを作成します |
カーネル(7 ツール)
| ツール | 説明 |
|---|---|
kernels_list | カーネルを検索および絞り込みます |
kernel_list_files | カーネル内のファイルを一覧表示します |
kernel_initialize | カーネルのメタデータを初期化します |
kernel_push | カーネルを Kaggle にプッシュします |
kernel_pull | カーネルをダウンロードします |
kernel_output | カーネルの出力ファイルをダウンロードします |
kernel_status | カーネルの実行状況を確認します |
モデル(14 ツール)
| ツール | 説明 |
|---|---|
models_list | モデルを検索および絞り込みます |
model_get | モデルの詳細とメタデータを取得します |
model_initialize | モデルのメタデータを初期化します |
model_create | 新しいモデルを作成します |
model_update | モデル情報を更新します |
model_delete | モデルを削除します |
model_instance_get | モデルインスタンスの詳細を取得します |
model_instance_initialize | モデルインスタンスのメタデータを初期化します |
model_instance_create | 新しいモデルインスタンスを作成します |
model_instance_update | モデルインスタンスを更新します |
model_instance_delete | モデルインスタンスを削除します |
model_instance_version_create | 新しいモデルバージョンを作成します |
model_instance_version_download | モデルバージョンをダウンロードします |
model_instance_version_delete | モデルバージョンを削除します |
使用例
例 1:コンペティションを操作する
Claude に次のように尋ねます:
"List active Kaggle competitions about computer vision"
Claude は competitions_list ツールを使用して、関連するコンペティションを検索し、表示します。
例 2:データセットをダウンロードする
Claude に次のように尋ねます:
"Download the Titanic dataset to my Downloads folder"
Claude は dataset_download_files を使用して、データセットのすべてのファイルを取得します。
例 3:コンペティションに提出する
Claude に次のように尋ねます:
"Submit my predictions.csv to the Titanic competition with the message 'Initial baseline model'"
Claude は competition_submit を使用して、提出物をアップロードします。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。