Serveur MCP Google Analytics
Une implémentation de serveur MCP pour accéder aux données de Google Analytics 4 (GA4), construite en utilisant le SDK TypeScript Model Context Protocol.
Caractéristiques
- Obtenir des mesures de pages vues avec des dimensions personnalisables
- Suivi des utilisateurs actifs et des nouveaux utilisateurs au fil du temps
- Analyser des événements spécifiques et leurs mesures
- Surveiller le comportement des utilisateurs (durée de la session, taux de rebond)
- Sélection flexible de la plage de dates pour toutes les requêtes
Conditions préalables
- Node.js 20 ou supérieur
- Propriété de Google Analytics 4
- Projet Google Cloud avec Analytics Data API activé
- Identifiants du compte de service avec les permissions appropriées
Configuration
- Créez un projet Google Cloud et activez l'API Analytics Data
- Créez un compte de service et téléchargez le fichier JSON des informations d'identification
- Accordez au compte de service l'accès approprié à votre propriété GA4
- Configurez les variables d'environnement :
export GOOGLE_CLIENT_EMAIL="your-service-account@project.iam.gserviceaccount.com" export GOOGLE_PRIVATE_KEY="your-private-key" export GA_PROPERTY_ID="your-ga4-property-id"
Installation
Installation via Smithery
Pour installer Google Analytics Server pour Claude Desktop automatiquement via Smithery:
npx -y @smithery/cli install mcp-server-google-analytics --client claude
Installation manuelle
pnpm install mcp-server-google-analytics
Utilisation
Démarrer le serveur
pnpm start
Configuration dans Claude Desktop
Ajoutez ceci à votre configuration Claude Desktop :
{ "mcpServers" : { "google-analytics" : { "command" : "npx", "args" : ["-y", "mcp-server-google-analytics"], "env" : {"GOOGLE_CLIENT_EMAIL" : "your-service-account@project.iam.gserviceaccount.com", "GOOGLE_PRIVATE_KEY" : "your-private-key", "GA_PROPERTY_ID" : "your-ga4-property-id" } } }
Fonctions disponibles
getPageViews
Permet d'obtenir des données sur les pages vues pour une période donnée :
{ "startDate" : "2024-01-01", "endDate" : "2024-01-31", "dimensions" : ["page", "country"] // Facultatif }
getActiveUsers
Permet d'obtenir les utilisateurs actifs :
{ "startDate" : "2024-01-01", "endDate" : "2024-01-31" }
getEvents
Obtenir les métriques des événements :
{ "startDate" : "2024-01-01", "endDate" : "2024-01-31", "eventName" : "purchase" // Facultatif }
getUserBehavior
Obtenir des métriques sur le comportement de l'utilisateur :
{ "startDate" : "2024-01-01", "endDate" : "2024-01-31" }
Considérations de sécurité
- Utilisez toujours des variables d'environnement pour les informations d'identification sensibles
- Mettre en œuvre les paramètres CORS appropriés
- Suivre le principe du moindre privilège lors de la définition des autorisations des comptes de service
- Effectuer une rotation régulière des informations d'identification des comptes de service
- Surveillez l'utilisation de l'API et mettez en place une limitation du débit si nécessaire
Contribuer
Les contributions sont les bienvenues ! Veuillez lire notre guide de contribution pour plus de détails sur notre code de conduite et le processus de soumission des demandes de téléchargement.
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.