MCP CSV Analysis with Gemini AI
Realiza análisis avanzados de CSV y genera información utilizando la IA Gemini de Google. Requiere claves API de Gemini y Plotly.
GitHub
2
Prueba este MCPPatrocinadoDocumentación
MCP CSV Analysis with Gemini AI
Un potente servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades avanzadas de análisis de CSV y generación de pensamiento utilizando la IA Gemini de Google. Esta herramienta se integra perfectamente con Claude Desktop y ofrece funciones sofisticadas de análisis de datos, visualización y procesamiento de lenguaje natural.
🌟 Características
1. Herramienta de Análisis CSV (analyze-csv)
- Análisis de Datos Integral: Realiza un Análisis Exploratorio de Datos (EDA) detallado en archivos CSV
- Dos Modos de Análisis:
basic: Resumen rápido y estadísticas esencialesdetailed: Análisis en profundidad con información avanzada
- Componentes del Análisis:
- Análisis estadístico de todas las columnas
- Evaluación de la calidad de los datos
- Reconocimiento de patrones
- Análisis de correlación
- Evaluación de importancia de características
- Recomendaciones de preprocesamiento
- Perspectivas de negocio
- Sugerencias de visualización
2. Herramienta de Visualización de Datos (visualize-data)
- Visualizaciones Interactivas: Crea gráficos hermosos e informativos usando Plotly
- Tipos de Visualización:
basic: Selección automática de visualización según los tipos de datosadvanced: Visualizaciones complejas de múltiples variablescustom: Configuraciones de gráficos definidas por el usuario
- Tipos de Gráficos:
- Histogramas para análisis de distribución
- Mapas de calor de correlación
- Gráficos de dispersión
- Gráficos de líneas
- Gráficos de barras
- Diagramas de caja
- Características:
- Detección automática de tipos de datos
- Selección inteligente de gráficos
- Gráficos interactivos
- Exportaciones de alta resolución
- Diseños personalizables
3. Herramienta de Generación de Pensamiento (generate-thinking)
- Genera texto detallado del proceso de pensamiento utilizando el modelo experimental de Gemini
- Admite razonamiento y análisis complejos
- Guarda las respuestas con marcas de tiempo
- Directorio de salida personalizable
🚀 Inicio Rápido
Requisitos Previos
- Node.js (v16 o superior)
- TypeScript
- Claude Desktop
- Clave de API de Google Gemini
- Cuenta de Plotly (para visualizaciones)
Instalación
- Clona y configura:
git clone [your-repo-url]
cd mcp-csv-analysis-gemini
npm install
- Crea el archivo
.env:
GEMINI_API_KEY=your_api_key_here
- Compila el proyecto:
npm run build
Configuración de Claude Desktop
- Crea/Edita
%AppData%/Claude/claude_desktop_config.json:
{
"mcpServers": {
"CSV Analysis": {
"command": "node",
"args": ["path/to/mcp-csv-analysis-gemini/dist/index.js"],
"cwd": "path/to/mcp-csv-analysis-gemini",
"env": {
"GEMINI_API_KEY": "your_api_key_here",
"PLOTLY_USERNAME": "your_plotly_username",
"PLOTLY_API_KEY": "your_plotly_api_key"
}
}
}
}
- Reinicia Claude Desktop
📊 Uso de las Herramientas
Análisis CSV
{
"name": "analyze-csv",
"arguments": {
"csvPath": "./data/your_file.csv",
"analysisType": "detailed",
"outputDir": "./custom_output"
}
}
Visualización de Datos
{
"name": "visualize-data",
"arguments": {
"csvPath": "./data/your_file.csv",
"visualizationType": "basic",
"columns": ["column1", "column2"],
"chartTypes": ["histogram", "scatter"],
"outputDir": "./custom_output"
}
}
Generación de Pensamiento
{
"name": "generate-thinking",
"arguments": {
"prompt": "Your complex analysis prompt here",
"outputDir": "./custom_output"
}
}
📁 Estructura de Salida
output/
├── analysis/
│ ├── csv_analysis_[timestamp]_part1.txt
│ ├── csv_analysis_[timestamp]_part2.txt
│ └── csv_analysis_[timestamp]_summary.txt
├── visualizations/
│ ├── histogram_[column]_[timestamp].png
│ ├── scatter_[columns]_[timestamp].png
│ └── correlation_heatmap_[timestamp].png
└── thinking/
└── gemini_thinking_[timestamp].txt
📊 Tipos de Visualización
Visualizaciones Básicas
- Generadas automáticamente según los tipos de datos
- Incluye:
- Histogramas para columnas numéricas
- Mapas de calor de correlación
- Gráficos de dispersión básicos
Visualizaciones Avanzadas
- Gráficos más sofisticados
- Múltiples variables
- Diseños mejorados
- Esquemas de color personalizados
Visualizaciones Personalizadas
- Tipos de gráficos definidos por el usuario
- Parámetros configurables
- Opciones de estilo personalizadas
- Diseños de gráficos avanzados
🛠️ Desarrollo
Scripts Disponibles
npm run build: Compila TypeScript a JavaScriptnpm run start: Inicia el servidor MCPnpm run dev: Ejecuta en modo desarrollo con ts-node
Variables de Entorno
GEMINI_API_KEY: Tu clave de API de Google GeminiPLOTLY_USERNAME: Tu nombre de usuario de PlotlyPLOTLY_API_KEY: Tu clave de API de Plotly
📝 Detalles del Análisis
El Análisis Básico Incluye
- Resumen estadístico básico para cada columna
- Evaluación de la calidad de los datos
- Información clave y patrones
- Correlaciones potenciales
- Recomendaciones para análisis adicionales
El Análisis Detallado Incluye
- Análisis estadístico integral
- Análisis de distribución
- Medidas de tendencia central
- Medidas de dispersión
- Detección de valores atípicos
- Evaluación avanzada de la calidad de los datos
- Reconocimiento de patrones
- Análisis de correlación
- Análisis de importancia de características
- Recomendaciones de preprocesamiento
- Sugerencias de visualización
- Perspectivas de negocio
⚠️ Limitaciones
- Tamaño máximo de archivo: Depende de la memoria del sistema
- Límites de velocidad: Basados en las cuotas de la API de Gemini y Plotly
- Límite de tokens de salida: 65,536 tokens por respuesta
- Formato CSV: Solo archivos CSV estándar
- Tiempo de análisis: Varía según el tamaño y la complejidad de los datos
- Límites de visualización: Basados en las restricciones del plan gratuito de Plotly
🔒 Notas de Seguridad
- Almacena tus claves de API de forma segura
- No compartas tu archivo
.env - Revisa los datos CSV para detectar información sensible
- Usa directorios de salida personalizados para análisis sensibles
- Asegura tus credenciales de Plotly
🐛 Solución de Problemas
Problemas Comunes
-
Error de Clave de API
- Verifica que el archivo
.envexista - Comprueba la validez de la clave de API
- Asegura una carga adecuada del entorno
- Verifica que el archivo
-
Error de Análisis CSV
- Verifica el formato del archivo CSV
- Comprueba los permisos del archivo
- Asegura que el archivo no esté vacío
-
Conexión con Claude Desktop
- Verifica la sintaxis de config.json
- Comprueba las rutas de archivo en la configuración
- Reinicia Claude Desktop
Modo de Depuración
Agrega DEBUG=true a tu archivo .env para registro detallado:
GEMINI_API_KEY=your_key_here
DEBUG=true
📚 Referencia de la API
Herramienta de Análisis CSV
interface AnalyzeCSVParams {
csvPath: string; // Path to CSV file
outputDir?: string; // Optional output directory
analysisType?: 'basic' | 'detailed'; // Analysis type
}
Herramienta de Visualización de Datos
interface VisualizeDataParams {
csvPath: string; // Path to CSV file
outputDir?: string; // Optional output directory
visualizationType?: 'basic' | 'advanced' | 'custom'; // Visualization type
columns?: string[]; // Columns to visualize
chartTypes?: ('scatter' | 'line' | 'bar' | 'histogram' | 'box' | 'heatmap')[]; // Chart types
customConfig?: Record<string, any>; // Custom configuration
}
Herramienta de Generación de Pensamiento
interface GenerateThinkingParams {
prompt: string; // Analysis prompt
outputDir?: string; // Optional output directory
}
🤝 Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características
- Haz commit de tus cambios
- Sube los cambios a la rama
- Crea una Solicitud de Extracción (Pull Request)
📄 Licencia
Licencia MIT - Consulta el archivo LICENSE para más detalles