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
yuv.lock
: metadatos del proyecto y dependencias bloqueadas para el administrador de paquetesuv
.datasets/
: Directorio predeterminado donde se almacenarán los conjuntos de datos de Kaggle descargados.
Configuración
- Clonar el repositorio:Copy
- Crear un entorno virtual (recomendado):Copy
- Instalar dependencias: Usando pip:O usando uv:CopyCopy
- 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:Copy - Puedes obtener tu clave API desde la página de tu cuenta de Kaggle (
Account
>API
>Create New API Token
). Esto descargará un archivokaggle.json
con tu nombre de usuario y clave.
- Crear archivo
- 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 oC:\Users\<Your User Name>\.kaggle\kaggle.json
en Windows). La bibliotecakaggle
detectará automáticamente este archivo si no se configuran las variables de entorno.
- Descargue su archivo
- Método 1 (recomendado): variables de entorno
Ejecución del servidor
- Asegúrese de que su entorno virtual esté activo.
- Ejecute el servidor MCP:El servidor se iniciará y registrará sus recursos, herramientas y avisos. Puede interactuar con él mediante un cliente MCP o herramientas compatibles.Copy
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 formatousername/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:
Ejemplo de uso
Un agente de IA o un cliente MCP podría interactuar con este servidor de la siguiente manera:
- Agente: "Busca en Kaggle conjuntos de datos sobre 'enfermedades cardíacas'"
- El servidor ejecuta
search_kaggle_datasets(query='heart disease')
- El servidor ejecuta
- 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')
- El servidor ejecuta
- 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.
- El servidor ejecuta
- Agente: (envía el mensaje a un modelo generador de código) -> Recibe código Python de EDA.
This server cannot be installed
Interactúa con la API de Kaggle para proporcionar herramientas para buscar y descargar conjuntos de datos, y un mensaje para generar cuadernos EDA.