Skip to main content
Glama
mcp-kaggle-tool
by MikeyBeez

mcp-kaggle-tool

MCP server for Kaggle API integration - create, run, and manage Kaggle notebooks programmatically.

πŸš€ Features

  • βœ… Authentication check for Kaggle API

  • πŸ“ Create and manage Kaggle notebooks

  • πŸƒ Run notebooks with GPU support

  • πŸ“Š Search datasets and competitions

  • πŸ’Ύ Download notebook outputs

  • πŸ” Monitor execution status

Related MCP server: kaggle-mcp-server

πŸ“‹ Prerequisites

  1. Kaggle Account: You need a Kaggle account

  2. Kaggle API Token:

  3. Kaggle CLI: Install the Kaggle CLI:

    pip install kaggle

πŸ› οΈ Installation

From npm (when published)

npm install -g mcp-kaggle-tool

From source

git clone https://github.com/yourusername/mcp-kaggle-tool.git
cd mcp-kaggle-tool
npm install
npm run build

πŸ”§ Configuration

For Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "kaggle": {
      "command": "npx",
      "args": ["mcp-kaggle-tool"]
    }
  }
}

Or if running from source:

{
  "mcpServers": {
    "kaggle": {
      "command": "node",
      "args": ["/path/to/mcp-kaggle-tool/dist/index.js"]
    }
  }
}

πŸ“š Available Tools

Authentication

  • kaggle_auth_check - Verify Kaggle API credentials are configured

Notebooks

  • kaggle_list_notebooks - List your Kaggle notebooks

  • kaggle_create_notebook - Create a new notebook with code

  • kaggle_run_notebook - Execute a notebook

  • kaggle_get_notebook_status - Check execution status

  • kaggle_download_notebook_output - Download notebook outputs

Data & Competitions

  • kaggle_search_datasets - Search for datasets

  • kaggle_list_competitions - List active competitions

πŸ’‘ Usage Examples

Check Authentication

Use kaggle_auth_check to verify your credentials are set up

Create and Run a Notebook

1. Create a notebook with kaggle_create_notebook:
   - title: "My ARC Experiment"
   - code: "print('Hello from Kaggle!')"
   - enableGpu: true

2. Monitor with kaggle_get_notebook_status
3. Download results with kaggle_download_notebook_output

Search ARC Dataset

Use kaggle_search_datasets with search: "abstraction reasoning corpus"

🚧 Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development
npm run dev

# Run tests
npm test

# Lint code
npm run lint

πŸ“ License

MIT License - see LICENSE file for details.

🀝 Contributing

Contributions welcome! Please open an issue or submit a PR.

πŸ› Known Issues

  • Kaggle API sometimes returns HTML instead of JSON for certain commands

  • Notebook execution status may take time to update

  • GPU availability depends on Kaggle quota

πŸ”— Resources

Available Tools

8 tools
kaggle_auth_checkA

Check if Kaggle API credentials are configured

Inputs: no named parameters.

kaggle_create_notebookB

Create a new Kaggle notebook

Inputs: title (required), code (required), language, isPrivate, +3 more.

kaggle_download_notebook_outputC

Download the output of a completed notebook

Inputs: kernelSlug (required), outputPath.

kaggle_get_notebook_statusB

Get the status of a notebook execution

Inputs: kernelSlug (required).

kaggle_list_competitionsC

List Kaggle competitions

Inputs: group, category, sortBy.

kaggle_list_notebooksB

List your Kaggle notebooks (kernels)

Inputs: page, pageSize.

kaggle_run_notebookC

Run/execute a Kaggle notebook

Inputs: kernelSlug (required).

kaggle_search_datasetsC

Search for Kaggle datasets

Inputs: search (required), page.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: auth check, notebook CRUD, status, output download, listing competitions/notebooks, and dataset search. No overlapping functionality.

    Naming Consistency5/5

    All tools follow a consistent 'kaggle_verb_noun' pattern with underscores, making it easy to predict tool names.

    Tool Count5/5

    With 8 tools, the server covers the main Kaggle operations (authentication, notebook lifecycle, listings, dataset search) without being too sparse or bloated.

    Completeness3/5

    Covers notebook lifecycle well (create, run, status, download) and includes listings for competitions and notebooks, but lacks dataset download, competition submission, and credential management beyond check.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers