Fooodo / Docs

Servidor MCP de Insights

Conecta ChatGPT, Claude, Copilot o Gemini a tu tenant de Fooodo Insights mediante el servidor remoto de Model Context Protocol.

Auto-translated · pending native review. The English version is canonical.

Fooodo Insights incluye un servidor remoto Model Context Protocol por tenant. Expone los análisis operativos de tu organización y un conjunto reducido de acciones de escritura acotadas a cualquier cliente AI que hable MCP — sin claves API, integraciones personalizadas ni copiar y pegar.

¿Quién puede usarlo? Cualquier cliente de Fooodo Insights con acceso admin, analyst o viewer a un tenant que tenga activado el indicador de función mcp_enabled. El indicador está desactivado por defecto en todas las organizaciones; contacta con support@fooodo.com para solicitar la activación y recibir la URL MCP de tu tenant.

Dos servidores MCP, una misma familia de productos. Esta página cubre el servidor MCP de Insights, que expone análisis operativos por tenant mediante OAuth 2.1. Un servidor MCP del manual de marketing independiente se ejecuta en /api/mcp en fooodo.com y es público — los agentes lo utilizan para conocer qué es Fooodo y para enviar solicitudes de contacto comercial. Las dos superficies están deliberadamente separadas: contenido del manual frente a datos de clientes.

Por qué MCP

MCP es el estándar abierto que los clientes AI utilizan para comunicarse con datos y herramientas remotas — el equivalente para agentes de OAuth + REST. Un único servidor MCP puede añadirse una sola vez y ser reutilizado por ChatGPT, Claude, Copilot, Gemini, Cursor, Windsurf, Zed y la creciente lista de clientes compatibles.

Para los clientes de Fooodo Insights esto significa:

  • Sin dependencia de proveedor. Tu analista puede hacer la misma pregunta desde ChatGPT hoy y desde Gemini mañana sin reconfigurar nada.
  • Acciones acotadas y auditadas. Las herramientas de escritura (p. ej., activar importación de datos, confirmar alerta) requieren el ámbito insights:write y el rol admin o analyst. Cada escritura queda registrada en el registro de auditoría con source: "mcp".
  • Aislamiento de tenant. Las herramientas están limitadas a la organización del usuario a nivel de base de datos; el acceso entre tenants es imposible.

Conectar desde tu AI

El servidor MCP de Insights utiliza OAuth 2.1 con Dynamic Client Registration, por lo que todos los clientes indicados a continuación emplean el mismo flujo de un solo clic: pega la URL de tu tenant, haz clic en Conectar, inicia sesión con tu cuenta de Fooodo Insights y aprueba los ámbitos — listo.

Los fragmentos de código siguientes utilizan <INSIGHTS_MCP_URL> como marcador de posición. Sustitúyelo por la URL que el soporte de Fooodo te envíe tras activar MCP para tu tenant.

ChatGPT (Plus / Pro / Enterprise)

  1. Abre Configuración → Conectores → Añadir conector personalizado (el Modo Desarrollador debe estar activado).
  2. URL del servidor: <INSIGHTS_MCP_URL>.
  3. Aprueba la página de consentimiento cuando se te solicite.

Claude.ai (Pro y superior)

  1. Abre Configuración → Conectores → Añadir conector personalizado.
  2. Nombre: Fooodo Insights. URL del servidor: <INSIGHTS_MCP_URL>.
  3. Aprueba la página de consentimiento.

GitHub Copilot (VS Code 1.101+, JetBrains, Visual Studio)

Añade lo siguiente al archivo .vscode/mcp.json de tu espacio de trabajo:

{
  "servers": {
    "fooodo-insights": {
      "type": "http",
      "url": "<INSIGHTS_MCP_URL>"
    }
  }
}

Si utilizas Copilot Business/Enterprise, tu administrador debe habilitar primero la política MCP servers in Copilot.

Gemini CLI

Añade lo siguiente a tu configuración de Gemini CLI:

{
  "mcpServers": {
    "fooodo-insights": {
      "url": "<INSIGHTS_MCP_URL>",
      "oauth": true
    }
  }
}

Gemini Enterprise

En la consola de Google Cloud, registra el servidor como almacén de datos MCP personalizado:

CampoValor
URL del servidor<INSIGHTS_MCP_URL>
AutenticaciónOAuth 2.0 (Dynamic Client Registration)
Ámbitos requeridosinsights:read, insights:write

Qué puede hacer el agente

El servidor expone herramientas en tres niveles. Los clientes deben elegir el nivel más bajo que responda a la pregunta — es más económico, más rápido y determinista.

Nivel 1 — Herramientas de datos (rápidas, deterministas, solo lectura)

HerramientaDevuelve
get_period_summaryMétricas agregadas para un intervalo de fechas — ventas, COGS, EBIT, margen bruto, campañas principales
get_weekly_sales_dataVentas semana a semana con campañas activas y datos de costes
get_channel_statsMétricas de rendimiento por canal de marketing — campañas y canales de captación, no el desglose dine-in/entrega a domicilio (para eso, usa get_channel_breakdown)
get_daily_performanceVentas día a día por canal y restaurante
get_product_performanceClasificación de productos/elementos del menú por ventas y cantidad, con desglose por categoría
get_cfo_pnl_dataDesglose de P&L — ingresos, COGS, personal, OpEx, EBIT — para la vista del panel CFO
get_restaurant_performanceDesglose de ventas por restaurante/ubicación para un intervalo de fechas, con la cuota de cada ubicación sobre el total de la cadena
get_channel_breakdownDesglose por canal de ventas (dine-in / entrega a domicilio / Wolt / Bolt / para llevar) con importe en € y cuota en % — la contrapartida en ventas; los canales de marketing están en get_channel_stats
get_check_metricsTicket medio (€, neto de IVA), platos por ticket y número de tickets para un intervalo de fechas — con desglose por tipo de pedido y por restaurante
get_table_timesTiempo medio de cierre de mesa (minutos) y número de pedidos — indicador de velocidad de servicio — con desglose opcional por tipo de pedido y restaurante
get_waiter_timesTiempos medios de cierre de mesa por camarero para un único restaurante (se requiere restaurant_id)
get_guest_feedbackSatisfacción del cliente — puntuaciones de encuestas NPS (comida / servicio / restaurante) más las últimas valoraciones de Google por restaurante
get_cash_positionSaldo de caja actual, tasa de consumo semanal, autonomía financiera y saldos por entidad
get_goals_vs_actualsObjetivos KPI (ticket medio, platos por ticket) y presupuesto de ventas diario frente a real, con cumplimiento del número de pedidos
get_monthly_sales_planPlan de ventas mensual prospectivo — presupuesto de ingresos y número de pedidos por canal y restaurante, incluidos meses futuros
get_marketing_spendGasto mensual en marketing (del P&L) y el calendario de campañas para el intervalo
list_restaurantsDirectorio de restaurantes (id, código, nombre, ciudad) — resuelve un nombre o código al restaurant_id por el que filtran las demás herramientas de datos
get_menu_salesDesglose de ventas de platos año a año por restaurante o ciudad (solo almuerzo o general), con filtro de canal opcional

Nivel 2 — Agentes especializados (análisis LLM de dominio único)

HerramientaDevuelve
consult_financial_analystAnálisis del «por qué» exclusivamente financiero, fundamentado en los datos del período
consult_marketing_strategistAnálisis causal de incremento y atribución de campañas exclusivamente de marketing
consult_market_researchContexto de mercado — estacionalidad, festivos, tendencias de comportamiento del consumidor

Las respuestas de los especialistas se calculan, no se improvisan: la aritmética de varios pasos la realiza una calculadora determinista del lado del servidor, no el cálculo mental del LLM, y cada cifra lleva una etiqueta de confianza y una cita de fuente. Para preguntas sobre impacto en el beneficio, obtén primero la línea base del P&L con get_cfo_pnl_data y pasa las cifras relevantes (EBIT de referencia, costes) a consult_financial_analyst — las herramientas propias del especialista cubren únicamente datos de ventas.

Nivel 3 — Orquestador (síntesis entre dominios)

HerramientaDevuelve
ask_orchestratorEnruta una pregunta entre dominios a todos los agentes especializados y sintetiza una única respuesta

Búsqueda y recuperación (ChatGPT Deep Research, clientes genéricos)

HerramientaDevuelve
searchLista de insights e historial de acciones de agente que coinciden con una consulta — {id, title, url, snippet}
fetchContenido completo de un documento por id obtenido de search{id, title, text, url, metadata}

Herramientas de escritura (requieren insights:write + rol admin/analyst)

HerramientaAcción
trigger_data_importActiva inmediatamente una obtención de fichero programada y configurada (asíncrono — devuelve un job_id)
acknowledge_alertMarca una alerta como confirmada
resolve_alertResuelve una alerta
generate_reportGenera un informe de negocio — resumen ejecutivo, rendimiento de campañas, análisis de canales — para un intervalo de fechas; asíncrono (devuelve un job_id), con envío opcional por correo electrónico
regenerate_insightsVuelve a ejecutar el generador de insights para la organización (asíncrono)
get_job_statusConsulta el estado de un trabajo asíncrono

Prompts

weekly_business_review, margin_diagnosis — prompts de comando slash para ChatGPT Apps y otros clientes compatibles con prompts.

Seguridad y límites

  • OAuth 2.1 + PKCE, clientes públicos, tokens de actualización rotativos. Los tokens de acceso son JWT HS256 válidos durante una hora. Los tokens de actualización son válidos durante 60 días, se almacenan como hashes SHA-256 y son de un solo uso en la rotación.
  • Control por organización mediante el indicador de función mcp_enabled — desactivado por defecto en todas las organizaciones. La activación se realiza mediante un ticket de soporte, no mediante un interruptor de autoservicio, para que los clientes puedan gestionar el despliegue de forma escalonada.
  • Límites de frecuencia por nivel y usuario. Herramientas de datos: 60/min; especialistas y orquestador: 10 cada 5 min; herramientas de escritura: 5 cada 5 min.
  • Revocación. Los usuarios pueden revocar cualquier cliente en cualquier momento desde la configuración de su cuenta (/account/connected-apps en el lado de Insights). Los administradores pueden revocar a nivel de toda la organización.
  • Registro de auditoría. Cada llamada a una herramienta de escritura queda registrada en el registro de auditoría con source: "mcp", incluyendo el nombre del cliente, el usuario y la carga útil de entrada.
  • Aislamiento de tenant a nivel de base de datos. Cada consulta se limita a la organización del usuario antes de salir de la aplicación; el servidor no puede devolver datos entre tenants.

Para desarrolladores de agentes

  • URL de descubrimiento: <INSIGHTS_MCP_URL>/.well-known/oauth-authorization-server (y con el sufijo /mcp, según RFC 8414 §3.1).
  • Metadatos del recurso protegido: <INSIGHTS_MCP_URL>/.well-known/oauth-protected-resource/mcp (según RFC 9728).
  • Dynamic Client Registration: POST <INSIGHTS_MCP_URL>/register — registro abierto, pero cada autorización sigue requiriendo consentimiento interactivo.
  • Ámbitos: insights:read (por defecto) e insights:write (para herramientas de escritura).
  • Transporte: HTTP con streaming, versión del protocolo MCP 2025-06-18.

Estándares seguidos: MCP 2025-06-18, RFC 6749 (OAuth 2.0), RFC 7636 (PKCE), RFC 7591 (Dynamic Client Registration), RFC 8414 (Authorization Server Metadata), RFC 9728 (Protected Resource Metadata).

En esta página