Kaggle MCP(モデルコンテキストプロトコル)サーバー
このリポジトリには、 fastmcp
ライブラリを使用して構築されたMCP(モデルコンテキストプロトコル)サーバー( server.py
)が含まれています。Kaggle APIと連携して、データセットの検索とダウンロードのためのツール、およびEDAノートブック生成のためのプロンプトを提供します。
プロジェクト構造
server.py
: FastMCP サーバーアプリケーション。Kaggle とやり取りするためのリソース、ツール、プロンプトを定義します。.env.example
: 環境変数(Kaggle API 認証情報)のサンプルファイル。ファイル名を.env
に変更し、必要な情報を入力してください。requirements.txt
: 必要な Python パッケージをリストします。pyproject.toml
&uv.lock
:uv
パッケージ マネージャーのプロジェクト メタデータとロックされた依存関係。datasets/
: ダウンロードした Kaggle データセットが保存されるデフォルトのディレクトリ。
設定
- リポジトリをクローンします。Copy
- 仮想環境を作成します (推奨):Copy
- 依存関係をインストールします: pip を使用します:またはuvを使用します:CopyCopy
- Kaggle API 資格情報を設定します。
- 方法1(推奨): 環境変数
.env
ファイルを作成する.env
ファイルを開き、Kaggle ユーザー名と API キーを追加します。Copy- APIキーはKaggleアカウントページ(
Account
>API
>Create New API Token
)から取得できます。ユーザー名とキーを含むkaggle.json
ファイルがダウンロードされます。
- 方法2:
kaggle.json
ファイル- Kaggle アカウントから
kaggle.json
ファイルをダウンロードします。 kaggle.json
ファイルを適切な場所(Linux/macOS の場合は通常~/.kaggle/kaggle.json
、Windows の場合はC:\Users\<Your User Name>\.kaggle\kaggle.json
)に配置します。環境変数が設定されていない場合、kaggle
ライブラリはこのファイルを自動的に検出します。
- Kaggle アカウントから
- 方法1(推奨): 環境変数
サーバーの実行
- 仮想環境がアクティブであることを確認します。
- MCP サーバーを実行します。サーバーが起動し、リソース、ツール、プロンプトが登録されます。MCPクライアントまたは互換ツールを使用してサーバーと対話できます。Copy
サーバー機能
サーバーは、モデル コンテキスト プロトコルを通じて次の機能を公開します。
ツール
search_kaggle_datasets(query: str)
:- 指定されたクエリ文字列に一致する Kaggle 上のデータセットを検索します。
- 参照、タイトル、ダウンロード数、最終更新日などの詳細を含む、一致する上位 10 個のデータセットの JSON リストを返します。
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None)
:- 特定の Kaggle データセットのファイルをダウンロードして解凍します。
dataset_ref
:username/dataset-slug
の形式のデータセット識別子 (例:kaggle/titanic
)。download_path
(オプション): データセットのダウンロード先を指定します。省略した場合は、サーバースクリプトの場所を基準とした相対パス./datasets/<dataset_slug>/
がデフォルトとなります。
プロンプト
generate_eda_notebook(dataset_ref: str)
:- 指定された Kaggle データセット参照の基本的な探索的データ分析 (EDA) ノートブックを作成するための AI モデル (Gemini など) に適したプロンプト メッセージを生成し、
- プロンプトでは、データの読み込み、欠損値のチェック、視覚化、基本的な統計をカバーする Python コードが求められます。
Claudeデスクトップに接続しています
Claude > 設定 > 開発者 > 構成の編集 > claude_desktop_config.json に移動して、以下を追加します。
Copy
使用例
AI エージェントまたは MCP クライアントは、次のようにしてこのサーバーと対話できます。
- エージェント: 「Kaggle で「心臓病」に関するデータセットを検索してください」
- サーバーは
search_kaggle_datasets(query='heart disease')
を実行します。
- サーバーは
- エージェント: 「データセット 'user/heart-disease-dataset' をダウンロードしてください」
- サーバーは
download_kaggle_dataset(dataset_ref='user/heart-disease-dataset')
を実行します。
- サーバーは
- エージェント: 「'user/heart-disease-dataset' の EDA ノートブックプロンプトを生成します」
- サーバーは
generate_eda_notebook(dataset_ref='user/heart-disease-dataset')
を実行します。 - サーバーは構造化されたプロンプト メッセージを返します。
- サーバーは
- エージェント: (コード生成モデルにプロンプトを送信します) -> EDA Python コードを受信します。
This server cannot be installed
Kaggle API と連携して、データセットの検索とダウンロードのためのツールと、EDA ノートブックを生成するためのプロンプトを提供します。