Kaggle Mcp

io.github.Seif-SamehPublished by GitHub account Seif-Samehv0.1.1Updated Oct 27, 2026

MCP server for the Kaggle API: competitions, datasets, kernels, and models.

VerifiedSTDIODesktop onlyData & AnalyticsAI & ML

Overview

AI-generated overview

Local MCP server for the Kaggle API that lets an assistant browse competitions, datasets, kernels and models, download files, and submit entries.

What you can do
  • List and search competitions, view leaderboards and submission history, download competition files and submit predictions
  • Search, inspect, download, create and version datasets
  • List, initialize, push, pull and check status of kernels and their output files
  • Create, update and delete models, model instances and model versions, and download model versions
When to use it
Useful when you work on Kaggle from an MCP client such as Claude Desktop and want the assistant to find competitions or datasets, pull data and notebooks locally, or manage models and submissions without switching to the Kaggle website.
Requirements
Runs locally as a Python package (Python 3.10 or higher), typically launched with uvx or pip. Needs a Kaggle account and API credentials supplied as the KAGGLE_USERNAME and KAGGLE_API_KEY environment variables (or a .env file). Network access to Kaggle is required.
Before you install
The server holds your Kaggle API credentials, which grant access to your account. Several tools write to Kaggle: competition submissions, dataset creation and versioning, kernel pushes, and model, instance and version creation or deletion. Downloads write files to your machine. Review actions before letting an assistant submit or delete anything.

Installation

In SourceWeft

  1. Open Kaggle Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

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:

bash
uvx mcp-server-kaggle

Or install it explicitly:

bash
pip install mcp-server-kaggle# oruv tool install mcp-server-kaggle

Install from Source

For development or local modifications:

bash
git clone https://github.com/Seif-Sameh/Kaggle-mcp.gitcd Kaggle-mcpuv 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)

bash
export KAGGLE_USERNAME=your_usernameexport KAGGLE_API_KEY=your_api_key

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

bash
echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrcecho 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrcsource ~/.zshrc

Option B: Using .env File

Create a .env file in your project directory:

env
KAGGLE_USERNAME=your_usernameKAGGLE_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:

json
{  "mcpServers": {    "kaggle": {      "command": "uvx",      "args": ["mcp-server-kaggle"],      "env": {        "KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",        "KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"      }    }  }}
Running from a local source clone (alternative)
json
{  "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:

bash
mcp-server-kaggle

Or as a Python module:

bash
python -m kaggle_mcp

Available Tools

Competitions (8 tools)

ToolDescription
competitions_listList and search available competitions
competition_list_filesList all files in a competition
competition_download_fileDownload a specific competition file
competition_download_filesDownload all competition files
competition_submitSubmit predictions to a competition
competition_submissionsView your submission history
competition_leaderboard_viewView the competition leaderboard
competition_leaderboard_downloadDownload leaderboard data

Datasets (10 tools)

ToolDescription
datasets_listSearch and filter datasets
dataset_metadataGet dataset metadata
dataset_list_filesList files in a dataset
dataset_statusCheck dataset processing status
dataset_download_fileDownload a specific dataset file
dataset_download_filesDownload all dataset files
dataset_createCreate a new dataset
dataset_initializeInitialize dataset metadata
dataset_create_versionCreate a new dataset version

Kernels (7 tools)

ToolDescription
kernels_listSearch and filter kernels
kernel_list_filesList files in a kernel
kernel_initializeInitialize kernel metadata
kernel_pushPush a kernel to Kaggle
kernel_pullDownload a kernel
kernel_outputDownload kernel output files
kernel_statusCheck kernel execution status

Models (14 tools)

ToolDescription
models_listSearch and filter models
model_getGet model details and metadata
model_initializeInitialize model metadata
model_createCreate a new model
model_updateUpdate model information
model_deleteDelete a model
model_instance_getGet model instance details
model_instance_initializeInitialize model instance metadata
model_instance_createCreate a new model instance
model_instance_updateUpdate a model instance
model_instance_deleteDelete a model instance
model_instance_version_createCreate a new model version
model_instance_version_downloadDownload a model version
model_instance_version_deleteDelete 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.

Source: README.md at commit 62b5cb0

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts