io.github.Seif-Sameh/Kaggle-mcp
MCP server for the Kaggle API: competitions, datasets, kernels, and models.
Que pouvez-vous faire avec io.github.Seif-Sameh/Kaggle-mcp ?
- 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
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
mcp-server-kaggleclaude mcp add kaggle-mcp -e 'KAGGLE_USERNAME=<KAGGLE_USERNAME>' -e 'KAGGLE_API_KEY=<your kaggle_api_key>' -- uvx mcp-server-kaggle==0.1.1
{
"mcpServers": {
"kaggle-mcp": {
"command": "uvx",
"args": [
"mcp-server-kaggle==0.1.1"
],
"env": {
"KAGGLE_USERNAME": "<KAGGLE_USERNAME>",
"KAGGLE_API_KEY": "<your kaggle_api_key>"
}
}
}
}
Variables d'environnement
KAGGLE_USERNAMEobligatoire Your Kaggle account usernameKAGGLE_API_KEYobligatoire secret Your Kaggle API key (from https://www.kaggle.com/account)
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
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
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-kaggle
Or install it explicitly:
pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggle
Install from Source
For development or local modifications:
git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv sync
Setup
1. Get Your Kaggle API Credentials
- Go to https://www.kaggle.com/account
- 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_key
Or add to your ~/.zshrc or ~/.bashrc:
echo 'export KAGGLE_USERNAME=your_username' >> ~/.zshrc
echo 'export KAGGLE_API_KEY=your_api_key' >> ~/.zshrc
source ~/.zshrc
Option B: Using .env File
Create a .env file in your project directory:
KAGGLE_USERNAME=your_username
KAGGLE_API_KEY=your_api_key
Usage
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.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- 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"
}
}
}
}
Running from a local source clone (alternative)
{
"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-kaggle
Or as a Python module:
python -m kaggle_mcp
Available Tools
Competitions (8 tools)
| Tool | Description |
|---|---|
competitions_list | List and search available competitions |
competition_list_files | List all files in a competition |
competition_download_file | Download a specific competition file |
competition_download_files | Download all competition files |
competition_submit | Submit predictions to a competition |
competition_submissions | View your submission history |
competition_leaderboard_view | View the competition leaderboard |
competition_leaderboard_download | Download leaderboard data |
Datasets (10 tools)
| Tool | Description |
|---|---|
datasets_list | Search and filter datasets |
dataset_metadata | Get dataset metadata |
dataset_list_files | List files in a dataset |
dataset_status | Check dataset processing status |
dataset_download_file | Download a specific dataset file |
dataset_download_files | Download all dataset files |
dataset_create | Create a new dataset |
dataset_initialize | Initialize dataset metadata |
dataset_create_version | Create a new dataset version |
Kernels (7 tools)
| Tool | Description |
|---|---|
kernels_list | Search and filter kernels |
kernel_list_files | List files in a kernel |
kernel_initialize | Initialize kernel metadata |
kernel_push | Push a kernel to Kaggle |
kernel_pull | Download a kernel |
kernel_output | Download kernel output files |
kernel_status | Check kernel execution status |
Models (14 tools)
| Tool | Description |
|---|---|
models_list | Search and filter models |
model_get | Get model details and metadata |
model_initialize | Initialize model metadata |
model_create | Create a new model |
model_update | Update model information |
model_delete | Delete a model |
model_instance_get | Get model instance details |
model_instance_initialize | Initialize model instance metadata |
model_instance_create | Create a new model instance |
model_instance_update | Update a model instance |
model_instance_delete | Delete a model instance |
model_instance_version_create | Create a new model version |
model_instance_version_download | Download a model version |
model_instance_version_delete | 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.
Questions fréquentes
Qu'est-ce que io.github.Seif-Sameh/Kaggle-mcp ?
MCP server for the Kaggle API: competitions, datasets, kernels, and models.
Comment installer io.github.Seif-Sameh/Kaggle-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add kaggle-mcp -e 'KAGGLE_USERNAME=<KAGGLE_USERNAME>' -e 'KAGGLE_API_KEY=<your kaggle_api_key>' -- uvx mcp-server-kaggle==0.1.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.Seif-Sameh/Kaggle-mcp ?
Oui. Il attend KAGGLE_USERNAME, KAGGLE_API_KEY, à renseigner dans sa configuration.
io.github.Seif-Sameh/Kaggle-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.Seif-Sameh/Kaggle-mcp ?
Il est publié par Seif-Sameh. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.