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.
[](https://python.org)
[](https://playwright.dev)
[](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
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues