Skip to main content
Glama

鍛冶屋のバッジ

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 データセットが保存されるデフォルトのディレクトリ。

Related MCP server: Kaggle-MCP

設定

  1. リポジトリをクローンします。

    git clone <repository-url> cd <repository-directory>
  2. 仮想環境を作成します (推奨):

    python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venv
  3. 依存関係をインストールします: pip を使用します:

    pip install -r requirements.txt

    またはuvを使用します:

    uv sync
  4. Kaggle API 資格情報を設定します。

    • 方法1(推奨): 環境変数

      • .envファイルを作成する

      • .envファイルを開き、Kaggle ユーザー名と API キーを追加します。

        KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_key
      • APIキーは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ライブラリはこのファイルを自動的に検出します。

サーバーの実行

  1. 仮想環境がアクティブであることを確認します。

  2. 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ファイルにコピーします。

KAGGLE_USERNAME=your_username KAGGLE_KEY=your_key

2. Dockerイメージをビルドする

docker build -t kaggle-mcp-test .

3. .envファイルを使用してDockerコンテナを実行する

docker run --rm -it --env-file .env kaggle-mcp-test

これにより、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 に移動して、以下を追加します。

{ "mcpServers": { "kaggle-mcp": { "command": "kaggle-mcp", "cwd": "<path-to-their-cloned-repo>/kaggle-mcp" } } }

使用例

AI エージェントまたは MCP クライアントは、次のようにしてこのサーバーと対話できます。

  1. エージェント: 「Kaggle で「心臓病」に関するデータセットを検索してください」

    • サーバーは

  2. エージェント: 「データセット 'user/heart-disease-dataset' をダウンロードしてください」

    • サーバーは

  3. エージェント: 「'user/heart-disease-dataset' の EDA ノートブックプロンプトを生成します」

    • サーバーは

    • サーバーは構造化されたプロンプト メッセージを返します。

  4. エージェント: (コード生成モデルにプロンプトを送信します) -> EDA Python コードを受信します。

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arrismo/kaggle-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server