Brouillon auto

Guide Matomo MCP Server

Matomo MCP Server : à quoi sert le nouveau plugin officiel pour connecter Matomo à l’IA ?

Matomo vient d’annoncer un plugin officiel qui risque de compter bien plus qu’il n’en a l’air : McpServer. Derrière ce nom un peu sec, il y a une évolution très concrète : Matomo peut désormais exposer ses données analytics à des assistants IA et à des clients compatibles MCP via un endpoint dédié.

Dit autrement, Matomo n’est plus seulement un outil qu’on ouvre dans un navigateur pour consulter des rapports. Il devient une source de données exploitable par des agents IA, des assistants conversationnels et des workflows automatisés.

Pour les équipes Analytics, Data, Produit, Marketing et Automatisation, le sujet est sérieux. Parce qu’il touche à trois enjeux majeurs :

  • l’accès aux données analytics en langage naturel ;
  • l’automatisation de tâches d’analyse et de reporting ;
  • la connexion entre analytics, IA et gouvernance des données.

Et comme on parle de Matomo, il y a un autre point qui change la donne : cette ouverture vers l’IA reste alignée avec une logique privacy-first et contrôlée, pas avec une externalisation aveugle de la donnée.

Qu’est-ce que le plugin Matomo MCP Server ?

Le plugin Matomo McpServer est un plugin officiel publié par l’équipe Matomo en early preview. Il expose un endpoint MCP permettant à des clients compatibles de dialoguer avec Matomo pour accéder à certaines ressources analytics. La release 5.0.1 a été publiée le 12 mars 2026.

L’endpoint annoncé est le suivant :

index.php?module=API&method=McpServer.mcp&format=mcp

Le paramètre format=mcp est obligatoire. L’endpoint doit être appelé à la racine et refuse les accès imbriqués ou proxifiés, notamment via API.getBulkRequest. En cas d’absence de token Bearer valide, Matomo renvoie une erreur 401 Unauthorized.

Le plugin est désactivé par défaut. Il faut l’activer dans l’interface d’administration Matomo, puis l’autoriser dans les réglages du plugin. Là aussi, c’est un bon signal : Matomo n’a pas choisi une ouverture implicite, mais une activation volontaire, administrée, avec contrôle d’accès.

MCP, concrètement, ça veut dire quoi ?

MCP signifie Model Context Protocol. C’est un standard ouvert conçu pour permettre à des modèles IA et à des applications compatibles de se connecter à des outils, des ressources et des systèmes externes de manière plus standardisée.

Le point important n’est pas le buzzword. Le point important, c’est le changement d’usage.

Avant, pour connecter un assistant IA à Matomo, il fallait généralement :

Formez-vous à Matomo !

Apprendre à utiliser Matomo, c'est faire le choix d'une solution d'analyse web éthique, flexible et puissante. Nos formations Matomo vous apprendront à prendre le contrôle total de vos données, en respectant la vie privée de vos utilisateurs et en profitant d'une communauté dynamique, Matomo se présente comme une alternative de choix face aux solutions traditionnelles d'analyse.

  • appeler l’API Matomo à la main,
  • gérer l’authentification,
  • mapper les méthodes,
  • structurer les réponses,
  • recoder de la logique d’intégration pour chaque cas d’usage.

Avec MCP, on bascule vers une logique plus propre : un client compatible peut découvrir les outils exposés, les appeler de manière structurée et exploiter les réponses dans un flux conversationnel ou automatisé.

En clair, on passe de l’intégration artisanale à une logique beaucoup plus industrialisable.

Que permet déjà le plugin MCP de Matomo ?

Le plugin est orienté lecture. Et c’est très bien. Ce n’est pas encore un cockpit d’administration piloté par IA. C’est une couche d’accès aux données analytiques déjà utiles pour des workflows d’exploration, de reporting et d’assistance.

La première version couvre notamment :

  • les sites ;
  • les rapports et métadonnées de rapports ;
  • les données de rapports traitées ;
  • les goals ;
  • les segments ;
  • les dimensions.

Ce point est essentiel pour comprendre les cas d’usage réels. On n’est pas sur un plugin “IA magique”. On est sur une interface standardisée vers les objets analytiques utiles de Matomo.

Pourquoi cette nouveauté Matomo est importante

Parce qu’elle change le rôle de l’outil.

Pendant longtemps, un outil analytics servait surtout à consulter des tableaux de bord. On ouvrait Matomo, on naviguait dans les menus, on appliquait quelques filtres, puis on exportait éventuellement des données.

Avec MCP, Matomo devient autre chose : une brique analytique interrogeable par l’IA.

Cela ouvre trois évolutions majeures.

1. Les données analytics deviennent accessibles en langage naturel

Un analyste, un marketeur ou un responsable produit peut demain poser des questions plus simples à un assistant connecté :

  • Quel canal a le plus baissé cette semaine ?
  • Quels objectifs chutent sur le site principal ?
  • Que se passe-t-il sur le segment mobile depuis la dernière campagne ?
  • Quels rapports disponibles permettent d’analyser la baisse de conversion ?

Le LLM ne “sait” pas tout seul. Il s’appuie sur les outils exposés par MCP. Mais pour l’utilisateur final, l’expérience change radicalement.

2. Les workflows analytics deviennent automatisables

On peut connecter Matomo à un orchestrateur ou à un agent qui :

  • lit les variations de performance ;
  • détecte des écarts ;
  • génère un résumé ;
  • envoie un message dans Slack ;
  • alimente un document Notion ;
  • déclenche une revue par un analyste.

Là, la valeur n’est pas “l’IA fait tout”. La valeur, c’est qu’elle réduit le temps perdu entre la donnée, le constat et l’action.

3. L’analytics entre dans l’écosystème agentique

C’est probablement le point le plus stratégique. Matomo n’est plus isolé dans son coin. Il peut devenir une brique dans une chaîne plus large avec CRM, BI, support, automatisation, génération de contenu, suivi commercial ou contrôle produit.

C’est exactement le type de mouvement que pousse MCP : des systèmes spécialisés qui deviennent appelables par des assistants et des agents dans un langage standard.

Les meilleurs use cases du plugin Matomo MCP Server

C’est là que le sujet devient intéressant. Pas dans l’annonce. Dans les usages.

Assistant analytics en langage naturel

Premier cas d’usage, le plus évident : permettre à des équipes non expertes de poser des questions simples sur les données Matomo sans passer par toute l’interface.

Exemples :

  • “Montre-moi les objectifs du site e-commerce qui ont le plus baissé sur les 7 derniers jours.”
  • “Quel segment a le plus chuté sur mobile ?”
  • “Compare les performances organiques entre ce mois-ci et le mois précédent.”

Le gain est immédiat : moins de friction, moins de dépendance aux experts pour les questions de niveau 1, plus de rapidité dans l’accès à l’information.

Reporting automatique enrichi

Aujourd’hui, beaucoup de reportings automatiques sont inutiles parce qu’ils se contentent de recracher des chiffres.

Avec MCP, un agent peut :

  • récupérer les bons rapports,
  • identifier les variations notables,
  • contextualiser les écarts,
  • générer une synthèse exploitable.

Exemple concret :

  • lecture des performances par site ;
  • comparaison N vs N-1 ;
  • focus sur les goals en baisse ;
  • génération d’un résumé automatique envoyé par mail ou dans Slack.

Ce n’est pas de la magie. C’est juste un reporting moins idiot.

Copilote pour analyste ou consultant

Pour un freelance, une agence ou une équipe data interne, le plugin peut servir de copilote.

Au lieu de perdre du temps à :

  • ouvrir le bon site,
  • retrouver les bons rapports,
  • vérifier les goals,
  • lister les segments,
  • comparer les dimensions,

un assistant connecté peut faire ce travail préparatoire et accélérer la phase d’analyse.

C’est particulièrement utile en contexte :

  • d’audit analytics,
  • de suivi multi-sites,
  • de support client,
  • de revue récurrente de performance.

Audit multi-sites plus rapide

C’est probablement un des cas d’usage les plus rentables pour une agence.

Quand vous gérez plusieurs sites dans une instance Matomo, vous perdez vite un temps absurde à naviguer d’un site à l’autre, à vérifier les mêmes objets, à identifier les écarts de configuration ou de performance.

Avec MCP, un assistant peut :

  • lister les sites accessibles ;
  • récupérer les rapports disponibles ;
  • identifier les goals présents ou absents ;
  • préparer une vue comparative ;
  • signaler des différences utiles à vérifier.

Pour un consultant analytics, ce n’est pas un détail. C’est du temps facturable économisé sur les tâches répétitives.

Agent marketing connecté à Matomo

Là, on sort du simple reporting.

On peut imaginer un agent qui :

  • lit les performances de pages ou campagnes dans Matomo ;
  • croise les résultats avec HubSpot, Salesforce ou Sellsy ;
  • compare avec les dépenses Google Ads ou Meta Ads ;
  • alimente BigQuery ou un dashboard Looker Studio ;
  • déclenche des alertes ou des recommandations.

Le plugin Matomo ne fait pas tout seul cette orchestration. Mais il apporte la brique standardisée qui manquait pour intégrer Matomo proprement dans ce type d’architecture.

Support produit et contenu

Les équipes produit, contenu, SEO ou CRO ont souvent besoin d’une réponse rapide, pas d’un audit complet.

Par exemple :

  • quelles pages perdent du trafic ?
  • quelles landing pages convertissent moins ?
  • quels segments réagissent mal depuis une mise en ligne ?
  • quel objectif a décroché depuis mardi ?

Un assistant branché à Matomo peut répondre plus vite à ce niveau de questions. Et ça, dans une organisation, fait gagner un temps réel.

Mise en œuvre technique du plugin Matomo MCP Server

Le plugin McpServer de Matomo ajoute un endpoint HTTP MCP dédié. Il est encore en early preview, il est désactivé par défaut, et il expose pour l’instant des capacités orientées lecture autour des sites, rapports, goals, segments et dimensions.

1) L’endpoint MCP exact

L’endpoint à utiliser est celui-ci :

https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp

Points importants :

  • format=mcp est obligatoire.
  • l’endpoint doit être appelé à la racine ;
  • il refuse les accès imbriqués ou proxifiés, y compris via API.getBulkRequest, avec une erreur 400 ;
  • une requête sans authentification renvoie 401 Unauthorized avec WWW-Authenticate: Bearer realm="mcp".

Autrement dit : inutile d’essayer de le faire passer dans une mécanique API Matomo “classique” un peu tordue. Il faut appeler exactement cet endpoint.

2) Activation dans Matomo

Le plugin ne suffit pas à lui seul. Il faut faire trois choses :

  1. installer le plugin dans Matomo ;
  2. l’activer dans Administration -> Plugins ;
  3. activer explicitement l’accès MCP dans Administration -> System -> Plugin Settings -> McpServer.

Tant que ce n’est pas activé, un appel au endpoint ne fonctionnera pas correctement.

Quand MCP est désactivé :

  • une requête non authentifiée renvoie 401 Unauthorized ;
  • une requête authentifiée avec un id JSON-RPC de premier niveau renvoie 403 Forbidden avec une erreur JSON-RPC ;
  • une requête authentifiée sans id de premier niveau renvoie 403 Forbidden avec un corps vide.

C’est utile à savoir, parce que sinon on passe vite une heure à croire que le token est faux alors que c’est juste l’option MCP qui n’est pas activée.

3) Configuration dans config/config.ini.php

Matomo documente ces options :

[McpServer]
session_ttl = 3600
log_tool_calls = 0
log_tool_call_level = DEBUG
log_tool_call_parameters_full = 0

Signification :

  • session_ttl : durée de session en secondes ; défaut 3600 si absent ou invalide ;
  • log_tool_calls : active les logs des appels d’outils si 1 ;
  • log_tool_call_level : niveau de log accepté parmi ERROR, WARN, WARNING, INFO, DEBUG, VERBOSE ;
  • log_tool_call_parameters_full : journalise les paramètres complets si 1, avec risque d’exposer des données sensibles ; par défaut 0, donc journalisation masquée/rédigée.

Configuration recommandée pour un premier test

Pour un environnement de test interne, je partirais sur quelque chose de sobre :

[McpServer]
session_ttl = 3600
log_tool_calls = 1
log_tool_call_level = INFO
log_tool_call_parameters_full = 0

Pourquoi ?

  • vous gardez une trace des appels ;
  • vous évitez de logguer les paramètres complets ;
  • vous n’inondez pas les logs avec du DEBUG inutile dès le départ.

En production, je serais encore plus strict sur la journalisation.

4) Authentification : le point à ne pas rater

Le plugin utilise l’authentification Matomo existante. Il faut fournir un token_auth Matomo ayant déjà accès aux données que vous voulez exposer. Les clients MCP héritent du même périmètre d’accès que l’utilisateur Matomo concerné.

Concrètement :

  • pas de token, pas d’accès ;
  • token invalide, 401 ;
  • token valide mais pas de droit sur le site ou le rapport, 403 ;
  • token trop permissif, vous ouvrez plus que nécessaire.

Le bon réflexe est évident : créer un compte ou un token dédié avec le minimum de droits nécessaires.

Tester rapidement le endpoint

Avant de brancher Claude, un IDE ou un orchestrateur, il faut vérifier que le endpoint répond correctement.

Test 1 : vérifier que l’auth est bien requise

curl -i \
"https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp"

Résultat attendu : 401 Unauthorized.

C’est le test le plus simple pour valider que vous tapez bien le bon endpoint.

Test 2 : appel JSON-RPC minimal avec Bearer token

curl -i \
-X POST \
"https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp" \
-H "Authorization: Bearer VOTRE_TOKEN_AUTH" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'

Pourquoi tools/list ?
Parce que dans un flux MCP, c’est le test logique pour demander au serveur quels outils il expose.

Attention : le plugin Matomo documente surtout le endpoint, l’activation, les règles d’accès et les capacités exposées. La doc publique fournie dans le dépôt ne détaille pas encore, noir sur blanc, toute la table des méthodes JSON-RPC avec exemples complets de payloads. Donc ce test est cohérent MCP, mais il faut le considérer comme un point de départ à valider dans votre client réel. Le périmètre fonctionnel annoncé couvre bien des outils autour des sites, rapports, goals, segments et dimensions.

Exemple en Python

Voici un client minimal pour tester la connexion.

import requestsMATOMO_URL = "https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp"
TOKEN = "VOTRE_TOKEN_AUTH"payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}headers = {
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json",
}response = requests.post(MATOMO_URL, json=payload, headers=headers, timeout=30)print("Status:", response.status_code)
print("Headers:", response.headers)
print("Body:", response.text)

À quoi ça sert ?

  • vérifier le code HTTP ;
  • voir si le token fonctionne ;
  • récupérer la réponse brute ;
  • débugger avant intégration dans un client MCP plus complet.

Exemple en Node.js

Même logique, version JavaScript.

const url = "https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp";
const token = "VOTRE_TOKEN_AUTH";const payload = {
jsonrpc: "2.0",
id: 1,
method: "tools/list",
params: {}
};async function testMatomoMcp() {
const response = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify(payload)
}); const text = await response.text(); console.log("Status:", response.status);
console.log("Body:", text);
}testMatomoMcp().catch(console.error);

Exemple d’intégration côté client MCP

Le vrai sujet, ce n’est pas juste de faire un curl. C’est de brancher Matomo à un client ou à un agent.

Dans une configuration de client MCP de type HTTP, on va généralement déclarer :

  • le nom du serveur ;
  • l’URL de l’endpoint ;
  • l’en-tête Authorization: Bearer ... ;
  • éventuellement des options de timeout.

Exemple générique de config JSON :

{
"mcpServers": {
"matomo": {
"type": "http",
"url": "https://votre-matomo.example.com/index.php?module=API&method=McpServer.mcp&format=mcp",
"headers": {
"Authorization": "Bearer VOTRE_TOKEN_AUTH"
}
}
}
}

Je reste volontairement générique ici, parce que le format exact dépend du client MCP utilisé. Certains clients attendent url, d’autres endpoint, d’autres encore une déclaration plus riche. La partie stable, elle, ne change pas : URL exacte + Bearer token valide.

Exemple de section “mise en œuvre” à intégrer dans l’article

Vous pouvez insérer ce bloc presque tel quel.

Comment connecter Matomo MCP Server à un client IA

La mise en œuvre du plugin Matomo MCP Server repose sur un endpoint HTTP dédié :

https://votre-instance-matomo/index.php?module=API&method=McpServer.mcp&format=mcp

Le paramètre format=mcp est obligatoire, et l’endpoint doit être appelé directement à la racine. Les accès indirects ou proxifiés, notamment via API.getBulkRequest, sont rejetés avec une erreur 400. Une requête sans authentification renvoie 401 Unauthorized.

Le plugin doit être activé dans Matomo, puis l’accès MCP doit être explicitement autorisé dans Administration -> System -> Plugin Settings -> McpServer. Tant que cette option reste désactivée, les requêtes authentifiées peuvent renvoyer 403 Forbidden.

La configuration se fait dans config/config.ini.php :

[McpServer]
session_ttl = 3600
log_tool_calls = 0
log_tool_call_level = DEBUG
log_tool_call_parameters_full = 0

Pour l’authentification, il faut utiliser un token_auth Matomo valide via un header Bearer. Le client MCP hérite des mêmes droits que l’utilisateur Matomo associé à ce token.

Un test minimal peut être réalisé avec curl :

curl -i \
-X POST \
"https://votre-instance-matomo/index.php?module=API&method=McpServer.mcp&format=mcp" \
-H "Authorization: Bearer VOTRE_TOKEN_AUTH" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'

Cette approche permet ensuite de brancher Matomo à un assistant IA, un IDE compatible MCP, un agent interne ou un orchestrateur d’automatisation.

Cas d’erreur à documenter dans l’article

Cette partie est utile pour le SEO, mais surtout pour les gens qui vont vraiment essayer.

CodeCause probableCe qu’il faut vérifier
401pas de Bearer token, token invalide, token inactifprésence du token et validité du compte
403MCP désactivé ou droits insuffisantsactivation dans les settings et permissions utilisateur
400mauvais endpoint ou appel indirect/proxyURL exacte et absence de API.getBulkRequest

Ces comportements sont explicitement documentés par Matomo.

Ce qu’il faut ajouter côté prudence technique

Il y a trois réserves importantes à écrire noir sur blanc.

1) Le plugin est en early preview

Il faut tester proprement, sur périmètre restreint, sans supposer une stabilité totale de l’interface. Le dépôt le présente explicitement comme un plugin en aperçu anticipé.

2) Le plugin est orienté lecture

Le périmètre initial couvre des outils autour des sites, rapports, report data, goals, segments et dimensions. Pas un contrôle complet de Matomo.

3) Pas compatible WordPress Matomo

Le changelog 5.0.1 précise que le plugin est marqué comme non compatible avec les installations WordPress de Matomo. C’est un détail qui peut bloquer des lecteurs si vous ne le mentionnez pas.

Exemple de workflow IA + Matomo réellement utile

Voici un scénario crédible, sans science-fiction :

  1. Un agent lit les données Matomo via MCP.
  2. Il détecte une baisse de conversion sur un objectif clé.
  3. Il récupère les segments concernés.
  4. Il compare avec les dépenses publicitaires.
  5. Il alimente une synthèse dans Slack.
  6. Il crée une tâche pour revue analyste.

Ce type de workflow peut être orchestré avec des outils comme n8n, Make, Python ou une architecture plus custom. Le plugin MCP devient alors un point d’entrée analytics propre et standardisé.

Ce que le plugin Matomo MCP ne fait pas

Il faut rester net.

Le plugin ne remplace pas :

  • un plan de marquage solide ;
  • une bonne implémentation des goals ;
  • une gouvernance analytics propre ;
  • une interprétation métier sérieuse.

Autrement dit : une IA connectée à un mauvais tracking donnera juste de mauvaises réponses plus vite.

C’est le piège classique. Beaucoup pensent que le problème est l’accès à la donnée. Très souvent, le vrai problème est ailleurs :

  • tracking incomplet,
  • nomenclatures incohérentes,
  • objectifs mal définis,
  • segments bancals,
  • droits mal gérés.

MCP n’efface rien de tout ça.

Sécurité, accès et gouvernance : les points à surveiller

Matomo a prévu plusieurs garde-fous.

Le plugin est désactivé par défaut. Il repose sur l’authentification Bearer et réutilise les droits existants de l’utilisateur Matomo. Les paramètres de configuration permettent aussi de définir un session_ttl et d’activer ou non des logs de tool calls, avec plus ou moins de verbosité. Matomo avertit que l’option log_tool_call_parameters_full = 1 peut exposer des données sensibles dans les logs.

En clair, les bonnes pratiques sont évidentes :

  • utiliser des comptes avec droits minimaux ;
  • éviter les tokens trop larges ;
  • ne pas activer les logs complets à la légère ;
  • tester sur un périmètre limité ;
  • documenter les usages autorisés.

Autre détail important : la version 5.0.1 indique que le plugin est marqué non compatible avec Matomo for WordPress. Ce point compte pour les équipes qui utilisent Matomo dans cet environnement.

Ce que cette annonce dit de l’avenir de l’analytics

Le signal de fond est plus important que le plugin lui-même.

L’analytics quitte progressivement le modèle “dashboard fermé” pour devenir :

  • interrogeable,
  • programmable,
  • orchestrable,
  • exploitable par des agents.

Et Matomo le fait sans renier son ADN. L’angle reste celui du contrôle des données, de la confidentialité et d’une architecture plus maîtrisée que les approches full SaaS les plus opaques.

Pour les entreprises, ça veut dire une chose simple : vos données analytics peuvent devenir une brique opérationnelle dans vos workflows IA, à condition que votre tracking tienne la route.

Faut-il tester le plugin MCP de Matomo ?

Oui, clairement. Mais pas n’importe comment.

Il faut le tester :

  • sur des cas d’usage simples ;
  • avec des droits stricts ;
  • avec une vraie exigence sur la qualité de la donnée ;
  • en gardant en tête que le plugin est encore en early preview.

Les meilleurs premiers cas d’usage sont les plus sobres :

  • assistant de lecture des rapports ;
  • synthèse automatique hebdomadaire ;
  • audit multi-sites ;
  • support analytics conversationnel ;
  • connecteur vers un workflow interne.

C’est là que le ROI est le plus rapide.

Verdict

Le plugin Matomo MCP Server est une avancée importante, non pas parce qu’il ajoute un buzzword de plus, mais parce qu’il fait entrer Matomo dans le monde des outils analytics directement exploitables par l’IA.

Le mouvement est clair :

  • accès standardisé aux données,
  • intégration plus simple dans des workflows IA,
  • exploitation conversationnelle des rapports,
  • respect du modèle de droits et du positionnement privacy-first de Matomo.

Le vrai intérêt n’est pas “faire moderne”. Le vrai intérêt, c’est de rendre l’analytics plus exploitable, plus programmable et plus utile dans les processus réels.

Et la limite reste la même qu’avant : si votre tracking est mauvais, vos réponses IA seront mauvaises aussi.

C’est précisément pour ça que cette nouveauté est intéressante. Elle ne remplace pas le travail analytics. Elle le rend plus accessible, plus rapide et mieux connecté au reste du système d’information.

A propos de l’auteur

Franck Scandolera, consultant indépendant et formateur expert en Analytics, tracking, automatisation no-code et IA générative.

J’accompagne les entreprises sur quatre sujets clés : audit et fiabilisation du tracking, structuration des données marketing et business, création d’automatisations no-code et IA, et montée en compétence des équipes via des formations opérationnelles. Mon approche est simple : partir d’une donnée propre, la relier aux vrais enjeux métier, puis construire des workflows et des usages IA réellement utiles.

Retour en haut
Formations Analytics