Get the FREE Ultimate OpenClaw Setup Guide →

kaggle

MCP server for interacting with Kaggle competitions

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio dishant27-kaggle-mcp node build/index.js \
  --env KAGGLE_KEY="your-kaggle-api-key" \
  --env KAGGLE_USERNAME="your-kaggle-username"

How to use

This MCP server provides a Kaggle integration that lets Claude or other compatible AI assistants interact with Kaggle competitions. It exposes operations to list active competitions, download competition files, submit predictions, and view submission histories, enabling end-to-end workflows from natural language prompts. The server is designed to work with the Kaggle CLI API credentials, which can be supplied either via a kaggle.json file or through environment variables in the Claude Desktop configuration. Once running, you can query for competitions, fetch data assets for a given competition, and submit predictions along with contextual messages.

To use it with Claude Desktop, connect via the Claude configuration by pointing to the Node-based server entry point (build/index.js) and provide your Kaggle credentials either through a kaggle.json setup or via environment variables in your claude_desktop_config.json. After connection, you can issue prompts like: “Show me active Kaggle competitions,” “Download files for the Titanic competition,” or “Submit my predictions.csv to housing-prices with message ‘Ensemble model’.” The server will translate these requests into Kaggle API calls and return results, statuses, and any relevant data directly to your assistant. Submissions and results can be monitored through the List Submissions capability, which provides statuses and scores.

How to install

Prerequisites

  • Node.js 16 or higher
  • TypeScript (for build tooling, if applicable)
  • Kaggle CLI installed (pip install kaggle)
  • Kaggle API credentials configured (kaggle.json or environment variables)

Installation steps

  1. Clone the repository git clone https://github.com/dishant27-kaggle-mcp/kaggle-mcp-server.git cd kaggle-mcp-server

  2. Install dependencies npm install

  3. Build the project (if a build step exists) npm run build

  4. Run the server npm start

  5. Optional: configure Claude Desktop with Kaggle credentials

    • Use a kaggle.json file placed at ~/.kaggle/kaggle.json (or equivalent) or
    • Add environment variables KAGGLE_USERNAME and KAGGLE_KEY in claude_desktop_config.json under the kaggle server config.

Note: If you plan to run in a container or a different environment, ensure Node.js runtime and the Kaggle CLI dependencies are available and that the environment variables or kaggle.json file are accessible to the running process.

Additional notes

Tips and common considerations:

  • Ensure Kaggle API credentials are valid and have not expired. If you regenerate tokens, update KAGGLE_USERNAME and KAGGLE_KEY or kaggle.json accordingly.
  • If using kaggle.json, place it in the standard location (~/.kaggle/kaggle.json on Linux/macOS or C:\Users<USER>.kaggle\kaggle.json on Windows) and set permissions (chmod 600) where applicable.
  • When using Claude Desktop, you can embed credentials directly in claude_desktop_config.json under the kaggle server’s env section as shown in the example, but prefer kaggle.json for security in production.
  • The server supports listing competitions, downloading files with optional custom paths, submitting predictions with messages, and listing submissions with statuses and scores.
  • If you encounter authentication issues, verify both the location of kaggle.json and the environment variable configuration in Claude Desktop.
  • All features referenced in the README, including dataset operations and notebook integrations, are available in the feature-complete branch if you pull that branch.

Related MCP Servers

Sponsor this space

Reach thousands of developers