DocumentationServeur MCP

05 · API

Interroger vos analytics via MCP

Le serveur MCP permet à un assistant comme Claude de poser ses propres questions à vos analytics, avec la même clé en lecture seule que l’API REST.

01L’ajouter à votre assistant

Le serveur se trouve à https://tallybyoutpost.com/mcp, et il accepte la même clé que l’API REST (créez-en une sur la page Setup), sous la forme Authorization: Bearer …. Dans Claude Code :

Claude Code
claude mcp add --transport http analytics "https://tallybyoutpost.com/mcp" \
  --header "Authorization: Bearer $TALLY_API_KEY"

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

02Les outils

Chaque outil ne fait que lire. Chacun prend les paramètres de la route REST comme arguments (filters est un objet, {"country": "DE"}, et site peut être omis) :

OutilCe qui est renvoyé
list_sitesLe site que lit cette clé API : son identifiant, son nom, son domaine, son fuseau horaire et la façon dont les visiteurs sont comptés (cookie, sans cookie ou consentement).
get_overviewVisiteurs, pages vues, visites, temps actif médian et, quand les paiements sont connectés, revenus nets, ventes, remboursements, taux de conversion et revenu par visiteur, pour une période et la fenêtre qui la précède, avec l’évolution entre les deux. Ainsi que les visiteurs présents en ce moment.
get_breakdownLes premières valeurs d’une dimension (source, canal, page, pays, appareil, campagne…) par visiteurs distincts, ou par revenus, chacune avec sa part de visiteurs et les revenus apportés par ses visiteurs.
compare_periodsUne période comparée à la fenêtre juste avant (previous) ou aux mêmes dates un an plus tôt (year) : chaque chiffre de la vue d’ensemble pour les deux, et l’évolution relative. Les évolutions valent null quand les données du site ne remontent pas assez loin pour comparer.
list_salesLes paiements, du plus récent au plus ancien, chacun avec son montant tel que facturé et en dollars US, s’il est lié à un visiteur, comment (méthode et confiance), et pourquoi il ne l’est pas le cas échéant. Filtrable sur les paiements non liés ou les remboursements.
get_receiptLe justificatif d’un paiement : la chaîne de preuves qui le lie à une visite (première visite, visites avant le paiement, visite attribuée, élément rapproché et où il a été vu), chaque identifiant du prestataire, et le paiement dont il découle.
get_coverageLa part des revenus de la période attribuée à un visiteur, par méthode, et la liste des correctifs pour le reste (avec le code à coller).
list_visitorsLes visiteurs (les visites sur un site sans cookie) d’une période, les plus récents d’abord, par revenus ou par probabilité d’achat, avec visites, pages, temps actif par visite, revenus et dernière visite.
get_visitorLe parcours complet d’un visiteur : chaque visite avec ses pages, son temps actif, ses objectifs et ses clics sortants, ses paiements, son premier contact et le contact auquel la vente est attribuée.
get_realtimeQui est sur le site au cours des cinq dernières minutes (page, lieu, source, appareil) et les ventes de la dernière heure.
get_goalsChaque objectif atteint sur la période, avec réalisations, visiteurs convertis, taux de conversion et revenus des visiteurs convertis ; passez goal pour les propriétés d’un objectif. Liste aussi les entonnoirs du site.
get_funnelsLes entonnoirs du site avec les visiteurs de chaque étape, la conversion depuis l’étape précédente et depuis la première, et les abandons ; ou un seul entonnoir avec funnel.
get_customer_valueLa valeur vie client selon la source qui a amené chaque client la première fois : clients, revenus, moyenne par client, renouvellements et taux de réachat, sur tous les paiements enregistrés.
get_peak_hoursVisites, ventes et revenus par jour de la semaine et par heure dans le fuseau horaire du site, et les trois heures les plus chargées quand les données suffisent pour le dire.
get_engagementComment les pages sont lues : vues, temps de lecture médian, profondeur de défilement moyenne et part lue jusqu’au bout, par page et au total, et les pages d’entrée et de sortie les plus fréquentes.
get_purchase_pathsComment les acheteurs sont arrivés : temps de la première visite à l’achat, visites et pages avant le paiement, flux de la source du premier contact à la source attribuée, et pages vues par les acheteurs avant de payer.

03Protocole

  • Streamable HTTP avec JSON-RPC 2.0, en révision 2026-07-28 ; les clients en 2025-11-25, 2025-06-18 ou 2025-03-26 ouvrent avec initialize et sont servis aussi.
  • Méthodes : server/discover, initialize, tools/list, tools/call et ping.
  • Le structuredContent d’un résultat est le JSON de la route REST ; content contient un résumé d’une ligne, puis le même JSON sous forme de texte.
  • Une clé que l’offre du compte ne couvre pas reçoit 402, et la limite de débit 429 avec Retry-After, comme en REST.
Un appel avec curl
curl -s "https://tallybyoutpost.com/mcp" \
  -H "Authorization: Bearer $TALLY_API_KEY" \
  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2026-07-28" -H "Mcp-Method: tools/call" -H "Mcp-Name: get_overview" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
       "params": {"name": "get_overview", "arguments": {"period": "30d"},
         "_meta": {"io.modelcontextprotocol/protocolVersion": "2026-07-28",
                   "io.modelcontextprotocol/clientInfo": {"name": "curl", "version": "8"},
                   "io.modelcontextprotocol/clientCapabilities": {}}}}'

04Vérifier que ça marche

Il manque quelque chose, ou ce n’est pas ce que vous voyez ? Écrivez à support@tallybyoutpost.com en précisant la page.