Skip to main content
Glama
Seif-Sameh

io.github.Seif-Sameh/Kaggle-mcp

by Seif-Sameh

Kaggle MCP Server

PyPI MCP Registry License: MIT

A Model Context Protocol (MCP) server that provides seamless integration with the Kaggle API. Interact with Kaggle competitions, datasets, kernels, and models through MCP-compatible clients like Claude Desktop.

Features

  • Competitions: List, download files, submit, view leaderboards and submissions

  • Datasets: Search, download, create, and manage datasets with version control

  • Kernels: List, push, pull, and manage Kaggle notebooks and scripts

  • Models: Create, update, and manage ML models and instances with full version control

Related MCP server: kaggle-mcp

Installation

Prerequisites

  • Python 3.10 or higher

  • A Kaggle account with API credentials

Install from PyPI

The recommended way is to run the server with uvx, which handles the install for you:

uvx mcp-server-kaggle

Or install it explicitly:

pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggle

Install from Source

For development or local modifications:

git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv sync

Setup

1. Get Your Kaggle API Credentials

  1. Go to https://www.kaggle.com/account

  2. Scroll to the "API" section

  3. Click "Create New Token"

  4. This downloads kaggle.json with your credentials

2. Configure Credentials

Option A: Environment Variables (Recommended)

export KAGGLE_USERNAME=your_username
export KAGGLE_API_KEY=your_api_key

Or add to your ~/.zshrc or ~/.bashrc:

echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrc
echo 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrc
source ~/.zshrc

Option B: Using .env File

Create a .env file in your project directory:

KAGGLE_USERNAME=your_username
KAGGLE_API_KEY=your_api_key

Usage

With Claude Desktop

The recommended way to use Kaggle MCP is with Claude Desktop.

  1. Locate your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. Add the Kaggle MCP server configuration:

{
  "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"
      }
    }
  }
}
  1. Restart Claude Desktop

  2. Start using Kaggle through Claude!

Try asking Claude:

  • "List the latest Kaggle competitions"

  • "Download the Titanic dataset"

  • "Show me my recent competition submissions"

  • "Search for NLP datasets"

Standalone Usage

Run the MCP server directly:

mcp-server-kaggle

Or as a Python module:

python -m kaggle_mcp

Available Tools

Competitions (8 tools)

Tool

Description

competitions_list

List and search available competitions

competition_list_files

List all files in a competition

competition_download_file

Download a specific competition file

competition_download_files

Download all competition files

competition_submit

Submit predictions to a competition

competition_submissions

View your submission history

competition_leaderboard_view

View the competition leaderboard

competition_leaderboard_download

Download leaderboard data

Datasets (10 tools)

Tool

Description

datasets_list

Search and filter datasets

dataset_metadata

Get dataset metadata

dataset_list_files

List files in a dataset

dataset_status

Check dataset processing status

dataset_download_file

Download a specific dataset file

dataset_download_files

Download all dataset files

dataset_create

Create a new dataset

dataset_initialize

Initialize dataset metadata

dataset_create_version

Create a new dataset version

Kernels (7 tools)

Tool

Description

kernels_list

Search and filter kernels

kernel_list_files

List files in a kernel

kernel_initialize

Initialize kernel metadata

kernel_push

Push a kernel to Kaggle

kernel_pull

Download a kernel

kernel_output

Download kernel output files

kernel_status

Check kernel execution status

Models (14 tools)

Tool

Description

models_list

Search and filter models

model_get

Get model details and metadata

model_initialize

Initialize model metadata

model_create

Create a new model

model_update

Update model information

model_delete

Delete a model

model_instance_get

Get model instance details

model_instance_initialize

Initialize model instance metadata

model_instance_create

Create a new model instance

model_instance_update

Update a model instance

model_instance_delete

Delete a model instance

model_instance_version_create

Create a new model version

model_instance_version_download

Download a model version

model_instance_version_delete

Delete a model version

Examples

Example 1: Working with Competitions

Ask Claude:

"List active Kaggle competitions about computer vision"

Claude will use the competitions_list tool to search and display relevant competitions.

Example 2: Downloading Datasets

Ask Claude:

"Download the Titanic dataset to my Downloads folder"

Claude will use dataset_download_files to fetch all dataset files.

Example 3: Submitting to Competitions

Ask Claude:

"Submit my predictions.csv to the Titanic competition with the message 'Initial baseline model'"

Claude will use competition_submit to upload your submission.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Related MCP Connectors

Related MCP Servers