Skip to main content
Glama
Macawls

Umami MCP Server

Servidor MCP de Umami

Conecta tu Umami Analytics a cualquier cliente MCP: Claude Desktop, VS Code, Cursor, Windsurf, Zed, Smithery y más.

Prompts

Analítica y tráfico

  • "Dame un informe analítico completo de mi sitio web de los últimos 30 días"

  • "¿Qué páginas están recibiendo más tráfico este mes? Muéstrame las 10 principales"

  • "Analiza los patrones de tráfico de mi sitio web: ¿cuándo recibo más visitantes?"

Información sobre usuarios

  • "¿De dónde vienen mis visitantes? Desglósalo por país y ciudad"

  • "¿Qué dispositivos y navegadores están usando mis usuarios?"

  • "Muéstrame el recorrido del usuario: ¿qué páginas suelen ver los visitantes en secuencia?"

Monitoreo en tiempo real

  • "¿Cuántas personas hay en mi sitio web ahora mismo? ¿Qué páginas están viendo?"

  • "¿Está mi sitio web experimentando algún problema? Comprueba si el tráfico ha caído significativamente"

Análisis de contenido y campañas

  • "¿Qué publicaciones del blog debería actualizar? Muéstrame los artículos con tráfico en declive"

  • "¿Cómo funcionó mi reciente campaña de correo electrónico? Rastrea a los visitantes desde el UTM de la campaña"

  • "Compara el tráfico de diferentes plataformas de redes sociales"

Related MCP server: Customized MCP Server

Inicio rápido

Opción 1: Descargar binario

Obtén la última versión para tu plataforma en Releases

Opción 2: Docker

docker run -i --rm \
  -e UMAMI_URL="https://your-instance.com" \
  -e UMAMI_USERNAME="username" \
  -e UMAMI_PASSWORD="password" \
  ghcr.io/macawls/umami-mcp-server

Opción 3: Instalación con Go

go install github.com/Macawls/umami-mcp-server@latest

Se instala en ~/go/bin/umami-mcp-server (o $GOPATH/bin)

Configuración

Elige uno de los dos enfoques siguientes según tu preferencia.

Remoto (Sin instalación)

Hay una instancia alojada disponible en https://umami-mcp.macawls.dev/mcp. Conéctate directamente desde cualquier cliente MCP que admita transporte HTTP; no se necesita binario ni Docker.

Las credenciales se pasan a través de encabezados X-Umami-* en la solicitud initialize.

Añádelo a tu configuración (%APPDATA%\Claude\claude_desktop_config.json en Windows, ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{
  "mcpServers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headersHelper": "echo X-Umami-Host: https://your-instance.com && echo X-Umami-Username: admin && echo X-Umami-Password: pass"
    }
  }
}

Añádelo a .vscode/mcp.json:

{
  "servers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "${input:umami-username}",
        "X-Umami-Password": "${input:umami-password}"
      }
    }
  }
}
claude mcp add --transport http \
  --header "X-Umami-Host: https://your-instance.com" \
  --header "X-Umami-Username: admin" \
  --header "X-Umami-Password: pass" \
  umami https://umami-mcp.macawls.dev/mcp

Añádelo a .cursor/mcp.json:

{
  "mcpServers": {
    "umami": {
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Añádelo a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "umami": {
      "serverUrl": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Añádelo a opencode.json:

{
  "mcp": {
    "umami": {
      "type": "remote",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Cualquier cliente MCP que admita HTTP transmitible puede conectarse a https://umami-mcp.macawls.dev/mcp con credenciales en los encabezados X-Umami-Host, X-Umami-Username y X-Umami-Password.

Local

Ejecuta el binario o la imagen de Docker localmente. Las credenciales se establecen mediante variables de entorno.

Añádelo a tu configuración (%APPDATA%\Claude\claude_desktop_config.json en Windows, ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Crea .vscode/mcp.json:

{
  "servers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}
claude mcp add \
  umami-mcp-server \
  -e UMAMI_URL="https://your-umami-instance.com" \
  -e UMAMI_USERNAME="your-username" \
  -e UMAMI_PASSWORD="your-password" \
  -- ~/go/bin/umami-mcp-server

Añádelo a .cursor/mcp.json:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Añádelo a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Añádelo a tu configuración de Zed bajo assistant.mcp_servers:

{
  "umami": {
    "command": "~/go/bin/umami-mcp-server",
    "env": {
      "UMAMI_URL": "https://your-umami-instance.com",
      "UMAMI_USERNAME": "your-username",
      "UMAMI_PASSWORD": "your-password"
    }
  }
}

Para clientes que usan un campo command (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "umami": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "UMAMI_URL",
        "-e", "UMAMI_USERNAME",
        "-e", "UMAMI_PASSWORD",
        "ghcr.io/macawls/umami-mcp-server"
      ],
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Herramientas disponibles

Herramienta

Descripción

get_websites

Lista todos los sitios web (llámalo primero para obtener los IDs de los sitios web)

get_stats

Estadísticas agregadas: visitas a páginas, visitantes, rebotes, tiempo total

get_pageviews

Recuento de visitas a páginas y sesiones agrupadas por unidad de tiempo

get_metrics

Desglose por página, referente, navegador, SO, dispositivo, país, etc.

get_active

Recuento actual de visitantes activos en tiempo real

Configuración

Variables de entorno

Variable

Predeterminado

Descripción

UMAMI_URL

requerido

La URL de tu instancia de Umami

UMAMI_USERNAME

requerido

Nombre de usuario de Umami

UMAMI_PASSWORD

requerido

Contraseña de Umami

UMAMI_TEAM_ID

ID de equipo para configuraciones basadas en equipos

TRANSPORT

stdio

Modo de transporte (stdio o http)

PORT

8080

Puerto del servidor HTTP

ALLOWED_ORIGINS

*

Orígenes permitidos por CORS separados por comas

MAX_SESSIONS

1000

Máximo de sesiones HTTP concurrentes

Archivo de configuración

En lugar de variables de entorno, crea un archivo config.yaml junto al binario:

umami_url: https://your-umami-instance.com
username: your-username
password: your-password
team_id: your-team-id  # optional

Las variables de entorno tienen prioridad sobre el archivo de configuración.

Sitios web de equipo

Si tu instancia de Umami utiliza equipos y tus sitios web están asignados a un equipo en lugar de a usuarios individuales, get_websites puede devolver una lista vacía. Establece UMAMI_TEAM_ID para obtener los sitios web de tu equipo en su lugar. Para el transporte HTTP, utiliza el encabezado X-Umami-Team-Id.

Puedes encontrar tu ID de equipo en tu panel de control de Umami en Configuración > Equipos.

Autoalojamiento (Transporte HTTP)

El servidor admite HTTP transmitible para implementaciones remotas. Establece TRANSPORT=http para exponer un endpoint /mcp:

TRANSPORT=http PORT=9999 ./umami-mcp-server

Las credenciales se pasan a través de encabezados X-Umami-* en la solicitud initialize. La respuesta incluye un encabezado Mcp-Session-Id para solicitudes posteriores.

Docker utiliza el modo HTTP por defecto:

docker run -p 8080:8080 ghcr.io/macawls/umami-mcp-server

Compilar desde el código fuente

git clone https://github.com/Macawls/umami-mcp-server.git
cd umami-mcp-server
go build -o umami-mcp

Solución de problemas

  • El binario de macOS no se ejecuta: xattr -c umami-mcp-server para eliminar la cuarentena

  • El binario de Linux no se ejecuta: chmod +x umami-mcp-server

  • Errores de conexión: Verifica que tu instancia de Umami sea accesible y que las credenciales sean correctas

  • Las herramientas no aparecen: Revisa los registros de tu cliente MCP, verifica que la ruta del binario sea absoluta

Licencia

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Macawls/umami-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server