Fabi Analyst Agent MCP

Fabi MCP es un agente autónomo que maneja tareas de análisis de datos de extremo a extremo a partir de solicitudes en lenguaje natural, descubriendo automáticamente esquemas de datos, generando código SQL o Python, ejecutando consultas y presentando información.

Documentación

Servidor MCP

Conéctate a Fabi a través del servidor del Protocolo de Contexto de Modelo (MCP)

Descripción general

Fabi.ai proporciona un servidor MCP (Protocolo de Contexto de Modelo) que te permite integrar las capacidades de análisis de datos con IA de Fabi directamente en tu flujo de trabajo de desarrollo o en tu cliente/interfaz de elección. El servidor MCP permite que los asistentes de IA y las herramientas de desarrollo interactúen con Fabi.ai, creando hilos, enviando solicitudes de chat y guardando Smartbooks programáticamente.

El servidor MCP de Fabi es la forma más rápida de implementar un asistente de IA para chatear directamente con tus datos.

Autenticación

El servidor MCP de Fabi admite dos métodos de autenticación:

Autenticación por token

La autenticación por token es el método recomendado para acceso programático. Puedes generar tokens MCP desde la configuración de Fabi.ai:

  1. Navega a https://app.fabi.ai/settings/mcp
  2. Genera un nuevo token MCP
  3. Copia el token de forma segura: solo se mostrará una vez

Autenticación OAuth

La autenticación OAuth también es compatible con integraciones basadas en usuarios. Sigue el flujo OAuth para autenticar tu aplicación y usa la siguiente URL: https://app.fabi.ai/mcp

Configuración

Para conectarte al servidor MCP de Fabi, agrega la siguiente configuración a los ajustes de tu cliente MCP:

{
  "mcpServers": {
    "fabi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://app.fabi.ai/mcp",
        "--header",
        "Authorization: Bearer <your-fabi-mcp-token>"
      ]
    }
  }
}

Reemplaza <your-fabi-mcp-token> con el token que generaste desde la página de configuración.

Herramientas disponibles

El servidor MCP de Fabi proporciona las siguientes herramientas para interactuar con Fabi.ai:

Crear un hilo

Crea una nueva sesión de análisis de datos (respaldada por un Smartbook) para consultas SQL/Python. Se usa para comenzar a analizar tablas de bases de datos, ejecutar consultas o explorar datos. El hilo conservará tu historial de análisis y el código generado.

Parámetros:

  • title (opcional): Título para la sesión de análisis

Devuelve: UUID del hilo para operaciones posteriores

Enviar chat

Delega una tarea de análisis de datos al agente autónomo de Fabi. Toma una descripción en lenguaje natural de lo que quieres: Fabi manejará de forma independiente toda la complejidad: descubrir fuentes de datos, usar RAG para encontrar esquemas y semántica de tablas/columnas relevantes, generar código SQL/Python, validar consultas con ejecuciones de prueba, ejecutarlas y formatear los resultados.

Parámetros:

  • thread_uuid: UUID del hilo de create_thread
  • message: Solicitud de análisis de datos en lenguaje natural (p. ej., 'muestra los 10 principales clientes por ingresos')
  • context_cell_uuids (opcional): UUIDs de celdas anteriores para referenciar en este análisis
  • context_dataframes (opcional): Nombres de variables de dataframes para usar como contexto

Devuelve: UUID de la solicitud y estado inicial

Obtener resultado del chat

Consulta el resultado de una solicitud de análisis de chat de larga duración. Lo usa el agente cuando submit_chat devuelve un resultado temprano debido a un tiempo de espera (después de 45 segundos). El chat continúa procesándose en segundo plano: llama a esta función periódicamente para verificar si los resultados están listos.

Parámetros:

  • request_uuid: UUID de la solicitud de chat (devuelto por submit_chat)

Devuelve: Estado de procesamiento o resultados completados con vista previa de datos

Guardar en Smartbook

Guarda celdas generadas por IA del historial de chat en el Smartbook para publicar paneles o colaborar. Lo usa el agente para persistir, publicar o compartir el análisis como panel. Esto acepta resultados de chat pendientes y los convierte en celdas ejecutables de Smartbook. Los análisis regulares ya se pueden ver en el historial de chat y no necesitan guardarse.

Parámetros:

  • thread_uuid: UUID del hilo a guardar

Devuelve: Confirmación de las celdas de Smartbook guardadas

Ejemplos de uso

Flujo de trabajo básico

  1. Crea un hilo para iniciar una nueva sesión de análisis
  2. Envía solicitudes de chat con consultas en lenguaje natural
  3. Obtén resultados del chat para recuperar las salidas del análisis
  4. Guarda en Smartbook (opcional) para persistir los resultados y compartirlos

Ejemplo: Análisis de datos de ventas

// 1. Create a new thread
const thread = await mcp.callTool('fabi', 'create_thread', {
  title: 'Sales Analysis Q4 2024'
});

// 2. Submit an analysis request
const request = await mcp.callTool('fabi', 'submit_chat', {
  thread_uuid: thread.uuid,
  message: 'Show top 10 customers by revenue in Q4 2024'
});

// 3. Get the results
const results = await mcp.callTool('fabi', 'get_chat_result', {
  request_uuid: request.uuid
});

// 4. Save to Smartbook for sharing
await mcp.callTool('fabi', 'save_to_smartbook', {
  thread_uuid: thread.uuid
});

Solución de problemas

  • Primero prueba el Agente Analista de IA en la interfaz de Fabi para asegurarte de que funcione como se espera. Si funciona, entonces
  • Si usas autenticación basada en tokens, asegúrate de usar un token válido
  • Si usas un agente local, reinicia el agente después de configurar las herramientas

Buenas prácticas

Seguridad de tokens

  • Almacena los tokens MCP de forma segura y nunca los incluyas en el control de versiones
  • Usa variables de entorno o gestión segura de secretos
  • Rota los tokens regularmente para mayor seguridad
  • Cada token debe ser usado solo por una aplicación o usuario

Manejo de errores

  • Implementa lógica de reintento para get_chat_result cuando el estado sea "processing"
  • Maneja los escenarios de tiempo de espera con elegancia
  • Valida los UUID de hilos antes de realizar llamadas posteriores

Rendimiento

  • Usa context_cell_uuids y context_dataframes para basarte en análisis anteriores
  • Solo llama a save_to_smartbook cuando necesites persistir resultados
  • Agrupa consultas relacionadas en el mismo hilo para mejor contexto