Funciones
Pregunta a tu IA
Conecta cualquier cliente MCP, como Claude o Cursor, a Runlight con un token de solo lectura y pregunta por tus estadísticas con palabras sencillas.
Runlight tiene un servidor MCP integrado en /runlight/mcp, junto al panel. Cuando conectas un asistente de IA, puedes preguntarle por cosas que de otro modo buscarías haciendo clic, como cómo fue la semana pasada frente a la anterior, qué páginas leen las personas que llegan desde Google, qué está convirtiendo y si el pico del martes vino de Hacker News.
El servidor forma parte de rl.routes(), así que funciona allí donde funcione tu panel.
Para preguntar desde el propio panel sin una aplicación de asistente propia, usa el asistente detrás del botón del robot, que usa las mismas herramientas con una clave que añades en Ajustes.
Crear un token
En el panel, ve a Ajustes y abre API e IA. Ponle al token el nombre de lo que lo va a usar, como "Claude" o "Script semanal", y créalo. Si haces seguimiento de varios sitios, puedes limitar un token a uno de ellos.
Copia el token cuando aparezca. Runlight solo guarda una huella de él, así que solo puede mostrar el token esta vez. La página también rellena la configuración de abajo con tu propia dirección y tu token.
Un token de lectura, que es lo que crea esta página salvo que elijas otra cosa, nunca cambia nada. Ve las mismas cifras que muestra el panel y puede listar los enlaces cortos con sus clics, y no puede crear ni borrar tokens ni ver tus ajustes de correo ni tus enlaces para compartir. Un token de gestión se limita a un sitio y también puede cambiar los objetivos, embudos, enlaces cortos, dominios de enlaces, informes por email y enlaces para compartir de ese sitio, junto con su nombre, zona horaria y retención, y obtener tickets para el selector de elementos, como se describe en la API. Un servidor independiente recibe uno cuando conecta un sitio, así que rara vez tendrás que crear uno a mano. Las herramientas MCP solo leen, tenga el asistente el token que tenga. Un token que borras en ese mismo lugar deja de funcionar al instante, y la lista muestra cuándo se usó cada token por última vez.
Conectar tu asistente
En cada uno de estos, cambia la dirección por la tuya y rl_... por tu token.
Para Claude Code, ejecuta este comando.
bash
claude mcp add --transport http runlight https://example.com/runlight/mcp --header "Authorization: Bearer rl_..."Para Cursor, añade esto a ~/.cursor/mcp.json o al .cursor/mcp.json de un proyecto.
json
{
"mcpServers": {
"runlight": {
"url": "https://example.com/runlight/mcp",
"headers": { "Authorization": "Bearer rl_..." }
}
}
}Para VS Code, añade esto a .vscode/mcp.json.
json
{
"servers": {
"runlight": {
"type": "http",
"url": "https://example.com/runlight/mcp",
"headers": { "Authorization": "Bearer rl_..." }
}
}
}Claude Desktop se conecta a través de mcp-remote. Añade esto a claude_desktop_config.json.
json
{
"mcpServers": {
"runlight": {
"command": "npx",
"args": ["mcp-remote", "https://example.com/runlight/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer rl_..." }
}
}
}Cualquier otro cliente que hable MCP sobre Streamable HTTP y pueda enviar una cabecera funciona igual.
Conectar con OAuth
Los conectores de las aplicaciones web de Claude y ChatGPT inician sesión con OAuth en lugar de con un token pegado, y Runlight también lo admite. Añade la dirección de tu servidor MCP como conector personalizado. La aplicación te lleva a una página de Runlight que te pide que la autorices, después de iniciar sesión si hace falta, y te deja limitarla a un sitio. Después recibe su propio token de solo lectura, que aparece en Ajustes, API e IA con "(OAuth)" tras su nombre. Borrarlo ahí desconecta la aplicación.
El servidor independiente no necesita nada más. Dentro de tu propia aplicación, los clientes OAuth también buscan dos documentos en la raíz de tu sitio, así que enruta también /.well-known/oauth-authorization-server y /.well-known/oauth-protected-resource a Runlight. En Next.js es un archivo de ruta más.
app/.well-known/[...path]/route.ts
import { rl } from "@/lib/runlight";
export const { GET, OPTIONS } = rl.routes();Lo que puede responder
| Herramienta | Qué lee |
|---|---|
list_sites |
Los sitios que el token puede leer, con sus zonas horarias. |
get_stats |
Visitantes, visitas, páginas vistas, páginas por visita, tasa de rebote y duración de la visita, frente al periodo anterior. |
get_timeseries |
Las mismas cifras por hora, día, semana o mes. |
get_breakdown |
Las páginas principales, páginas de entrada y de salida, referentes, fuentes, canales, etiquetas UTM, países, regiones, ciudades, navegadores, sistemas, dispositivos, pantallas, idiomas, eventos y agentes de IA. |
get_visit_times |
Visitas por día de la semana y hora. |
get_realtime |
Cuántas personas hay ahora en el sitio, las páginas que se están leyendo y de dónde vinieron las visitas, nunca quién. |
list_goals, get_goal |
Conversiones, tasas e ingresos de cada objetivo, o de un objetivo desglosado por canal, fuente y página. |
get_journeys |
Los caminos que siguen las visitas por el sitio, paso a paso, desde una página o hacia ella si quieres. |
list_funnels |
Los pasos de cada embudo y cuántas visitas llegaron a cada uno. |
get_event_properties |
Los valores enviados con un evento, como en qué enlaces se hizo clic o qué archivos se descargaron. |
list_links |
Los enlaces cortos y sus clics. |
Cada herramienta acepta los periodos del panel (today, 7d, 30d, month, last_month, 12mo, all y los demás) o fechas. Cada una acepta también una comparación y filtros como channel:is:Organic Search o page:contains:/blog. Los asistentes los aprenden de las descripciones de las herramientas, así que basta con preguntar.
Estas son algunas cosas que puedes probar.
- "¿Cómo fue el mes pasado frente al anterior, y qué cambió más?"
- "¿Qué entradas del blog leen durante más tiempo las personas que llegan desde Google?"
- "¿De dónde vienen los visitantes que compran?"
- "¿Pasó algo fuera de lo normal esta semana?"
Scripts
El mismo token funciona con la API HTTP, así que puedes usarlo en tus propios scripts y paneles.
bash
curl "https://example.com/runlight/api/stats?period=7d" -H "Authorization: Bearer rl_..."