NestDaddy

Safe Kaggle MCP

io.github.parkseokjune/kaggle-mcp · v0.4.1

Safety-first Kaggle MCP — confirm-gated destructive ops, submission budget, injection-fenced.

Connect Runs on your machine

Terminal
claude mcp add kaggle-mcp -e KAGGLE_USERNAME=<KAGGLE_USERNAME> -e KAGGLE_KEY=<KAGGLE_KEY> -e KAGGLE_API_TOKEN=<KAGGLE_API_TOKEN> -e KAGGLE_MCP_ENABLE_DESTRUCTIVE=<KAGGLE_MCP_ENABLE_DESTRUCTIVE> -e KAGGLE_MCP_ENABLE_PUBLISH=<KAGGLE_MCP_ENABLE_PUBLISH> -e KAGGLE_MCP_SUBMISSION_CAP=<KAGGLE_MCP_SUBMISSION_CAP> -- uvx safe-kaggle-mcp==0.4.1
claude_desktop_config.json
{
  "mcpServers": {
    "kaggle-mcp": {
      "command": "uvx",
      "args": [
        "safe-kaggle-mcp==0.4.1"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_KEY": "<KAGGLE_KEY>",
        "KAGGLE_API_TOKEN": "<KAGGLE_API_TOKEN>",
        "KAGGLE_MCP_ENABLE_DESTRUCTIVE": "<KAGGLE_MCP_ENABLE_DESTRUCTIVE>",
        "KAGGLE_MCP_ENABLE_PUBLISH": "<KAGGLE_MCP_ENABLE_PUBLISH>",
        "KAGGLE_MCP_SUBMISSION_CAP": "<KAGGLE_MCP_SUBMISSION_CAP>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "kaggle-mcp": {
      "command": "uvx",
      "args": [
        "safe-kaggle-mcp==0.4.1"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_KEY": "<KAGGLE_KEY>",
        "KAGGLE_API_TOKEN": "<KAGGLE_API_TOKEN>",
        "KAGGLE_MCP_ENABLE_DESTRUCTIVE": "<KAGGLE_MCP_ENABLE_DESTRUCTIVE>",
        "KAGGLE_MCP_ENABLE_PUBLISH": "<KAGGLE_MCP_ENABLE_PUBLISH>",
        "KAGGLE_MCP_SUBMISSION_CAP": "<KAGGLE_MCP_SUBMISSION_CAP>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "kaggle-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "safe-kaggle-mcp==0.4.1"
      ],
      "env": {
        "KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
        "KAGGLE_KEY": "<KAGGLE_KEY>",
        "KAGGLE_API_TOKEN": "<KAGGLE_API_TOKEN>",
        "KAGGLE_MCP_ENABLE_DESTRUCTIVE": "<KAGGLE_MCP_ENABLE_DESTRUCTIVE>",
        "KAGGLE_MCP_ENABLE_PUBLISH": "<KAGGLE_MCP_ENABLE_PUBLISH>",
        "KAGGLE_MCP_SUBMISSION_CAP": "<KAGGLE_MCP_SUBMISSION_CAP>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
KAGGLE_USERNAME
Optional
Kaggle account username (legacy scheme; pair with KAGGLE_KEY). Optional — read-only tools work without credentials.
KAGGLE_KEY
Optional, secret
Kaggle API key, the 40-char 'key' from kaggle.json (legacy scheme; pair with KAGGLE_USERNAME).
KAGGLE_API_TOKEN
Optional, secret
Modern Kaggle KGAT_... token (alternative to KAGGLE_USERNAME/KAGGLE_KEY). Optional.
KAGGLE_MCP_ENABLE_DESTRUCTIVE
Optional
Set to 1 to expose delete tools. Default 0 (off).
KAGGLE_MCP_ENABLE_PUBLISH
Optional
Set to 1 to allow making datasets/kernels public. Default 0 (off).
KAGGLE_MCP_SUBMISSION_CAP
Optional
Daily per-competition submission budget. Default 5.

Details

Package[email protected] (PYPI, stdio)
First published16 Jun 2026
Last updated16 Jun 2026
Registry nameio.github.parkseokjune/kaggle-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.