# Guía de Pruebas - MCP Metabase Este documento explica cómo ejecutar el script de pruebas completo del MCP Metabase. ## Script de Pruebas El script `test-tools.ts` ejecuta todas las herramientas del MCP Metabase y genera un reporte completo con: - Todas las respuestas sin filtrar - Tiempos de ejecución - Estado de éxito/fallo - Salida en JSON estructurado ## Requisitos 1. Node.js y npm instalados 2. API Key de Metabase ## Obtener la API Key ### Opción 1: Desde Metabase UI 1. Ir a https://metabase.nucleoriofrio.com 2. Settings → Admin → API Keys 3. Crear o copiar una API Key existente ### Opción 2: Desde el contenedor en producción ```bash docker inspect nucleodocs-mcp-metabase | grep METABASE_API_KEY ``` ### Opción 3: Desde Gitea Actions Secrets La API key está guardada como secret en Gitea con el nombre `METABASE_API_KEY`. ## Ejecución ```bash cd mcp-metabase-server # Instalar dependencias si no lo has hecho npm install # Ejecutar con la API key como variable de entorno METABASE_API_KEY=tu-api-key-aqui tsx test-tools.ts ``` ## Salida El script generará: 1. **Consola**: Resumen en tiempo real de cada prueba 2. **Archivo JSON**: `test-results-{timestamp}.json` con todos los resultados completos ### Ejemplo de salida en consola: ``` ═══════════════════════════════════════════════════ 🚀 Iniciando pruebas del MCP Metabase ═══════════════════════════════════════════════════ Metabase URL: https://metabase.nucleoriofrio.com Timestamp: 2025-10-28T... 🧪 Probando: metabase_collections Lista todas las colecciones disponibles Parámetros: {} ✅ Éxito (234ms) 🧪 Probando: metabase_dashboards Lista todos los dashboards Parámetros: {} ✅ Éxito (156ms) ... ═══════════════════════════════════════════════════ 📊 Resumen de Resultados ═══════════════════════════════════════════════════ ✅ Exitosas: 8 ❌ Fallidas: 2 📝 Total: 10 💾 Resultados guardados en: test-results-1730149234567.json ──────────────────────────────────────────────────── Herramienta Estado Tiempo ──────────────────────────────────────────────────── metabase_collections ✅ 234ms metabase_dashboards ✅ 156ms metabase_databases ❌ 89ms ... ──────────────────────────────────────────────────── ``` ### Estructura del archivo JSON: ```json [ { "toolName": "metabase_collections", "description": "Lista todas las colecciones disponibles", "params": {}, "success": true, "data": { ... }, // Respuesta completa de la API "timestamp": "2025-10-28T...", "executionTime": 234 }, ... ] ``` ## Herramientas probadas 1. `metabase_collections` - Lista colecciones 2. `metabase_dashboards` - Lista dashboards 3. `metabase_databases` - Lista bases de datos (sin metadata) 4. `metabase_databases_with_metadata` - Lista bases de datos (con metadata) 5. `metabase_cards_search` - Buscar cards 6. `metabase_cards_list_limited` - Listar cards (limitado a 10) 7. `metabase_card_info` - Obtener info de card específica 8. `metabase_execute_card` - Ejecutar card con parámetros 9. `metabase_update_card` - Actualizar card (test) 10. `metabase_update_card_revert` - Revertir cambio de prueba ## Análisis de Resultados Una vez generado el archivo JSON, puedes: 1. **Ver respuestas completas**: Abre el JSON en un editor 2. **Filtrar resultados grandes**: Usa `jq` para filtrar: ```bash cat test-results-*.json | jq '.[] | select(.success == false)' ``` 3. **Extraer solo errores**: ```bash cat test-results-*.json | jq '.[] | select(.success == false) | {tool: .toolName, error: .error}' ``` ## Próximos pasos Después de revisar los resultados completos, se puede: 1. Identificar qué respuestas son demasiado grandes 2. Implementar filtros y paginación 3. Crear un reporte resumido automático 4. Agregar más pruebas específicas