Skip to main content
Glama
talandrius

looker-studio-mcp

by talandrius
README.md
# 🎯 Looker Studio MCP (Model Context Protocol)

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

[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org)
[![Playwright](https://img.shields.io/badge/Playwright-1.40+-green.svg)](https://playwright.dev)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](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

```bash
# 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)

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

### Mode interactif

```bash
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

```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](LICENSE) pour plus de dĂ©tails.

---

## 🙏 CrĂ©dits

- [Playwright](https://playwright.dev/) — Automatisation de navigateur
- [Google Looker Studio](https://lookerstudio.google.com/) — Outil de visualisation de donnĂ©es

---

## 📧 Contact

**Jmarc** — jmd@talandria.fr

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