Skip to main content

A Model Context Protocol (MCP) server for the Kaggle API

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_kaggle-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_kaggle-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_kaggle-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_server_kaggle-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for mcp_server_kaggle-0.1.0.tar.gz
Algorithm Hash digest
SHA256 43167ed369bc09f7fbf948ddd062403436c87d1acc4d084432c2003e119e738c
MD5 33224d58d387fda9e91b6d6cf7912861
BLAKE2b-256 2f03e6ba895c05ebdbcf635c01bdbb1293a85625024b94bc07be35de9c06e8ee

See more details on using hashes here.

File details

Details for the file mcp_server_kaggle-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_kaggle-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c1af7537869ca594f9cff1c889d2ad4d17b54889283820082c3d3edc0bd07cb
MD5 4f403b95fd0f74cc3256e7dc32378a98
BLAKE2b-256 cedcb9264d2e99180f10120f0107353f8613bf86572a42ab631703a632e041f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page