kaggle-mcp

by arrismo
Verified

Servidor MCP (Protocolo de contexto de modelo) de Kaggle

Este repositorio contiene un servidor MCP (Protocolo de Contexto de Modelo) ( server.py ) creado con la biblioteca fastmcp . Interactúa con la API de Kaggle para proporcionar herramientas de búsqueda y descarga de conjuntos de datos, así como un indicador para generar cuadernos EDA.

Estructura del proyecto

  • server.py : La aplicación de servidor FastMCP. Define recursos, herramientas y avisos para interactuar con Kaggle.
  • .env.example : Un archivo de ejemplo para variables de entorno (credenciales de la API de Kaggle). Renómbrelo a .env y complete sus datos.
  • requirements.txt : enumera los paquetes de Python necesarios.
  • pyproject.toml y uv.lock : metadatos del proyecto y dependencias bloqueadas para el administrador de paquetes uv .
  • datasets/ : Directorio predeterminado donde se almacenarán los conjuntos de datos de Kaggle descargados.

Configuración

  1. Clonar el repositorio:
    git clone <repository-url> cd <repository-directory>
  2. Crear un entorno virtual (recomendado):
    python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venv
  3. Instalar dependencias: Usando pip:
    pip install -r requirements.txt
    O usando uv:
    uv sync
  4. Configurar las credenciales de la API de Kaggle:
    • Método 1 (recomendado): variables de entorno
      • Crear archivo .env
      • Abra el archivo .env y agregue su nombre de usuario de Kaggle y su clave API:
        KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_key
      • Puedes obtener tu clave API desde la página de tu cuenta de Kaggle ( Account > API > Create New API Token ). Esto descargará un archivo kaggle.json con tu nombre de usuario y clave.
    • Método 2: archivo kaggle.json
      • Descargue su archivo kaggle.json desde su cuenta de Kaggle.
      • Coloque el archivo kaggle.json en la ubicación prevista (normalmente ~/.kaggle/kaggle.json en Linux/MacOS o C:\Users\<Your User Name>\.kaggle\kaggle.json en Windows). La biblioteca kaggle detectará automáticamente este archivo si no se configuran las variables de entorno.

Ejecución del servidor

  1. Asegúrese de que su entorno virtual esté activo.
  2. Ejecute el servidor MCP:
    uv run kaggle-mcp
    El servidor se iniciará y registrará sus recursos, herramientas y avisos. Puede interactuar con él mediante un cliente MCP o herramientas compatibles.

Características del servidor

El servidor expone las siguientes capacidades a través del Protocolo de Contexto de Modelo:

Herramientas

  • search_kaggle_datasets(query: str) :
    • Busca conjuntos de datos en Kaggle que coincidan con la cadena de consulta proporcionada.
    • Devuelve una lista JSON de los 10 principales conjuntos de datos coincidentes con detalles como referencia, título, cantidad de descargas y fecha de última actualización.
  • download_kaggle_dataset(dataset_ref: str, download_path: str | None = None) :
    • Descarga y descomprime archivos para un conjunto de datos específico de Kaggle.
    • dataset_ref : el identificador del conjunto de datos en el formato username/dataset-slug (por ejemplo, kaggle/titanic ).
    • download_path (Opcional): Especifica dónde descargar el conjunto de datos. Si se omite, el valor predeterminado es ./datasets/<dataset_slug>/ <dataset_slug>/, relativo a la ubicación del script del servidor.

Indicaciones

  • generate_eda_notebook(dataset_ref: str) :
    • Genera un mensaje de aviso adecuado para que un modelo de IA (como Gemini) cree un cuaderno de análisis de datos exploratorios (EDA) básico para la referencia del conjunto de datos de Kaggle especificado.
    • El mensaje solicita código Python que cubra la carga de datos, las verificaciones de valores faltantes, las visualizaciones y las estadísticas básicas.

Conexión a Claude Desktop

Vaya a Claude > Configuración > Desarrollador > Editar configuración > claude_desktop_config.json para incluir lo siguiente:

{ "mcpServers": { "kaggle-mcp": { "command": "kaggle-mcp", "cwd": "<path-to-their-cloned-repo>/kaggle-mcp" } } }

Ejemplo de uso

Un agente de IA o un cliente MCP podría interactuar con este servidor de la siguiente manera:

  1. Agente: "Busca en Kaggle conjuntos de datos sobre 'enfermedades cardíacas'"
    • El servidor ejecuta search_kaggle_datasets(query='heart disease')
  2. Agente: "Descargar el conjunto de datos 'usuario/conjunto-de-datos-de-enfermedades-del-corazón'"
    • El servidor ejecuta download_kaggle_dataset(dataset_ref='user/heart-disease-dataset')
  3. Agente: "Generar un mensaje de aviso en el cuaderno EDA para 'usuario/conjunto de datos de enfermedades cardíacas'"
    • El servidor ejecuta generate_eda_notebook(dataset_ref='user/heart-disease-dataset')
    • El servidor devuelve un mensaje de aviso estructurado.
  4. Agente: (envía el mensaje a un modelo generador de código) -> Recibe código Python de EDA.
-
security - not tested
-
license - not tested
-
quality - not tested

Interactúa con la API de Kaggle para proporcionar herramientas para buscar y descargar conjuntos de datos, y un mensaje para generar cuadernos EDA.

  1. Project Structure
    1. Setup
      1. Running the Server
        1. Server Features
          1. Tools
          2. Prompts
        2. Connecting to Claude Desktop
          1. Usage Example
            ID: arwswog1el