Gemini Data Analysis & Research

Aprovecha la IA Gemini de Google para el análisis de datos, la generación de documentos de investigación y la entrega automatizada de correos electrónicos.

Documentación

Servidor MCP de Gemini Data Analysis & Research

Un potente servidor de Model Context Protocol (MCP) que aprovecha el modelo de IA Gemini Flash 2 de Google para análisis de datos integral, generación de documentos de investigación y entrega automatizada de correos electrónicos. Este servidor proporciona una solución integrada para analizar conjuntos de datos, generar contenido de investigación y distribuir resultados directamente a las partes interesadas por correo electrónico.

🚀 Características

1. Análisis de Datos Avanzado y Generación de Informes (analyze-data)

  • Análisis integral de archivos Excel (.xlsx, .xls) y CSV
  • Características:
    • Detección y análisis automático de tipos de datos
    • Análisis estadístico de columnas numéricas
    • Visualizaciones interactivas usando Chart.js
    • Información impulsada por IA usando Gemini Flash 2
    • Informes HTML detallados con gráficos interactivos
    • Entrega directa de resultados de análisis por correo electrónico
    • Modos de análisis básico y detallado
    • Directorio de salida personalizable
    • Soporte para conjuntos de datos grandes
    • Detección automática de valores atípicos
    • Análisis de correlación para columnas numéricas

2. Sistema de Investigación y Entrega por Correo Electrónico (send-email)

  • Generación y distribución profesional de documentos de investigación
  • Características:
    • Generación de documentos de investigación impulsada por IA
    • Entrega automatizada de resultados de análisis por correo electrónico
    • Soporte para múltiples tipos de contenido:
      • Documentos de investigación
      • Informes técnicos
      • Resúmenes de análisis de datos
      • Informes de inteligencia empresarial
    • Generación profesional de líneas de asunto para correos electrónicos
    • Soporte para contenido HTML y texto plano
    • Adjuntos de imágenes con capacidad de visualización en línea
    • Autenticación SMTP segura
    • Manejo integral de errores y reporte de estado
    • Formato de correo electrónico profesional
    • Seguimiento de entrega de mensajes
    • Plantillas de correo electrónico personalizables

3. Generador de Investigación y Análisis (generate-thinking)

  • Generación avanzada de investigación y análisis
  • Características:
    • Generación de documentos de investigación
    • Redacción de documentación técnica
    • Resúmenes de análisis de datos
    • Informes de inteligencia empresarial
    • Guardado de respuestas con marca de tiempo
    • Directorio de salida personalizable
    • Entrega directa de contenido generado por correo electrónico
    • Creación de contenido profesional

📊 Inicio Rápido

Requisitos Previos

  • Node.js (v16 o superior)
  • TypeScript
  • Claude Desktop
  • Clave API de Google Gemini
  • Cuenta de correo SMTP (para la funcionalidad de correo electrónico)

Instalación

  1. Clonar y configurar:
git clone [your-repo-url]
cd gemini-data-analysis-email-generator
npm install
  1. Crear el archivo .env:
GEMINI_API_KEY=your_api_key_here
NODEMAILER_EMAIL=your.email@gmail.com
NODEMAILER_PASSWORD=your_app_password_here
  1. Compilar el proyecto:
npm run build

Configuración de Claude Desktop

  1. Crear/Editar %AppData%/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "Gemini Data Analysis": {
      "command": "node",
      "args": ["path/to/gemini-data-analysis-email-generator/dist/index.js"],
      "cwd": "path/to/gemini-data-analysis-email-generator",
      "env": {
        "GEMINI_API_KEY": "your_api_key_here",
        "NODEMAILER_EMAIL": "your.email@gmail.com",
        "NODEMAILER_PASSWORD": "your_app_password_here"
      }
    }
  }
}
  1. Reiniciar Claude Desktop

📊 Uso de las Herramientas

Análisis de Datos con EDA e IA

{
  "name": "analyze-data",
  "arguments": {
    "fileData": "base64_encoded_file_content",
    "fileName": "data.xlsx",
    "analysisType": "detailed",
    "outputDir": "./analysis_results"
  }
}

Envío de Correos Electrónicos con Generación de Asunto por IA

{
  "name": "send-email",
  "arguments": {
    "to": "recipient@example.com",
    "subjectPrompt": "Create a professional subject line for a business report",
    "text": "Hello! This is the plain text version of our email.",
    "html": "<h1>Hello!</h1><p>This is the <b>HTML</b> version of our email.</p>",
    "images": [
      {
        "name": "chart.png",
        "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
      }
    ]
  }
}

Generación de Pensamiento

{
  "name": "generate-thinking",
  "arguments": {
    "prompt": "Analyze the market trends for Q1 2024",
    "outputDir": "./thinking_output"
  }
}

📁 Estructura de Salida

output/
├── analysis/
│   ├── plots/
│   │   ├── column1_histogram_[timestamp].html
│   │   └── column2_histogram_[timestamp].html
│   ├── analysis_[timestamp].txt
│   └── report_[timestamp].html
├── thinking/
│   └── gemini_thinking_[timestamp].txt
└── emails/
    └── email_log_[timestamp].txt

🛠️ Desarrollo

Scripts Disponibles

  • npm run build: Compilar TypeScript a JavaScript
  • npm run start: Iniciar el servidor MCP
  • npm run dev: Ejecutar en modo de desarrollo con ts-node

Variables de Entorno

  • GEMINI_API_KEY: Tu clave API de Google Gemini
  • NODEMAILER_EMAIL: Tu dirección de correo electrónico para enviar correos
  • NODEMAILER_PASSWORD: Tu contraseña de aplicación de correo (para Gmail, usa una contraseña de aplicación)

🔒 Notas de Seguridad

  • Almacena tus claves API de forma segura
  • No compartas tu archivo .env
  • Para Gmail, usa contraseñas de aplicación en lugar de la contraseña principal de tu cuenta
  • Ten cuidado con el contenido de los correos electrónicos enviados a través del sistema
  • Nunca incluyas información sensible o personal en ejemplos de correos electrónicos

🐛 Solución de Problemas

Problemas Comunes

  1. Error de Clave API

    • Verifica que el archivo .env exista
    • Comprueba la validez de la clave API
    • Asegura la carga adecuada del entorno
  2. Conexión con Claude Desktop

    • Verifica la sintaxis de config.json
    • Comprueba las rutas de archivo en la configuración
    • Reinicia Claude Desktop
  3. Problemas de Envío de Correos Electrónicos

    • Comprueba que NODEMAILER_EMAIL y NODEMAILER_PASSWORD estén configurados correctamente
    • Para Gmail, asegúrate de haber creado una contraseña de aplicación
    • Verifica que el acceso de aplicaciones menos seguras esté habilitado para proveedores que no sean Gmail
    • Comprueba el formato de la dirección de correo del destinatario
  4. Problemas de Análisis de Datos

    • Asegúrate de que el formato del archivo sea compatible (.xlsx, .xls, .csv)
    • Comprueba la codificación del archivo (se recomienda UTF-8)
    • Verifica que el tamaño del archivo esté dentro de los límites
    • Asegúrate de que las columnas numéricas estén formateadas correctamente

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 de Datos

interface AnalyzeDataParams {
  fileData: string;         // Base64 encoded file content
  fileName: string;         // File name (must be .xlsx, .xls, or .csv)
  analysisType: 'basic' | 'detailed';  // Analysis type
  outputDir?: string;      // Optional output directory
}

Herramienta de Envío de Correos Electrónicos

interface SendEmailParams {
  to: string;              // Recipient email address
  subjectPrompt: string;   // Prompt for Gemini to generate email subject
  text: string;            // Plain text version of email
  html?: string;           // HTML version of email (optional)
  images?: {               // Optional images to attach
    name: string;          // Image filename
    data: string;          // Base64 encoded image data
  }[];
}

Herramienta de Generación de Pensamiento

interface GenerateThinkingParams {
  prompt: string;           // Analysis prompt
  outputDir?: string;       // Optional output directory
}

👨‍💻 Autor

Falah G. Salieh
📍 Bagdad, Irak
📅 2025

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea tu rama de características
  3. Haz commit de tus cambios
  4. Haz push a la rama
  5. Crea una Solicitud de Extracción (Pull Request)

📄 Licencia

Licencia MIT - Consulta el archivo LICENSE para más detalles