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 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) :
| Outil | Ce qui est renvoyé |
|---|---|
list_sites | Le 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_overview | Visiteurs, 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_breakdown | Les 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_periods | Une 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_sales | Les 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_receipt | Le 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_coverage | La 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_visitors | Les 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_visitor | Le 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_realtime | Qui est sur le site au cours des cinq dernières minutes (page, lieu, source, appareil) et les ventes de la dernière heure. |
get_goals | Chaque 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_funnels | Les 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_value | La 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_hours | Visites, 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_engagement | Comment 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_paths | Comment 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 en2025-11-25,2025-06-18ou2025-03-26ouvrent avecinitializeet sont servis aussi. - Méthodes :
server/discover,initialize,tools/list,tools/calletping. - Le
structuredContentd’un résultat est le JSON de la route REST ;contentcontient 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ébit429avecRetry-After, comme en REST.
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.