Kaggle
Interactúa con la API de Kaggle para acceder a conjuntos de datos, cuadernos y competiciones.
Documentación
Servidor MCP de Kaggle
Un servidor de Model Context Protocol (MCP) que expone búsqueda de conjuntos de datos de Kaggle, descarga y generación de indicaciones de EDA a clientes MCP como Claude Desktop.
Características
- Buscar conjuntos de datos de Kaggle por palabra clave.
- Descargar y descomprimir conjuntos de datos de Kaggle localmente.
- Generar una indicación inicial de Análisis Exploratorio de Datos (EDA) para un conjunto de datos de Kaggle.
- Admite credenciales de Kaggle mediante variables de entorno o el archivo estándar
kaggle.json. - Se ejecuta localmente, en Docker o mediante Smithery.
Capacidades MCP Disponibles
Herramientas
search_kaggle_datasets(query: str)
Busca en Kaggle conjuntos de datos que coincidan con query y devuelve hasta 10 resultados como JSON.
Los campos devueltos incluyen:
reftitlesubtitledownload_countlast_updatedusability_rating
download_kaggle_dataset(dataset_ref: str, download_path: str | None = None)
Descarga y descomprime un conjunto de datos de Kaggle.
dataset_ref: Referencia del conjunto de datos de Kaggle en formatoowner/dataset-slug, por ejemplokaggle/titanic.download_path: Ruta de salida local opcional. Si se omite, los archivos se guardan en./datasets/<dataset_slug>/.
Indicaciones
generate_eda_notebook(dataset_ref: str)
Crea una indicación para generar código básico de EDA en Python para la referencia del conjunto de datos de Kaggle proporcionada. La indicación solicita carga de datos, verificación de valores faltantes, visualizaciones y estadísticas resumidas.
Requisitos
- Python 3.10+
- Cuenta de Kaggle y token de API
- Un cliente compatible con MCP
Credenciales de Kaggle
Cree un token de API de Kaggle desde la configuración de su cuenta de Kaggle:
- Vaya a https://www.kaggle.com/settings.
- Seleccione Crear nuevo token de API.
- Descargue
kaggle.json.
Use variables de entorno o el archivo de configuración estándar de Kaggle.
Opción 1: Variables de entorno
Cree un archivo .env en la raíz del proyecto:
KAGGLE_USERNAME=your_kaggle_username
KAGGLE_KEY=your_kaggle_api_key
Opción 2: kaggle.json
Coloque kaggle.json en la ubicación estándar de Kaggle:
- macOS/Linux:
~/.kaggle/kaggle.json - Windows:
C:\Users\<Your User Name>\.kaggle\kaggle.json
En macOS/Linux, asegúrese de que el archivo no sea legible por todos:
chmod 600 ~/.kaggle/kaggle.json
Instalación
git clone <repository-url>
cd kaggle-mcp
Cree y active un entorno virtual:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
Instale las dependencias con uno de los siguientes métodos.
Usando uv
uv sync
Usando pip
pip install -r requirements.txt
Ejecución Local
Con uv:
uv run kaggle-mcp
O ejecute el módulo del servidor directamente:
python src/server.py
El servidor se comunica a través de MCP stdio y está diseñado para ser lanzado por un cliente MCP.
Configuración de Claude Desktop
Abra la configuración de Claude Desktop, luego vaya a Desarrollador > Editar configuración y agregue este servidor a claude_desktop_config.json.
Si está instalado en el entorno del proyecto:
{
"mcpServers": {
"kaggle-mcp": {
"command": "uv",
"args": ["run", "kaggle-mcp"],
"cwd": "/absolute/path/to/kaggle-mcp",
"env": {
"KAGGLE_USERNAME": "your_kaggle_username",
"KAGGLE_KEY": "your_kaggle_api_key"
}
}
}
}
Si usa kaggle.json, puede omitir el bloque env.
Docker
Construya la imagen:
docker build -t kaggle-mcp .
Ejecute con credenciales de .env:
docker run --rm -i --env-file .env kaggle-mcp
Smithery
Este repositorio incluye smithery.yaml. Smithery inicia el servidor a través de stdio y pasa estos valores de configuración como variables de entorno:
kaggleUsername->KAGGLE_USERNAMEkaggleKey->KAGGLE_KEY
Flujo de Trabajo de Ejemplo
- Pregunte a su cliente MCP: "Busque en Kaggle conjuntos de datos de enfermedades cardíacas."
- El cliente llama a
search_kaggle_datasets. - Elija una referencia de conjunto de datos de los resultados, por ejemplo
user/heart-disease-dataset. - Pregunte: "Descargue
user/heart-disease-dataset." - Pregunte: "Genere una indicación de cuaderno de EDA para
user/heart-disease-dataset."
Estructura del Proyecto
.
├── Dockerfile
├── README.md
├── pyproject.toml
├── requirements.txt
├── smithery.yaml
├── src/
│ ├── __init__.py
│ └── server.py
└── uv.lock
Los conjuntos de datos descargados se guardan en datasets/ de forma predeterminada. Este directorio se crea en tiempo de ejecución cuando se solicitan descargas.