Skip to main content
Glama
talandrius

looker-studio-mcp

by talandrius

🎯 Looker Studio MCP (Model Context Protocol)

Automatisation de Looker Studio via Playwright — crĂ©ation, modification, et gestion de dashboards.

Python Playwright License


🚀 FonctionnalitĂ©s

  • ✅ Login Google automatisĂ© avec profil persistant

  • ✅ CrĂ©ation de rapports Looker Studio

  • ✅ Ajout de sources (Google Sheets, BigQuery, etc.)

  • ✅ Ajout de graphiques (Scorecard, Table, Time Series, etc.)

  • ✅ Screenshots de dashboards

  • ✅ Export CSV des donnĂ©es

  • ✅ Listage des rapports existants

  • ✅ Mode interactif avec CLI


📩 Installation

# Cloner le repo
git clone https://github.com/ton-user/looker-studio-mcp.git
cd looker-studio-mcp

# Installer les dépendances
pip install -r requirements.txt

# Installer Chromium pour Playwright
playwright install chromium

🎯 Utilisation

Mode rapide (screenshot)

python3 looker-studio-automation.py screenshot "https://lookerstudio.google.com/report/xxx" /tmp/dashboard.png

Mode interactif

python3 looker-studio-automation.py interactive

Commandes disponibles :

Commande

Description

create <titre>

Créer un nouveau rapport

list

Lister mes rapports

screenshot <path>

Capture d'écran

chart <type>

Ajouter un graphique

export

Exporter en CSV

open <url>

Ouvrir une URL

quit

Quitter

En tant que module Python

import asyncio
from looker_studio_automation import LookerStudioAutomation

async def main():
    auto = LookerStudioAutomation(headless=False)
    await auto.start()
    
    # Ouvrir Looker Studio
    await auto.open_looker_studio()
    
    # Attendre le login manuel
    input("Connecté? Appuie sur Entree...")
    
    # Créer un rapport
    await auto.create_report("Mon Dashboard")
    
    # Ajouter un graphique
    await auto.add_chart("Scorecard")
    
    # Screenshot
    await auto.take_screenshot("/tmp/dashboard.png")
    
    await auto.stop()

asyncio.run(main())

📁 Structure du projet

looker-studio-mcp/
├── looker-studio-automation.py   # Script principal
├── requirements.txt              # DĂ©pendances Python
├── README.md                     # Documentation
├── LICENSE                       # License MIT
├── .gitignore                    # Fichiers exclus
└── examples/                     # Exemples d'utilisation
    └── example_usage.py

🔧 DĂ©pendances

playwright>=1.40.0

⚠ Pitfalls & Notes

Profil Chrome persistant

Le script utilise un profil Chrome persistant (~/.hermes/looker-studio-chrome/) pour garder la session Google entre les exécutions. Cela évite de se reconnecter à chaque fois.

Login Google

La premiÚre exécution nécessite un login manuel dans le navigateur. Ensuite, la session est sauvegardée.

Sélecteurs CSS

Google modifie rĂ©guliĂšrement les sĂ©lecteurs CSS de Looker Studio. Si le script ne fonctionne plus, il faudra peut-ĂȘtre mettre Ă  jour les sĂ©lecteurs.

Headless mode

Certains éléments UI ne fonctionnent pas en mode headless. Utilisez headless=False pour les opérations complexes.


đŸ€ Contribuer

  1. Fork le projet

  2. Créer une branche (git checkout -b feature/amazing-feature)

  3. Commit (git commit -m 'Add amazing feature')

  4. Push (git push origin feature/amazing-feature)

  5. Ouvrir une Pull Request


📄 License

Ce projet est sous License MIT — voir le fichier LICENSE pour plus de dĂ©tails.


🙏 CrĂ©dits


📧 Contact

Jmarc — jmd@talandria.fr

Projet Link: https://github.com/ton-user/looker-studio-mcp

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/talandrius/looker-studio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server