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.envy complete sus datos.requirements.txt: enumera los paquetes de Python necesarios.pyproject.tomlyuv.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:
git clone <repository-url> cd <repository-directory>Crear un entorno virtual (recomendado):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` # Or use uv: uv venvInstalar dependencias: Usando pip:
pip install -r requirements.txtO usando uv:
uv syncConfigurar las credenciales de la API de Kaggle:
Método 1 (recomendado): variables de entorno
Crear archivo
.envAbra el archivo
.envy agregue su nombre de usuario de Kaggle y su clave API:KAGGLE_USERNAME=your_kaggle_username KAGGLE_KEY=your_kaggle_api_keyPuedes obtener tu clave API desde la página de tu cuenta de Kaggle (
Account>API>Create New API Token). Esto descargará un archivokaggle.jsoncon tu nombre de usuario y clave.
Método 2: archivo
Descargue su archivo
kaggle.jsondesde su cuenta de Kaggle.Coloque el archivo
kaggle.jsonen la ubicación prevista (normalmente~/.kaggle/kaggle.jsonen Linux/MacOS oC:\Users\<Your User Name>\.kaggle\kaggle.jsonen Windows). La bibliotecakaggledetectará automáticamente este archivo si no se configuran las variables de entorno.
Ejecución del servidor
Asegúrese de que su entorno virtual esté activo.
Ejecute el servidor MCP:
uv run kaggle-mcpEl servidor se iniciará y registrará sus recursos, herramientas y avisos. Puede interactuar con él mediante un cliente MCP o herramientas compatibles.
Ejecución del contenedor Docker
1. Configurar las credenciales de la API de Kaggle
Este proyecto requiere credenciales de API de Kaggle para acceder a los conjuntos de datos de Kaggle.
Vaya a https://www.kaggle.com/settings y haga clic en "Crear nuevo token de API" para descargar su archivo
kaggle.json.Abra el archivo
kaggle.jsony copie su nombre de usuario y clave en un nuevo archivo.enven la raíz del proyecto:
2. Construya la imagen de Docker
3. Ejecute el contenedor Docker usando su archivo .env
Esto cargará automáticamente sus credenciales de Kaggle como variables de entorno dentro del contenedor.
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
Agente: "Descargar el conjunto de datos 'usuario/conjunto-de-datos-de-enfermedades-del-corazón'"
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
El servidor devuelve un mensaje de aviso estructurado.
Agente: (envía el mensaje a un modelo generador de código) -> Recibe código Python de EDA.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Interactúa con la API de Kaggle para proporcionar herramientas para buscar y descargar conjuntos de datos, y un mensaje para generar cuadernos EDA.
Related MCP Servers
- Asecurity-licenseAqualityAllows the use of Kagi's API for web searching and content enrichment through methods like fastgpt, enrich/web, and enrich/news.Last updated -2MIT License
- -security-license-qualityConnects Claude AI to the Kaggle API through the Model Context Protocol, enabling competition, dataset, and kernel operations through the AI interface.Last updated -16MIT License
Dumpling AI MCP Serverofficial
Asecurity-licenseAqualityIntegrates with Dumpling AI to provide data scraping, content processing, knowledge management, and code execution capabilities through tools for web interactions, document handling, and AI services.Last updated -271728MIT License- Asecurity-licenseAqualityProvides tools to interact with the Dash documentation browser API, allowing users to list installed docsets, search across documentation, and enable full-text search.Last updated -346MIT License