Skip to main content

Kaggle MCP Server

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

Installation

Prerequisites

  • Python 3.10 or higher
  • A Kaggle account with API credentials

Install from Source

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

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": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/Kaggle-mcp",
        "run",
        "kaggle_mcp/server.py"
      ],
      "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:

kaggle-mcp

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.

Metadata

Release files for mcp-server-kaggle 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-server-kaggle 0.1.1
File Size Uploaded Provenance
mcp_server_kaggle-0.1.1.tar.gz 13.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-server-kaggle 0.1.1
File Interpreter ABI Platform
mcp_server_kaggle-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 27.4 kB

Release files / mcp_server_kaggle-0.1.1.tar.gz

Download URL mcp_server_kaggle-0.1.1.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2485f02476fede5be414c7a006ce06e50988f2ec639343e605c278dbea5ac4ad
BLAKE2b-256 checksum
How to use checksums
10b39bee1b9cd1567d701f4ab51276fa86dae62af8e762f53536673a18b5c1fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / mcp_server_kaggle-0.1.1-py3-none-any.whl

Download URL mcp_server_kaggle-0.1.1-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
327e937b7e36652d4b410b630c4b5abe361f74f6928c4f933ff030f72bd99aa1
BLAKE2b-256 checksum
How to use checksums
a24cb5956658e8ac295acb080035d36923dae471cb7da69a61c4e9a498b083e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for mcp-server-kaggle 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page