Back to Browse

Kaggle MCP Server

Developer ToolsUse Caution3.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

3.2
Use Caution3.2High Risk

This Kaggle MCP server has reasonable authentication and permission handling, but several code quality and security concerns lower the score. The server properly requires Kaggle API credentials via environment variables and implements appropriate error handling in most tools. However, there are critical issues: the `init_gaggle()` function writes credentials to disk in plaintext with insufficient access controls, missing input validation on several file path parameters enables potential path traversal, inconsistent async/sync function usage creates unnecessary complexity, and broad exception catching masks real errors. While permissions are appropriate for the server's purpose, the credential handling vulnerability and path traversal risks are significant. Supply chain analysis found 6 known vulnerabilities in dependencies (1 critical, 3 high severity). Package verification found 1 issue.

3 files analyzed · 15 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

process_spawn

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Your Kaggle account usernameOptional

Environment variable: KAGGLE_USERNAME

Your Kaggle API key (from https://www.kaggle.com/account)Required

Environment variable: KAGGLE_API_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-seif-sameh-kaggle-mcp": {
      "env": {
        "KAGGLE_API_KEY": "your-kaggle-api-key-here",
        "KAGGLE_USERNAME": "your-kaggle-username-here"
      },
      "args": [
        "mcp-server-kaggle"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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:

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)

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.

Reviews

No reviews yet

Be the first to review this server!