Kaggle MCP
MCP server for the Kaggle API: competitions, datasets, kernels, and models.
Connector by Seif-Sameh · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Kaggle MCP?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/seif-sameh-kaggle-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 14 read · 18 write · 3 delete · 4 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 39
Read from the source code; the running server may list different tools.
Read 14 · Look things up without changing anything.
competition_leaderboard_viewcompetition_list_filescompetition_submissionscompetitions_listdataset_list_filesdataset_statusdatasets_listkernel_list_fileskernel_statuskernels_listmodel_getmodel_instance_get
Show 2 more tools
model_instance_version_filesmodels_list
Write 18 · Create, change, send or run things.
competition_download_filecompetition_download_filescompetition_leaderboard_downloadcompetition_submitdataset_createdataset_create_versiondataset_download_filedataset_download_filesdataset_metadatakernel_outputkernel_pullkernel_push
Show 6 more tools
model_createmodel_instance_createmodel_instance_updatemodel_instance_version_createmodel_instance_version_downloadmodel_update
Delete 3 · Delete, drop, revoke or wipe things.
model_deletemodel_instance_deletemodel_instance_version_delete
Not yet classified 4 · We could not tell from the name and description.
dataset_initializekernel_initializemodel_initializemodel_instance_initialize
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
KAGGLE_API_KEY
Other settings (environment variables or headers).
KAGGLE_USERNAME
Files it touches
- Any path the agent passes to its tools
Tools (39)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
competition_download_fileDownload a specific file from a Kaggle competition. Parameters ---------- competition : str Competition identifier or name file_name : str Name of the file to download path : str, optional Local directory to save the file (default: current directory) force : bool, optional Overwrite existing file if True (default: False) quiet : bool, optional Suppress progress messages if True (default: True) Returns ------- dict { "status": "success" | "error", "message": str, "competition": str, "file_name": str, "saved_path": str (only if su…
competition_download_filesDownload all files from a Kaggle competition. Parameters ---------- competition : str Competition identifier or name path : str, optional Local directory to save files (default: current directory) force : bool, optional Overwrite existing files if True (default: False) quiet : bool, optional Suppress progress messages if True (default: True) Returns ------- dict { "status": "success" | "error", "message": str, "competition": str, "saved_path": str (only if success) }
competition_leaderboard_downloadDownload the leaderboard data for a Kaggle competition to a local file. Parameters ---------- competition: str The unique identifier or name of the Kaggle competition to download the leaderboard from. path: str The local file system path where the leaderboard file should be saved. quiet: bool, optional If True, suppresses progress messages and status updates during download. Default: True Returns ------- dict { "status": "success" | "error", "message": str, "competition": str }
competition_leaderboard_viewRetrieve the current leaderboard for a Kaggle competition. Parameters ---------- competition: str The unique identifier or name of the competition Returns ------- dict { "status": "success" | "error", "message": str, "competition": str, "data": list (only if success) }
competition_list_filesList files available in a Kaggle competition. Parameters ---------- competition : str Competition identifier or name page_token : str, optional Pagination token (default: None) page_size : int, optional Number of files per page (default: 20, range: 1–100) Returns ------- dict { "status": "success" | "error", "message": str, "files": list (only if success) }
competition_submissionsGet a list of all the submissions for a particular competition. Parameters ---------- competition : str The unique identifier or name of the competition group : str, optional Filter submissions by group. Valid groups include: - 'general' - Default competition submissions - 'entered' - Only submissions you have entered - 'community' - Community competition submissions - 'hosted' - Hosted competition submissions - 'unlaunched' - Unlaunched competition submissions - 'unlaunched_community' - Unlaunched community competition submissions Default: None (no group f…
competition_submitSubmit a file to a Kaggle competition. Parameters ---------- file_name : str Path to the submission file message : str Description or notes for the submission competition : str Competition identifier or name quiet : bool, optional Suppress progress messages if True (default: False) Returns ------- dict { "status": "success" | "error", "message": str, "competition": str, "submission_ref": str (only if success) }
competitions_listList Kaggle competitions with optional filtering. Parameters ---------- page : int, optional Page number to retrieve (default: 1) search : str, optional Search term to filter results Returns ------- dict { "status": "success" | "error", "message": str, "competitions": list # Present only on success }
dataset_createCreate a new Kaggle dataset from a local folder with metadata configuration. Parameters ---------- folder: str Path to the folder containing the dataset files and metadata.json public: bool, optional Whether to make the dataset publicly accessible Default: False quiet: bool, optional Whether to suppress progress and status messages Default: False convert_to_csv: bool, optional Whether to automatically convert compatible files to CSV format Default: True dir_mode: str, optional How to handle directories in the dataset: - 'skip': Ignore directories (defau…
dataset_create_versionCreate a new version of an existing Kaggle dataset. Parameters ---------- folder: str Path to the folder containing dataset files and configuration version_notes: str Description of changes in this version quiet: bool, optional Whether to suppress progress and status messages Default: False convert_to_csv: bool, optional Whether to automatically convert compatible files to CSV format Default: True delete_old_versions: bool, optional Whether to remove previous versions of this dataset Default: False dir_mode: str, optional How to handle directories in t…
dataset_download_fileDownload a specific file from a Kaggle dataset to a local directory. Parameters ---------- dataset: str The unique identifier of the dataset in the format 'owner/dataset-name' file_name: str The name of the file to download from the dataset path: str, optional The local directory path where the file should be saved If not specified, downloads to the current working directory force: bool, optional Whether to overwrite the file if it already exists locally Default: False quiet: bool, optional Whether to suppress download progress and status messages Default: …
dataset_download_filesDownload all files from a Kaggle dataset to a local directory. Parameters ---------- dataset: str The unique identifier of the dataset in the format 'owner/dataset-name' Example: 'netflix/netflix-prize-data' or 'google/covid-19-open-data' path: str, optional Local directory path where dataset files will be saved If not specified, downloads to current working directory force: bool, optional Whether to overwrite files if they already exist locally Default: False quiet: bool, optional Whether to suppress download progress messages Default: True license…
dataset_initializeInitialize a new Kaggle dataset in a local folder with metadata configuration. Parameters ---------- folder: str Path to the folder where dataset files and metadata.json are located or will be created. Returns ------- dict { "status": "success" | "error", "message": <confirmation or error message> }
dataset_list_filesRetrieve a list of all files contained within a specific Kaggle dataset. Parameters ---------- dataset : str The unique identifier of the dataset in the format 'owner/dataset-name' Example: 'netflix/netflix-prize-data' page_token : str, optional Token for paginating through results when there are multiple pages (default: None) page_size : int, optional Number of files to return per page (default: 20, range: 1–100) Returns ------- dict { "status": "success" | "error", "message": str, "files": list (only if success) }
dataset_metadataDownload the metadata file for a dataset. Parameters ---------- dataset : str Dataset URL suffix in format <owner>/<dataset-name> path : str, optional Local directory path where metadata will be saved (default: current working directory) Returns ------- dict { "status": "success" | "error", "message": str }
Show 24 more tools
dataset_statusGet the status of a dataset. Only for your own datasets. Parameters ---------- dataset : str Dataset URL suffix in format <owner>/<dataset-name> (use "kaggle datasets list" to show options) Returns ------- dict { "status": "success" | "error", "message": str, "dataset_status": dict (only if success) }
datasets_listReturn a list of datasets. Parameters ---------- sort_by: str How to sort the result. Valid options are: - 'hottest': Sort by trending/popularity - 'votes': Sort by number of votes - 'updated': Sort by last update date - 'active': Sort by active status - 'published': Sort by publication date file_type: str The format of datasets to filter by. Valid options are: - 'all': Show all file types - 'csv': Show only CSV files - 'sqlite': Show only SQLite databases - 'json': Show only JSON files - 'bigQuery': Show only BigQuery datasets license_name: s…
kernel_initializeInitialize kernel metadata configuration in a specified folder. Parameters ---------- folder: str Path to the directory where kernel metadata will be created. Creates kernel-metadata.json with default configuration values. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (optional, typically empty) }
kernel_list_filesList files associated with a specific Kaggle kernel. Parameters ---------- kernel: str Kernel identifier in format 'owner/kernel-name'. Example: 'username/my-analysis'. page_token: str, optional Token for pagination through results. Default: None page_size: int, optional Number of files to return per page. Default: 20 Returns ------- dict { "status": "success" | "error", "message": str, "data": list of file metadata (if successful) }
kernel_outputDownload the execution output files from a Kaggle kernel. Parameters ---------- kernel: str Kernel identifier in format 'owner/kernel-name'. path: str Local directory path where output files will be saved. force: bool, optional Whether to overwrite existing output files. Default: False. quiet: bool, optional Whether to suppress progress messages. Default: True. Returns ------- dict { "status": "success" | "error", "message": str, "kernel": str, "saved_path": str (only if success) }
kernel_pullDownload a Kaggle kernel and its files to a local directory. Parameters ---------- kernel : str Kernel identifier in format 'owner/kernel-name'. path : str Local directory path where kernel files will be downloaded. metadata : bool, optional Whether to download kernel-metadata.json file. Default: False quiet : bool, optional Whether to suppress progress messages. Default: True Returns ------- dict { "status": "success" | "error", "message": str, "kernel": str, "saved_path": str (only if success) }
kernel_pushPush a Kaggle kernel and its metadata from a local folder. This tool validates the specified kernel directory, ensures the required metadata file exists, and then pushes the kernel to Kaggle using the Kaggle API. It returns structured status information instead of raising exceptions, allowing LLMs or external systems to interpret results programmatically. Parameters ---------- folder : str Path to the directory containing: - kernel-metadata.json - Kernel notebook or script files. timeout : int, optional Maximum execution time in seconds. Default is None (no timeout). Return…
kernel_statusGet the status of a Kaggle kernel. Parameters ---------- kernel: str Kernel identifier in format 'owner/kernel-name'. Returns ------- dict { "status": "success" | "error", "message": str, "kernel": str, "data": dict (kernel status info, if success) }
kernels_listSearch and list Kaggle kernels based on specified criteria. Parameters ---------- page: int, optional Page number of results to return. Default: 1 page_size: int, optional Number of results per page. Default: 20 search: str, optional Custom search query string. competition: str, optional Filter kernels to a specific competition. dataset: str, optional Filter kernels to a specific dataset in format 'owner/dataset-name'. user: str, optional Filter kernels to a specific username. mine: bool, optional If True, show only your own kernels. Default: False language:…
model_createCreate a new model on Kaggle using metadata from a local folder. Parameters ---------- folder : str Absolute path to the folder containing model-metadata.json and model assets. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (API response with model id, ref, url, etc.) }
model_deleteDelete a model from Kaggle. Parameters ---------- model: str Model identifier in format 'owner/model-name'. confirmation: bool Must be True to confirm deletion. Returns ------- dict { "status": "success" | "error", "message": str, "model": str, "data": dict (API response if available) }
model_getRetrieve metadata and details for a specific Kaggle model, and save it as a JSON file. Parameters ---------- model: str Model identifier in format 'owner/model-name'. Example: 'google/bert' or 'username/custom-model'. path: str, optional Directory path where the JSON file ('model-metadata.json') will be saved. Default: current working directory. Returns ------- dict { "status": "success" | "error", "message": str, "model": str, "data": dict (model metadata if success), "file_path": str (path to saved JSON file if success) } Si…
model_initializeInitialize model metadata configuration in a specified folder. Parameters ---------- folder: str Path to the directory where model metadata will be created. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (optional, typically empty) } Side Effects ------------ Creates the model-metadata.json file with default configuration in the specified directory.
model_instance_createCreate a new model instance on Kaggle using metadata from a local folder. Parameters ---------- folder : str Path to the folder containing model-instance-metadata.json and model assets. quiet: bool, optional Whether to suppress progress and status messages. Default: False dir_mode: str, optional How to handle directories in the model instance: - 'skip': Ignore directories (default) - 'zip': Compress directories and upload as zip files Default: 'skip' Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (API r…
model_instance_deleteDelete a model instance from Kaggle. Parameters ---------- model_instance: str Model instance identifier in format 'owner/model-name/framework/instance-slug'. confirmation: bool Must be True to confirm deletion. Returns ------- dict { "status": "success" | "error", "message": str, "model_instance": str, "data": dict (API response if available) }
model_instance_getRetrieve details of a specific model instance from Kaggle and save as JSON. Parameters ---------- model_instance: str Model instance identifier in format 'owner/model-name/framework/instance-slug'. path: str, optional Directory path where 'model-instance-metadata.json' will be saved. Default: current working directory. Returns ------- dict { "status": "success" | "error", "message": str, "model_instance": str, "data": dict (metadata if success), "file_path": str (path to saved JSON if success) } Side Effects ------------ Creates '…
model_instance_initializeInitialize model instance metadata configuration in a specified folder. Parameters ---------- folder: str Path to the directory where model instance metadata will be created. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (optional, typically empty) } Side Effects ------------ Creates the model instance metadata file with default configuration in the specified directory.
model_instance_updateUpdate an existing model instance using metadata from a local folder. Parameters ---------- folder: str Path to the folder containing model-instance-metadata.json and updated assets. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (API response with id, ref, url, etc.) }
model_instance_version_createCreate a new version of an existing model instance. Parameters ---------- model_instance: str Model instance identifier in format 'owner/model-name/framework/instance-slug'. folder: str Path to folder containing model instance files and metadata. version_notes: str, optional Description of changes in this version. Default: ''. quiet: bool, optional Whether to suppress progress messages. Default: False. dir_mode: str, optional How to handle directories: - 'skip': Ignore directories (default) - 'zip': Compress and upload as zip files. Default: 'skip'. Returns --…
model_instance_version_deleteDelete a specific version of a model instance from Kaggle. Parameters ---------- model_instance_version: str Model instance version identifier in format 'owner/model-name/framework/instance-slug/version-number'. confirmation: bool Must be True to confirm deletion. Returns ------- dict { "status": "success" | "error", "message": str, "model_instance_version": str, "data": dict (API response if available) }
model_instance_version_downloadDownload all files for a model instance version to a local directory. Parameters ---------- model_instance_version: str Model instance version identifier in format 'owner/model-name/framework/instance-slug/version-number'. path: str, optional Local directory path where version files will be downloaded. If not specified, downloads to current working directory. force: bool, optional Whether to overwrite files if they already exist locally. Default: False. quiet: bool, optional Whether to suppress progress and status messages. Default: True. untar: bool, optional Whet…
model_instance_version_filesList all files contained in a specific model instance version. Parameters ---------- model_instance_version: str Model instance version identifier in format 'owner/model-name/framework/instance-slug/version-number'. page_token: str, optional Token for paginating through results when there are multiple pages. Default: None. page_size: int, optional Number of files to return per page. Default: 20. csv_display: bool, optional Whether to format output as comma-separated values instead of table format. Default: False. Returns ------- dict { "status": "success" | "er…
model_updateUpdate an existing model on Kaggle using metadata from a local folder. Parameters ---------- folder : str Absolute path to the folder containing model-metadata.json and model assets. Returns ------- dict { "status": "success" | "error", "message": str, "data": dict (API response with model id, ref, url, etc.) }
models_listSearch and list Kaggle models based on specified criteria. Parameters ---------- sort_by: str, optional Sort results criteria. Valid options: - 'hotness': trending/popularity - 'downloadCount': number of downloads - 'voteCount': number of votes - 'notebookCount': number of notebooks - 'createTime': creation date search: str, optional Search term to filter results. Default: None owner: str, optional Username or organization to filter models by. page_size: int, optional Number of results per page. Default: 20 page_token: str, optional Token for pagina…
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 1
- Weekly downloads
- 34
- Last commit
- Jun 12, 2026 (4 months ago)
- Last release
- Jun 12, 2026 (4 months ago)
- Last package publish
- Jun 11, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Seif-Sameh/Kaggle-mcp- Version
- 0.1.1
- Auth
- API key
- Packages
- pypi mcp-server-kaggle
- License
- MIT
- Repository
- github.com/Seif-Sameh/Kaggle-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Kaggle MCP running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Kaggle MCP. Agent Mart. https://agentmart.dev/connectors/seif-sameh-kaggle-mcp (last updated 2026-10-24)