Skip to main content
Glama
Dishant27

Kaggle MCP Server

by Dishant27

Kaggle MCP Server

A Model Context Protocol (MCP) server for interacting with Kaggle competitions through Claude or other compatible AI assistants.

📖 Learn More

Want to understand the full potential of this server? Check out the detailed article:

AI-Powered Data Science Revolution: How Kaggle MCP Server Transforms AI Capabilities

Related MCP server: kaggle-mcp

Prerequisites

  • Node.js 16 or higher

  • TypeScript

  • Kaggle CLI installed (pip install kaggle)

  • Kaggle API credentials configured

Authentication Setup

There are two ways to authenticate with the Kaggle API:

Option 1: Using a kaggle.json file (Standard approach)

  1. Install the Kaggle CLI:

pip install kaggle
  1. Go to https://www.kaggle.com/account and click "Create New API Token"

  2. This will download a kaggle.json file with your credentials

  3. Create a .kaggle directory in your home folder (if it doesn't exist)

# On Linux/Mac
mkdir -p ~/.kaggle

# On Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$HOME\.kaggle"
  1. Move the downloaded kaggle.json file to the .kaggle directory:

# On Linux/Mac
mv ~/Downloads/kaggle.json ~/.kaggle/
chmod 600 ~/.kaggle/kaggle.json  # Set permissions

# On Windows (PowerShell)
Move-Item -Path "$HOME\Downloads\kaggle.json" -Destination "$HOME\.kaggle\kaggle.json"

Option 2: Using Claude for Desktop Configuration (Simpler)

You can directly add your Kaggle credentials to your claude_desktop_config.json file:

{
  "mcpServers": {
    "kaggle": {
      "command": "node",
      "args": ["/path/to/build/index.js"],
      "env": {
        "KAGGLE_USERNAME": "your-kaggle-username",
        "KAGGLE_KEY": "your-kaggle-api-key"
      }
    }
  }
}

Replace your-kaggle-username and your-kaggle-api-key with your actual Kaggle credentials.

Installation

  1. Clone this repository

  2. Install dependencies:

npm install
  1. Build the project:

npm run build

Usage

Running the server

npm start

Or directly:

node build/index.js

Connecting with Claude for Desktop

Add the following configuration to your claude_desktop_config.json file.

Example Queries

Once connected to Claude, you can ask questions like:

  • "Show me the active Kaggle competitions"

  • "Search for image classification competitions"

  • "Download the files for the Titanic competition"

  • "Submit my predictions.csv file to the housing-prices competition with the message 'Random forest model'"

  • "Show me my submissions for the digit-recognizer competition"

Troubleshooting

Authentication Issues

If you encounter authentication errors:

  1. Verify your credentials are correctly set:

    • If using kaggle.json, check it's in the correct location:

      • Linux/Mac: ~/.kaggle/kaggle.json

      • Windows: C:\Users\<USERNAME>\.kaggle\kaggle.json

    • If using environment variables, check the env section in your claude_desktop_config.json

  2. For kaggle.json, check if the file has the correct permissions:

    • On Linux/Mac, run: chmod 600 ~/.kaggle/kaggle.json

  3. Make sure your API token is still valid. If needed, generate a new one from your Kaggle account page.

Installation Issues

If the Kaggle CLI is not found:

  1. Make sure you have installed it with: pip install kaggle

  2. Verify that the Kaggle command is in your PATH by running: kaggle --version

Current Capabilities

The server currently provides the following operations for Kaggle competitions:

🔍 List Competitions

  • List all active Kaggle competitions

  • Search competitions by keyword

  • Support for pagination to browse through results

  • Display competition details including name, category, deadline, and prize

📥 Download Competition Files

  • Download files for any competition

  • Specify custom download path

  • Force re-download of existing files

  • Works with all public competition datasets

📤 Submit to Competitions

  • Submit prediction files to competitions

  • Add custom submission messages

  • Get immediate feedback on submission status

  • Requires prior acceptance of competition rules on Kaggle website

📋 List Submissions

  • View submission history for a specific competition

  • See submission status and scores

  • Track multiple submissions over time

All Features Now Available

All the features previously listed as "Coming Soon" are now available in the feature-complete branch of this repository. This includes:

  • Dataset Operations: Browse, search, download, and analyze datasets from Kaggle

  • Notebook Integration: Work with Kaggle notebooks directly from your AI assistant

  • User Management: Check profile information and competition standings

  • Competition Analysis: Get detailed competition metrics and leaderboard insights

Check out the feature-complete branch for the most up-to-date and comprehensive implementation of the Kaggle MCP server.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude AI to the Kaggle API through the Model Context Protocol, enabling competition, dataset, and kernel operations through the AI interface.
    35
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude AI to the Kaggle API through the Model Context Protocol, enabling users to browse competitions, search and download datasets, analyze kernels, and access pre-trained models through natural language interactions.
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI assistants to interact with CrowdCent's prediction challenges, allowing them to access challenges, download datasets, submit predictions, and monitor submissions through natural language commands.
    13
    1
    MIT