Server data from the Official MCP Registry
MCP server for the Kaggle API: competitions, datasets, kernels, and models.
MCP server for the Kaggle API: competitions, datasets, kernels, and models.
This Kaggle MCP server has reasonable authentication and permission handling, but several code quality and security concerns lower the score. The server properly requires Kaggle API credentials via environment variables and implements appropriate error handling in most tools. However, there are critical issues: the `init_gaggle()` function writes credentials to disk in plaintext with insufficient access controls, missing input validation on several file path parameters enables potential path traversal, inconsistent async/sync function usage creates unnecessary complexity, and broad exception catching masks real errors. While permissions are appropriate for the server's purpose, the credential handling vulnerability and path traversal risks are significant. Supply chain analysis found 6 known vulnerabilities in dependencies (1 critical, 3 high severity). Package verification found 1 issue.
3 files analyzed · 15 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: KAGGLE_USERNAME
Environment variable: KAGGLE_API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-seif-sameh-kaggle-mcp": {
"env": {
"KAGGLE_API_KEY": "your-kaggle-api-key-here",
"KAGGLE_USERNAME": "your-kaggle-username-here"
},
"args": [
"mcp-server-kaggle"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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.
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
For development or local modifications:
git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv sync
kaggle.json with your credentialsOption 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
The recommended way to use Kaggle MCP is with Claude Desktop.
Locate your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAdd 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:
Run the MCP server directly:
mcp-server-kaggle
Or as a Python module:
python -m kaggle_mcp
| 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 |
| 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 |
| 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 |
| 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 |
Ask Claude:
"List active Kaggle competitions about computer vision"
Claude will use the competitions_list tool to search and display relevant competitions.
Ask Claude:
"Download the Titanic dataset to my Downloads folder"
Claude will use dataset_download_files to fetch all dataset files.
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.
This project is licensed under the MIT License - see the LICENSE file for details.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.