TitanicAIAnalysis
TitanicAIAnalysis is an educational project designed to create an MCP server for data analysis using the Titanic dataset. It provides structured resources and tools for integration with Claude, enabling comprehensive analyses via language models.
🚢 TitanicAIAnalysis: Análisis de Datos con Claude y MCP
Este proyecto demuestra cómo utilizar el Model Context Protocol (MCP) para crear servidores que exponen datos estructurados para análisis con modelos de lenguaje como Claude. Usando el famoso dataset del Titanic, este ejemplo práctico te enseña a convertir conjuntos de datos en recursos y herramientas accesibles para LLMs.
📋 Contenido
- 🚢 TitanicAIAnalysis: Análisis de Datos con Claude y MCP
🔍 Descripción
TitanicAIAnalysis es un proyecto educativo que muestra cómo crear un servidor MCP (Model Context Protocol) para exponer el famoso dataset del Titanic de Kaggle, permitiendo a Claude realizar análisis de datos complejos a través de:
- Resources (Recursos MCP): Expone datos estructurados (CSV del Titanic) y estadísticas pre-calculadas
- Tools (Herramientas MCP): Proporciona funcionalidades específicas como búsqueda de pasajeros
Con este enfoque, puedes consultar y analizar datos estructurados con la potencia de los LLMs sin enviar archivos manualmente.
📦 Requisitos
- Python 3.10 o superior
- Claude Desktop (Para integración con Claude)
- El archivo
Titanic.csv
(incluido en el repositorio, originalmente de Kaggle) - Un entorno donde ejecutar servidores MCP
🛠️ Instalación
-
Clonar este repositorio:
git clone https://github.com/tu-usuario/TitanicAIAnalysis.git cd TitanicAIAnalysis
-
Configurar el entorno virtual (usando
uv
):uv init . uv venv source .venv/bin/activate # En Windows: .venv\Scripts\activate
-
Instalar dependencias:
uv add "mcp[cli]" pandas
-
Asegurarse que el archivo Titanic.csv está en el directorio del proyecto
📂 Estructura del Proyecto
TitanicAIAnalysis/
│
├── main.py # Servidor MCP con resources y tools
├── Titanic.csv # Dataset del Titanic
├── inicio.sh # Script de inicio para Unix/MacOS
├── inicio.bat # Script de inicio para Windows (opcional)
└── README.md # Este archivo
▶️ Cómo Ejecutar
Opción 1: Ejecución directa
Puedes ejecutar el servidor directamente:
python main.py
Opción 2: Instalar en Claude Desktop
-
Preparar/dar permisos de ejecución el script de inicio (MacOS/Linux):
chmod +x inicio.sh
-
Configurar Claude Desktop:
- Abre Claude Desktop
- Ve a Configuración → Desarrollador → Editar Config
- Modifica
claude_desktop_config.json
:
{ "mcpServers": { "TitanicServerMCP": { "command": "/ruta/absoluta/a/TitanicAIAnalysis/inicio.sh", "args": [] } } }
Para Windows, usa la ruta completa a
inicio.bat
o el comando directo:{ "mcpServers": { "TitanicServerMCP": { "command": "python", "args": ["C:\\ruta\\completa\\a\\TitanicAIAnalysis\\inicio.bat"] } } }
-
Instalar con CLI de MCP (alternativa):
cd TitanicAIAnalysis mcp install main.py
-
Reinicia Claude Desktop
💬 Uso con Claude
Una vez que el servidor está en ejecución y conectado a Claude, verás el icono de herramientas (🔨) disponible en la interfaz.
Resources disponibles:
titanic://pasajeros
- Dataset completo del Titanictitanic://estadisticas
- Estadísticas precalculadas sobre supervivencia
Tools disponibles:
buscar_pasajero
- Busca información sobre pasajeros específicos por nombre
📊 Ejemplos de Análisis
Aquí hay algunas preguntas que puedes hacer a Claude utilizando los datos expuestos:
- "Muéstrame las estadísticas generales de supervivencia del Titanic"
- "¿Qué porcentaje de pasajeros de primera clase sobrevivió en comparación con los de tercera clase?"
- "Busca información sobre los pasajeros con apellido 'Astor'"
- "Analiza la correlación entre clase social y tasa de supervivencia"
- "¿El principio de 'mujeres y niños primero' se respetó durante el desastre?"
- "¿Hay algún patrón entre el precio del boleto y la supervivencia?"
- "Genera un gráfico sencillo que muestre la supervivencia por género y clase"
⚖️ Ventajas y Limitaciones
Ventajas
- Datos actualizados: Los datos se cargan desde el servidor cada vez que se solicitan
- Datos estructurados: Claude puede trabajar con datos previamente procesados
- Análisis dinámico: Respuestas a preguntas ad-hoc sobre los datos
- Integración con sistemas existentes: Permite conectar con bases de datos o APIs internas
Limitaciones
- Tamaño de datos: Datasets muy grandes pueden superar el límite de contexto de Claude
- Actualización de recursos: Los recursos son leídos cuando se solicitan
- Visualizaciones: Para gráficos avanzados, es mejor usar herramientas específicas o implementar tools de visualización
🚀 Ampliaciones Posibles
Este proyecto puede expandirse de múltiples formas:
- Recursos parametrizados: Implementar recursos como
titanic://pasajeros/{clase}
- Herramientas analíticas: Crear tools específicas para cálculos estadísticos complejos
- Visualización: Añadir herramientas para generar gráficos y visualizaciones
- Integración con BD: Conectar con bases de datos en lugar de archivos CSV
- Análisis predictivo: Añadir modelos de ML pre-entrenados como herramientas
Desarrollado con ❤️ usando MCP y Claude | Más sobre MCP