Kaggle Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Kaggle Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.Seif-Sameh/Kaggle-mcp -->
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-kaggleOr install it explicitly:
pip install mcp-server-kaggle
# or
uv tool install mcp-server-kaggleFor development or local modifications:
git clone https://github.com/Seif-Sameh/Kaggle-mcp.git
cd Kaggle-mcp
uv synckaggle.json with your credentialsOption 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_keyThe recommended way to use Kaggle MCP is with Claude Desktop.
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": {
"kaggle": {
"command": "uvx",
"args": ["mcp-server-kaggle"],
"env": {
"KAGGLE_USERNAME": "YOUR_KAGGLE_USERNAME",
"KAGGLE_API_KEY": "YOUR_KAGGLE_API_KEY"
}
}
}
}<details> <summary>Running from a local source clone (alternative)</summary>
{
"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"
}
}
}
}</details>
Try asking Claude:
Run the MCP server directly:
mcp-server-kaggleOr 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.