Toute la documentation

Démarrer

  1. 01Pour commencer
  2. 02Installation
  3. 03Suivi

Fonctionnalités

  1. 04Le tableau de bord
  2. 05Objectifs
  3. 06Liens courts
  4. 07Sources et agents IA
  5. 08Rapports par e-mail
  6. 09Vérification planifiée
  7. 10Interrogez votre IA

Référence

  1. 11Configuration
  2. 12API HTTP

Plateformes

  1. 13Serveur autonome
  2. 14PHP
  3. 15WordPress
  4. 16Drupal
  5. 17Craft CMS
  6. 18Python
  7. 19Rails
  8. 20Ruby
  9. 21Go
  10. 22Java
  11. 23.NET
  12. 24Elixir
  13. 25Rust

Confiance

  1. 26Confidentialité

Fonctionnalités

Interrogez votre IA

Connectez n’importe quel client MCP, comme Claude ou Cursor, à Runlight avec un jeton en lecture seule, et posez vos questions sur vos statistiques en langage courant.

Runlight intègre un serveur MCP sous /runlight/mcp, à côté du tableau de bord. Une fois un assistant IA connecté, vous pouvez lui poser les questions dont vous iriez sinon chercher la réponse à coups de clics. Demandez-lui par exemple comment la semaine dernière se compare à la précédente, quelles pages lisent les gens venus de Google, ce qui convertit, ou si le pic de mardi venait de Hacker News.

Le serveur fait partie de rl.routes(), il tourne donc partout où tourne votre tableau de bord.

Pour poser vos questions depuis le tableau de bord lui-même, sans application d’assistant à vous, utilisez l’assistant derrière le bouton robot. Il utilise les mêmes outils avec une clé que vous ajoutez dans les Réglages.

Créer un jeton

Dans le tableau de bord, allez dans Réglages et ouvrez API et IA. Nommez le jeton d’après ce qui va l’utiliser, comme « Claude » ou « Script hebdomadaire », et créez-le. Si vous suivez plusieurs sites, vous pouvez limiter un jeton à l’un d’eux.

Copiez le jeton quand il apparaît. Runlight n’en garde qu’une empreinte, il ne peut donc l’afficher que cette seule fois. La page remplit aussi la configuration ci-dessous avec votre propre adresse et votre jeton.

Un jeton de lecture, ce que cette page crée sauf si vous choisissez autre chose, ne modifie jamais rien. Il voit les mêmes chiffres que le tableau de bord et peut lister les liens courts avec leurs clics, mais il ne peut ni créer ni supprimer de jetons, ni voir vos réglages d’e-mail et vos liens de partage. Un jeton de gestion est limité à un site et peut aussi modifier les objectifs, les entonnoirs, les liens courts, les domaines de liens, les rapports par e-mail et les liens de partage de ce site, ainsi que son nom, son fuseau horaire et sa durée de conservation, et obtenir des tickets pour le sélecteur d’éléments, comme le décrit l’API. Un serveur autonome en reçoit un quand il connecte un site, vous en créerez donc rarement un à la main. Les outils MCP ne font jamais que lire, quel que soit le jeton que détient un assistant. Un jeton que vous supprimez au même endroit cesse aussitôt de fonctionner, et la liste montre quand chaque jeton a servi pour la dernière fois.

Connecter votre assistant

Dans chacun de ces exemples, remplacez l’adresse par la vôtre et rl_... par votre jeton.

Pour Claude Code, lancez cette commande.

bash

claude mcp add --transport http runlight https://example.com/runlight/mcp --header "Authorization: Bearer rl_..."

Pour Cursor, ajoutez ceci à ~/.cursor/mcp.json ou au .cursor/mcp.json d’un projet.

json

{
  "mcpServers": {
    "runlight": {
      "url": "https://example.com/runlight/mcp",
      "headers": { "Authorization": "Bearer rl_..." }
    }
  }
}

Pour VS Code, ajoutez ceci à .vscode/mcp.json.

json

{
  "servers": {
    "runlight": {
      "type": "http",
      "url": "https://example.com/runlight/mcp",
      "headers": { "Authorization": "Bearer rl_..." }
    }
  }
}

Claude Desktop se connecte via mcp-remote. Ajoutez ceci à 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_..." }
    }
  }
}

Tout autre client qui parle MCP en Streamable HTTP et peut envoyer un en-tête fonctionne de la même façon.

Se connecter avec OAuth

Les connecteurs des applications web de Claude et de ChatGPT se connectent avec OAuth plutôt qu’avec un jeton collé, et Runlight le prend aussi en charge. Ajoutez l’adresse de votre serveur MCP comme connecteur personnalisé. L’application vous envoie vers une page Runlight qui vous demande de l’autoriser, après connexion si nécessaire, et vous permet de la limiter à un site. Elle reçoit alors son propre jeton en lecture seule, qui apparaît dans Réglages, API et IA avec « (OAuth) » après son nom. Le supprimer à cet endroit déconnecte l’application.

Le serveur autonome n’a besoin de rien de plus. Dans votre propre application, les clients OAuth cherchent aussi deux documents à la racine de votre site, alors routez également /.well-known/oauth-authorization-server et /.well-known/oauth-protected-resource vers Runlight. Dans Next.js, cela fait un fichier de route de plus.

app/.well-known/[...path]/route.ts

import { rl } from "@/lib/runlight";
export const { GET, OPTIONS } = rl.routes();

Ce qu’il peut répondre

Outil Ce qu’il lit
list_sites Les sites que le jeton peut lire, avec leurs fuseaux horaires.
get_stats Les visiteurs, les visites, les pages vues, les pages par visite, le taux de rebond et la durée de visite, comparés à la période précédente.
get_timeseries Les mêmes chiffres par heure, jour, semaine ou mois.
get_breakdown Les pages principales, les pages d’entrée et de sortie, les référents, les sources, les canaux, les balises UTM, les pays, les régions, les villes, les navigateurs, les systèmes, les appareils, les écrans, les langues, les événements et les agents IA.
get_visit_times Les visites par jour de la semaine et par heure.
get_realtime Combien de personnes sont sur le site en ce moment, les pages lues et la provenance des visites, jamais qui.
list_goals, get_goal Les conversions, les taux et les revenus de chaque objectif, ou d’un objectif réparti par canal, source et page.
get_journeys Les chemins que suivent les visites à travers le site, étape par étape, depuis ou vers une page si vous voulez.
list_funnels Les étapes de chaque entonnoir et le nombre de visites qui ont atteint chacune.
get_event_properties Les valeurs envoyées avec un événement, comme les liens cliqués ou les fichiers téléchargés.
list_links Les liens courts et leurs clics.

Chaque outil accepte les périodes du tableau de bord (today, 7d, 30d, month, last_month, 12mo, all et les autres) ou des dates. Chacun accepte aussi une comparaison et des filtres comme channel:is:Organic Search ou page:contains:/blog. Les assistants les apprennent grâce aux descriptions des outils, vous pouvez donc simplement demander.

Voici quelques questions à essayer.

  • « Comment le mois dernier se compare-t-il au précédent, et qu’est-ce qui a le plus changé ? »
  • « Quels articles de blog les gens venus de Google lisent-ils le plus longtemps ? »
  • « D’où viennent les visiteurs qui achètent ? »
  • « S’est-il passé quelque chose d’inhabituel cette semaine ? »

Scripts

Le même jeton fonctionne avec l’API HTTP, vous pouvez donc l’utiliser dans vos propres scripts et tableaux de bord.

bash

curl "https://example.com/runlight/api/stats?period=7d" -H "Authorization: Bearer rl_..."