takt

Serveur MCP

Le serveur Model Context Protocol de Takt permet à n’importe quel agent IA compatible MCP — Claude Desktop, Claude Code, Cursor, … — d’interroger tes statistiques Takt en langage naturel. Demande « combien de visiteurs sur example.com cette semaine ? » et l’agent appelle pour toi le bon endpoint de lecture.

C’est un accès en lecture seule, par-dessus l’API de lecture HTTP. Le serveur est hébergé par Takt : tu connectes ton client MCP à une URL distante et tu autorises l’accès depuis ton navigateur en OAuth 2.1 — rien à installer, aucune clé d’API à générer ni à copier.

agent IA  ──HTTP (MCP)──▶  serveur MCP distant de Takt  ──▶  tes analytics

Connexion

Pointe ton client MCP vers l’URL distante https://taktlytics.com/mcp en transport HTTP. Avec Claude Code :

claude mcp add --transport http takt https://taktlytics.com/mcp

À la première utilisation, le client ouvre une page dans ton navigateur : tu te connectes à ton compte Takt (2FA incluse), puis tu choisis sur l’écran de consentement quelles équipes (organisations) et quelles permissions accorder à l’agent. Une fois validé, l’agent a accès en une seule fois à tous les sites autorisés — pas besoin de créer une clé ni une instance par site.

Autres clients

Tout client capable de parler MCP en transport HTTP distant se connecte de la même façon, avec l’URL https://taktlytics.com/mcp. Les clients qui ne savent parler qu’en stdio local peuvent utiliser un pont générique comme mcp-remote :

npx -y mcp-remote https://taktlytics.com/mcp

Consentement et permissions

L’écran de consentement te laisse accorder l’accès à toutes tes équipes (présentes et futures) ou choisir équipe par équipe, avec pour chacune les scopes voulus. Seuls des scopes de lecture y sont proposés : ce sont les seuls que les outils ci-dessous consomment, et tu ne peux donc pas accorder à un agent un pouvoir d’écriture.

Les droits sont recalculés à chaque appel : ils sont bornés par ton rôle réel dans chaque organisation, jamais par ce que le client a demandé. Perdre un accès dans une équipe le retire immédiatement à l’agent, sans toucher au consentement.

Tu peux révoquer un accès à tout moment depuis Réglages → Sessions → Applications connectées. Les jetons sont de courte durée et renouvelés automatiquement ; une révocation coupe l’accès immédiatement.

Outils

OutilDescriptionPermission
list_sitesListe tous les sites des équipes autorisées (aucun argument).sites:read
get_summaryVisiteurs, sessions, pages vues, taux de rebond, durée moyenne.stats:read
get_timeseriesVisiteurs/pages vues dans le temps, par heure ou par jour.stats:read
get_breakdownTop d’une dimension (pages, sources, pays, appareils…).stats:read
get_realtimeVisiteurs actifs sur les 5 dernières minutes.stats:read
get_goalsConversions par objectif.stats:read
get_funnelsRapports d’entonnoir étape par étape.funnels:read
get_revenueRevenu groupé par devise pour un événement de revenu.stats:read
list_event_propertiesClés de propriétés personnalisées enregistrées pour un événement.stats:read
get_property_breakdownVentile une propriété personnalisée d’un événement par valeur.stats:read

La plupart des outils acceptent un filtre temporel : period (day, 7d, 30d, month, 6mo, 12mo), ou une plage explicite from/to (YYYY-MM-DD), plus un tz optionnel (fuseau IANA). Tous les outils sauf list_sites exigent un domain explicite : il n’y a pas de site par défaut, même si le consentement ne couvre qu’un seul site.

Chaque appel d'outil est métré comme une requête API de l'équipe visée. Au-delà du quota mensuel de ton offre, l'appel échoue avec l'erreur JSON-RPC -32002 — le transport MCP n'étant pas REST, ce n'est pas un statut HTTP. L'ingestion, elle, n'est jamais affectée. list_sites couvre plusieurs équipes : celles qui ont dépassé leur quota sont simplement omises de la liste (et non métrées) ; l'appel n'échoue que si toutes le sont.