Kaggle

Interactúa con la API de Kaggle para acceder a conjuntos de datos, cuadernos y competiciones.

Documentación

Kaggle MCP Server

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:

  • ref
  • title
  • subtitle
  • download_count
  • last_updated
  • usability_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 formato owner/dataset-slug, por ejemplo kaggle/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:

  1. Vaya a https://www.kaggle.com/settings.
  2. Seleccione Crear nuevo token de API.
  3. 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_USERNAME
  • kaggleKey -> KAGGLE_KEY

Flujo de Trabajo de Ejemplo

  1. Pregunte a su cliente MCP: "Busque en Kaggle conjuntos de datos de enfermedades cardíacas."
  2. El cliente llama a search_kaggle_datasets.
  3. Elija una referencia de conjunto de datos de los resultados, por ejemplo user/heart-disease-dataset.
  4. Pregunte: "Descargue user/heart-disease-dataset."
  5. 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.