io.github.Seif-Sameh/Kaggle-mcp
Provides tools for interacting with Kaggle's API, enabling AI agents to manage competitions, datasets, kernels, and models on the Kaggle platform.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.Seif-Sameh/Kaggle-mcpList the latest Kaggle competitions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kaggle MCP Server
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
Related MCP server: mcp-kaggle-tool
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-kaggleOr install it explicitly:
pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggleInstall from Source
For development or local modifications:
git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv syncSetup
1. Get Your Kaggle API Credentials
Scroll to the "API" section
Click "Create New Token"
This downloads
kaggle.jsonwith your credentials
2. Configure Credentials
Option A: Environment Variables (Recommended)
export KAGGLE_USERNAME=your_username
export KAGGLE_API_KEY=your_api_keyOr add to your ~/.zshrc or ~/.bashrc:
echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrc
echo 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrc
source ~/.zshrcOption B: Using .env File
Create a .env file in your project directory:
KAGGLE_USERNAME=your_username
KAGGLE_API_KEY=your_api_keyUsage
With Claude Desktop
The recommended way to use Kaggle MCP is with Claude Desktop.
Locate your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
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"
}
}
}
}Restart Claude Desktop
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-kaggleOr as a Python module:
python -m kaggle_mcpAvailable Tools
Competitions (8 tools)
Tool | Description |
| List and search available competitions |
| List all files in a competition |
| Download a specific competition file |
| Download all competition files |
| Submit predictions to a competition |
| View your submission history |
| View the competition leaderboard |
| Download leaderboard data |
Datasets (10 tools)
Tool | Description |
| Search and filter datasets |
| Get dataset metadata |
| List files in a dataset |
| Check dataset processing status |
| Download a specific dataset file |
| Download all dataset files |
| Create a new dataset |
| Initialize dataset metadata |
| Create a new dataset version |
Kernels (7 tools)
Tool | Description |
| Search and filter kernels |
| List files in a kernel |
| Initialize kernel metadata |
| Push a kernel to Kaggle |
| Download a kernel |
| Download kernel output files |
| Check kernel execution status |
Models (14 tools)
Tool | Description |
| Search and filter models |
| Get model details and metadata |
| Initialize model metadata |
| Create a new model |
| Update model information |
| Delete a model |
| Get model instance details |
| Initialize model instance metadata |
| Create a new model instance |
| Update a model instance |
| Delete a model instance |
| Create a new model version |
| Download a model version |
| Delete 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Seif-Sameh/Kaggle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server