Umami MCP
oficialConecta tu asistente de IA a Umami y haz preguntas sobre los análisis de tu sitio web en lenguaje natural.
¿Qué puedes hacer con Umami MCP?
- List accessible sites — Pide ver todos los sitios web a los que puedes acceder; llama a
list_websitesprimero para obtener unwebsiteIdpara otras consultas. - Get traffic summaries — Pide páginas vistas, visitantes, tasa de rebote o duración mediante
get_website_stats, incluyendo comparaciones con el período anterior. - Analyze traffic sources — Pide qué páginas, referentes, países o dispositivos generaron tráfico usando
get_website_metrics. - Track custom events — Pide totales de eventos, series o valores de propiedades con
get_event_stats,get_event_seriesoget_event_properties. - Inspect sessions — Pide listas de sesiones paginadas mediante
get_sessionso la línea de tiempo de actividad de una sola sesión conget_session. - Run analytics models — Pide ejecutar embudos guardados (
run_funnel), ver retención de cohortes (run_retention) o comprobar conversiones de objetivos (get_goals).
Servidor MCP alojado
npx add-mcp 'https://cloud.umami.is/mcp'Se instala en Claude Code, Codex, Cursor, VS Code y más
Documentación
@umami/mcp
Servidor de Model Context Protocol para análisis de Umami. Permite que Claude, ChatGPT, Cursor y otros clientes MCP respondan preguntas sobre el tráfico de tu sitio web mediante herramientas de solo lectura que llaman a la API de Umami a través de @umami/api-client.
El servidor MCP nunca se comunica con una base de datos; cada herramienta pasa por la API pública y las mismas comprobaciones de permisos de usuario/equipo que la aplicación web.
Herramientas
| Herramienta | Propósito |
|---|---|
list_websites | Encuentra los sitios web a los que tienes acceso (llama primero para obtener un websiteId). |
get_website_daterange | Fechas más tempranas y más recientes con datos registrados. |
get_website_stats | Vistas de página, visitantes, visitas, tasa de rebote, duración + período anterior. |
get_website_traffic | Serie temporal de vistas de página/visitas por minuto, hora, día, mes o año. |
get_website_metrics | Principales páginas, referentes, canales, países, navegadores, dispositivos, UTM, eventos. |
get_realtime | Visitantes activos en este momento. |
get_events | Eventos rastreados individuales (paginados). |
get_event_stats | Totales de eventos personalizados + período anterior. |
get_event_series | Conteos de eventos personalizados a lo largo del tiempo, agrupados por nombre de evento. |
get_event_properties | Nombres de propiedades de eventos personalizados, o los valores de una propiedad. |
get_sessions | Sesiones de visitantes (paginadas). |
get_session_stats | Totales a nivel de sesión: visitantes, visitas, vistas de página, eventos, países. |
get_annotations | Notas con fecha en la línea de tiempo (lanzamientos, campañas) para explicar cambios. |
list_segments | Segmentos y cohortes guardados; pasa IDs mediante filters.segment / .cohort. |
get_session | Una sesión con su línea de tiempo de actividad y propiedades. |
list_funnels | Embudos guardados con sus pasos (obtén un funnelId para run_funnel). |
run_funnel | Embudo de conversión desde un funnelId guardado o pasos de página/evento ad hoc. |
get_goals | Objetivos guardados con conversiones, visitantes y tasa para un rango. |
run_journey | Rutas más comunes que toman los visitantes. |
run_retention | Tabla de retención de cohortes. |
run_attribution | Atribución de primer/último clic para una conversión. |
get_revenue | Totales de ingresos, series y desgloses. |
get_performance | Core Web Vitals (LCP, INP, CLS, FCP, TTFB) percentiles, tendencia, desglose. |
Todas las herramientas son de solo lectura. Las fechas están en ISO 8601; los resultados están paginados con un límite máximo en el tamaño de página.
Remoto: Umami Cloud
Conéctate a https://cloud.umami.is/mcp usando tu clave de API de Cloud existente:
Authorization: Bearer api_<your-cloud-api-key>
Los clientes que admiten encabezados personalizados pueden usar x-umami-api-key en su lugar. Si se proporcionan ambos encabezados, deben contener la misma clave. Usa un cliente que admita configuración de clave de API o encabezado de portador.
Cloud MCP tiene los mismos requisitos de suscripción y permisos de sitio web/equipo que la API de Cloud. Todas las herramientas llaman a la puerta de enlace de la API de Cloud, que valida la clave y enruta las solicitudes a tu región.
Remoto: autoalojado
Genera una clave de API en Configuración → Claves de API en tu instancia de Umami, luego configura tu cliente MCP con el endpoint HTTP Streamable:
https://your-umami.example.com/mcp
Configura el encabezado de autorización usando tu clave:
Authorization: Bearer umami_<your-api-key>
Usa un cliente que admita tokens de portador o encabezados de autorización personalizados. El endpoint acepta claves de API autoalojadas; los tokens de inicio de sesión del navegador no son compatibles. Las herramientas son de solo lectura y respetan los permisos existentes de usuario/equipo del propietario de la clave. Revoca la clave en Configuración para desconectar el acceso. MCP está deshabilitado por defecto. Configura MCP_ENABLED=1 para habilitar el endpoint.
Local / stdio
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": {
"UMAMI_URL": "https://analytics.example.com",
"UMAMI_API_TOKEN": "umami_…"
}
}
}
}
| Variable | Descripción |
|---|---|
UMAMI_URL | URL de la instancia autoalojada (se agrega /api). |
UMAMI_API_URL | URL base completa de la API en su lugar, p. ej. https://api.umami.is/v1. |
UMAMI_API_TOKEN | Clave de API o token de inicio de sesión (autoalojado). |
UMAMI_API_KEY | Clave de API de Umami Cloud. |
Para Cloud stdio, configura UMAMI_API_KEY y omite UMAMI_URL y UMAMI_API_TOKEN:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": { "UMAMI_API_KEY": "api_<your-cloud-api-key>" }
}
}
}
Ejemplos de indicaciones
- Muestra mis sitios web.
- ¿Cuántos visitantes recibió example.com la semana pasada?
- ¿Cuáles fueron las 10 páginas principales este mes?
- Compara el tráfico de este mes con el del mes anterior.
- ¿De dónde proviene el tráfico?
- ¿Qué eventos de registro ocurrieron ayer?
- Muestra las sesiones del usuario abc123.
- ¿Qué planes de precios seleccionaron las personas en el evento de pago el mes pasado?
- ¿Cuántos eventos de registro se dispararon cada día esta semana?
- Ejecuta mi embudo de pago del mes pasado.
- ¿Cómo vamos con nuestros objetivos este trimestre?
- ¿Qué páginas tienen el peor LCP en móvil?
- ¿Qué sucedió el día en que el tráfico aumentó?
Uso programático
import { UmamiClient } from '@umami/api-client';
import { createUmamiMcpServer } from '@umami/mcp';
const server = createUmamiMcpServer({
client: new UmamiClient({ baseUrl, token }),
});
createUmamiMcpHttpHandler({ createClient }) devuelve un controlador HTTP Streamable para incrustar en cualquier marco web; el host verifica el token de portador y pasa authInfo.