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 データセットが保存されるデフォルトのディレクトリ。
設定
リポジトリをクローンします。
git clone <repository-url> cd <repository-directory>仮想環境を作成します (推奨):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venv依存関係をインストールします: pip を使用します:
pip install -r requirements.txtまたはuvを使用します:
uv syncKaggle API 資格情報を設定します。
方法1(推奨): 環境変数
.envファイルを作成する.envファイルを開き、Kaggle ユーザー名と API キーを追加します。KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_keyAPIキーはKaggleアカウントページ(
Account>API>Create New API Token)から取得できます。ユーザー名とキーを含むkaggle.jsonファイルがダウンロードされます。
方法2:
Kaggle アカウントから
kaggle.jsonファイルをダウンロードします。kaggle.jsonファイルを適切な場所(Linux/macOS の場合は通常~/.kaggle/kaggle.json、Windows の場合はC:\Users\<Your User Name>\.kaggle\kaggle.json)に配置します。環境変数が設定されていない場合、kaggleライブラリはこのファイルを自動的に検出します。
サーバーの実行
仮想環境がアクティブであることを確認します。
MCP サーバーを実行します。
uv run kaggle-mcpサーバーが起動し、リソース、ツール、プロンプトが登録されます。MCPクライアントまたは互換ツールを使用してサーバーと対話できます。
Dockerコンテナの実行
1. Kaggle API 認証情報を設定する
このプロジェクトでは、Kaggle データセットにアクセスするために Kaggle API 認証情報が必要です。
https://www.kaggle.com/settingsにアクセスし、「Create New API Token」をクリックして
kaggle.jsonファイルをダウンロードします。kaggle.jsonファイルを開き、ユーザー名とキーをプロジェクト ルートの新しい.envファイルにコピーします。
2. Dockerイメージをビルドする
3. .envファイルを使用してDockerコンテナを実行する
これにより、Kaggle の認証情報がコンテナ内の環境変数として自動的に読み込まれます。
サーバー機能
サーバーは、モデル コンテキスト プロトコルを通じて次の機能を公開します。
ツール
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 に移動して、以下を追加します。
使用例
AI エージェントまたは MCP クライアントは、次のようにしてこのサーバーと対話できます。
エージェント: 「Kaggle で「心臓病」に関するデータセットを検索してください」
サーバーは
エージェント: 「データセット 'user/heart-disease-dataset' をダウンロードしてください」
サーバーは
エージェント: 「'user/heart-disease-dataset' の EDA ノートブックプロンプトを生成します」
サーバーは
サーバーは構造化されたプロンプト メッセージを返します。
エージェント: (コード生成モデルにプロンプトを送信します) -> EDA Python コードを受信します。
local-only server
The server can only run on the client's local machine because it depends on local resources.
Kaggle API と連携して、データセットの検索とダウンロードのためのツールと、EDA ノートブックを生成するためのプロンプトを提供します。
Related MCP Servers
- Asecurity-licenseAqualityAllows the use of Kagi's API for web searching and content enrichment through methods like fastgpt, enrich/web, and enrich/news.Last updated -2MIT License
- -security-license-qualityConnects Claude AI to the Kaggle API through the Model Context Protocol, enabling competition, dataset, and kernel operations through the AI interface.Last updated -16MIT License
Dumpling AI MCP Serverofficial
Asecurity-licenseAqualityIntegrates with Dumpling AI to provide data scraping, content processing, knowledge management, and code execution capabilities through tools for web interactions, document handling, and AI services.Last updated -271728MIT License- Asecurity-licenseAqualityProvides tools to interact with the Dash documentation browser API, allowing users to list installed docsets, search across documentation, and enable full-text search.Last updated -346MIT License