kaggle
MCP server for interacting with Kaggle competitions
claude mcp add --transport stdio dishant27-kaggle-mcp node build/index.js \ --env KAGGLE_KEY="your-kaggle-api-key" \ --env KAGGLE_USERNAME="your-kaggle-username"
How to use
This MCP server provides a Kaggle integration that lets Claude or other compatible AI assistants interact with Kaggle competitions. It exposes operations to list active competitions, download competition files, submit predictions, and view submission histories, enabling end-to-end workflows from natural language prompts. The server is designed to work with the Kaggle CLI API credentials, which can be supplied either via a kaggle.json file or through environment variables in the Claude Desktop configuration. Once running, you can query for competitions, fetch data assets for a given competition, and submit predictions along with contextual messages.
To use it with Claude Desktop, connect via the Claude configuration by pointing to the Node-based server entry point (build/index.js) and provide your Kaggle credentials either through a kaggle.json setup or via environment variables in your claude_desktop_config.json. After connection, you can issue prompts like: “Show me active Kaggle competitions,” “Download files for the Titanic competition,” or “Submit my predictions.csv to housing-prices with message ‘Ensemble model’.” The server will translate these requests into Kaggle API calls and return results, statuses, and any relevant data directly to your assistant. Submissions and results can be monitored through the List Submissions capability, which provides statuses and scores.
How to install
Prerequisites
- Node.js 16 or higher
- TypeScript (for build tooling, if applicable)
- Kaggle CLI installed (pip install kaggle)
- Kaggle API credentials configured (kaggle.json or environment variables)
Installation steps
-
Clone the repository git clone https://github.com/dishant27-kaggle-mcp/kaggle-mcp-server.git cd kaggle-mcp-server
-
Install dependencies npm install
-
Build the project (if a build step exists) npm run build
-
Run the server npm start
-
Optional: configure Claude Desktop with Kaggle credentials
- Use a kaggle.json file placed at ~/.kaggle/kaggle.json (or equivalent) or
- Add environment variables KAGGLE_USERNAME and KAGGLE_KEY in claude_desktop_config.json under the kaggle server config.
Note: If you plan to run in a container or a different environment, ensure Node.js runtime and the Kaggle CLI dependencies are available and that the environment variables or kaggle.json file are accessible to the running process.
Additional notes
Tips and common considerations:
- Ensure Kaggle API credentials are valid and have not expired. If you regenerate tokens, update KAGGLE_USERNAME and KAGGLE_KEY or kaggle.json accordingly.
- If using kaggle.json, place it in the standard location (~/.kaggle/kaggle.json on Linux/macOS or C:\Users<USER>.kaggle\kaggle.json on Windows) and set permissions (chmod 600) where applicable.
- When using Claude Desktop, you can embed credentials directly in claude_desktop_config.json under the kaggle server’s env section as shown in the example, but prefer kaggle.json for security in production.
- The server supports listing competitions, downloading files with optional custom paths, submitting predictions with messages, and listing submissions with statuses and scores.
- If you encounter authentication issues, verify both the location of kaggle.json and the environment variable configuration in Claude Desktop.
- All features referenced in the README, including dataset operations and notebook integrations, are available in the feature-complete branch if you pull that branch.
Related MCP Servers
mcp-graphql
Model Context Protocol server for GraphQL
anytype
An MCP server enabling AI assistants to interact with Anytype - your encrypted, local and collaborative wiki - to organize objects, lists, and more through natural language.
kollektiv
Kollektiv MCP enables you to chat with and query your own documents directly from IDEs and MCP clients. Private, secure, and integrated into your favorite code editor
js
🔐 Plug-and-play auth for Node.js MCP servers.
aica
aica(AI Code Analyzer) reviews your code using AI. Supports CLI and GitHub Actions.
mcp -weather-js
Simple Weather MCP Server Example