Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
io.github.Seif-Sameh/Kaggle-mcp logo

io.github.Seif-Sameh/Kaggle-mcp

Seif-Sameh/Kaggle-mcp
0 starsv0.1.1STDIORegistry activeMITUpdated 2026-06-12Community

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

claude mcp add kaggle -- uvx mcp-server-kaggle

Summary

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

Connect from your MCP client

One-click install

Add this server to your editor with a single click. Fill in any required credentials afterward.

Claude Code

Run this once and Claude Code registers the server for you:

claude mcp add kaggle -- uvx mcp-server-kaggle

Claude Desktop

Add this to claude_desktop_config.json under Settings → Developer → Edit Config:

{
  "mcpServers": {
    "kaggle": {
      "command": "uvx",
      "args": [
        "mcp-server-kaggle"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_API_KEY": "<KAGGLE_API_KEY>"
      }
    }
  }
}

Cursor

Add this to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):

{
  "mcpServers": {
    "kaggle": {
      "command": "uvx",
      "args": [
        "mcp-server-kaggle"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_API_KEY": "<KAGGLE_API_KEY>"
      }
    }
  }
}

Cline and other MCP clients

Most MCP clients accept the standard mcpServers JSON block:

{
  "mcpServers": {
    "kaggle": {
      "command": "uvx",
      "args": [
        "mcp-server-kaggle"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_API_KEY": "<KAGGLE_API_KEY>"
      }
    }
  }
}

Codex CLI

Register the server with OpenAI's Codex CLI — run this once, or add the equivalent block to ~/.codex/config.toml:

codex mcp add kaggle --env KAGGLE_USERNAME=<KAGGLE_USERNAME> --env KAGGLE_API_KEY=<KAGGLE_API_KEY> -- uvx mcp-server-kaggle

# or add to ~/.codex/config.toml:
[mcp_servers.kaggle]
command = "uvx"
args = ["mcp-server-kaggle"]
[mcp_servers.kaggle.env]
KAGGLE_USERNAME = "<KAGGLE_USERNAME>"
KAGGLE_API_KEY = "<KAGGLE_API_KEY>"

OpenClaw

OpenClaw reads MCP servers from the mcp.servers section of ~/.openclaw/openclaw.json (managed via `openclaw mcp add` or the mcporter skill):

{
  "mcp": {
    "servers": {
      "kaggle": {
        "command": "uvx",
        "args": [
          "mcp-server-kaggle"
        ],
        "env": {
          "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
          "KAGGLE_API_KEY": "<KAGGLE_API_KEY>"
        }
      }
    }
  }
}

Replace the <PLACEHOLDER> values with your own credentials — see the configuration table below.

Configuration

io.github.Seif-Sameh/Kaggle-mcp reads the following environment variables:

VariableRequired
KAGGLE_USERNAMERequired
KAGGLE_API_KEYRequired

README.md

Kaggle MCP Server

<!-- mcp-name: io.github.Seif-Sameh/Kaggle-mcp -->

![PyPI](https://pypi.org/project/mcp-server-kaggle/) ![MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.Seif-Sameh/Kaggle-mcp) ![License: MIT](LICENSE)

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:

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
  1. 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"
      }
    }
  }
}

<details> <summary>Running from a local source clone (alternative)</summary>

{
  "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"
      }
    }
  }
}

</details>

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

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Developer Tools servers.