kaggle
MCP server from karaage0703/kaggle-mcp-server
claude mcp add --transport stdio karaage0703-kaggle-mcp-server uv run --directory </path/to/kaggle-mcp-server> -m kaggle_mcp_server \ --env KAGGLE_KEY="your-kaggle-api-key" \ --env KAGGLE_USERNAME="your-kaggle-username"
How to use
This Kaggle MCP Server exposes a suite of Kaggle API capabilities through the MCP interface, enabling LLMs to discover competitions, datasets, and models, as well as download files and metadata. Core tools include list_competitions, get_competition_details, download_competition_files, search_datasets, get_dataset_details, download_dataset, and list_models. You can query these tools via natural language prompts and the MCP runtime will route to the appropriate functions, apply filters, and return structured results or downloadable assets. The server also exposes curated MCP resources such as active competitions, trending datasets, trends, and calendar deadlines, which can be leveraged to guide decisions during an LLM-driven workflow.
To use it, authenticate with Kaggle (preferably via environment variables KAGGLE_USERNAME and KAGGLE_KEY or via a kaggle.json config file as demonstrated in the Quick Start). Then invoke the available tools through your MCP-enabled client or LLM prompt. For example, you can ask the system to list active competitions, fetch details for a specific competition, search for datasets matching a domain, or download a dataset and automatically extract it. The provided examples illustrate typical flows: for competition discovery, the system will run list_competitions; for dataset discovery and retrieval, it will chain search_datasets → get_dataset_details → download_dataset; for quick access to a specific dataset, it may perform search_datasets followed by download_dataset.
This server is designed to be integrated into an LLM-driven workflow where natural language requests are mapped to specific Kaggle operations, returning structured results and predefined actions such as downloads or metadata exploration.
How to install
Prerequisites:
- Python 3.8+ (or a compatible runtime)
- Ensure you have access to the MCP runtime (uv) and the repository for kaggle_mcp_server
Installation steps:
- Install Python and set up a virtual environment (optional but recommended)
- macOS/Linux: python3 -m venv venv source venv/bin/activate
- Windows: py -3 -m venv venv venv\Scripts\activate.bat
- Install MCP/runtime dependencies (example using uv as shown in Quick Start)
- This assumes you will run via uv as described in the README; if a package installation step is required for your deployment, follow the repository’s instructions to install or clone the kaggle_mcp_server package.
- Clone or download the Kaggle MCP Server repository
- git clone <repository-url>
- cd kaggle-mcp-server
- Configure environment variables (recommended)
- Export or set these in your environment or a .env file: KAGGLE_USERNAME=your-kaggle-username KAGGLE_KEY=your-kaggle-api-key
- Start the server (examples from the README)
- Development/hot-reload: uv run mcp dev src/kaggle_mcp_server/server.py
- Normal startup (module-based): python -m kaggle_mcp_server
- Production-style run via MCP runner (as shown in Quick Start): uv run -m kaggle_mcp_server
- Verify the MCP configuration
- Ensure the mcpServers entry in your mcp_config.json points to the correct server directory and module (see the example in the README).
Additional notes
Tips and common issues:
- Ensure Kaggle API credentials are valid; 401 Unauthorized typically means invalid credentials. Check KAGGLE_USERNAME and KAGGLE_KEY or kaggle.json in ~/.kaggle.
- If a competition or dataset is private or restricted, you may see 403 Forbidden or 404 Not Found. Verify access permissions and IDs.
- Rate limits can occur; implement retry logic or respect Kaggle API quotas.
- If using the MCP server in a container or cloud environment, pass environment variables securely (e.g., via orchestrator secrets) rather than hard-coding credentials.
- The MCP resources table exposes endpoints like kaggle://competitions/active and kaggle://datasets/popular. These can be consumed by clients to discover data without executing heavy queries.
- For development, use the hot-reload option if provided by your runtime to accelerate iteration: uv run mcp dev src/kaggle_mcp_server/server.py
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP