En décembre 2025, on a câblé Claude sur l'API Facebook Marketing via un serveur MCP custom. L'idée : que Claude regarde nos campagnes chaque matin, propose des actions, qu'on valide en 5 minutes au lieu de 45. Cinq mois plus tard, sur trois clients D2C, le bilan tient en chiffres et trois garde-fous qu'on n'avait pas anticipés.
Le contexte : pourquoi MCP pour Facebook Ads
MCP — Model Context Protocol — est le standard publié par Anthropic en novembre 2024 pour brancher des outils sur les LLMs de manière interopérable. On l'utilisait déjà pour des intégrations CRM. Naturel d'essayer sur le pain point n°1 de nos clients D2C : les dashboards Facebook lents, fragmentés, et la duplication d'actions entre nous, le client et l'agence média.
Objectif assumé : réduire le temps de daily review de 45 à 5 minutes sans perdre en qualité de pilotage.
L'architecture en 4 composants
- Serveur MCP custom (TypeScript, ~300 lignes) qui expose 12 tools :
list_campaigns,get_metrics,suggest_action,create_ad_variant, etc. - Wrapper API Facebook Marketing avec lecture complète et écriture limitée (whitelist d'actions).
- Couche de validation : aucune action sur une campagne > 50 €/jour sans approval humain explicite. Tout est dry-run par défaut.
- Logging structuré (Datadog) : chaque tool call, chaque suggestion, chaque action humaine est tracée. Audit trail complet pour le compliance et le debug.
Ce que Claude fait bien
- Détection d'anomalies : CPA qui dérape de +30 % sur 48 h, audience qui sature (frequency > 4), ad set qui consomme sans convertir. Claude les remonte en 30 secondes au lieu d'une fouille manuelle.
- Génération de variantes créatives : à partir d'une bible brand + 3 winners actuels, Claude propose 8 variantes textuelles à tester. ~30 % survivent au gateway humain, ~50 % de ces survivants battent le contrôle en CTR.
- Synthèse hebdo : 4 paragraphes structurés (top performers, alertes, recommandations, focus semaine) au lieu d'un screenshot Looker à parser.
- Suggestions de scaling avec justification chiffrée : « doubler le budget de Campagne X car ROAS 3,8 stable sur 14 j et frequency 1,2 ».
Les garde-fous qu'on a ajoutés (après s'être brûlés)
Mois 1, semaine 3 : Claude a doublé un budget par mauvaise interprétation d'un message ambigu (« on peut pousser un peu sur celle-ci »). Perte estimée : ~800 €. Pas dramatique, mais éducatif.
Depuis, trois couches obligatoires :
- Whitelist stricte d'actions : 8 actions autorisées en autonomie, 4 actions sensibles nécessitent confirmation explicite par bouton humain.
- Dry-run par défaut sur toute action d'écriture : Claude affiche le diff avant/après, on confirme, on applique.
- Eval dataset de 50 cas tordus historiques (briefs ambigus, données manquantes, conflits de priorité) qu'on rejoue chaque semaine. Si le score chute sous 90 %, on bloque le déploiement.
Les chiffres après 5 mois
Trois clients D2C, ~120 k€ de spend mensuel cumulé :
- Temps média buyer humain : –60 % sur les tâches répétitives (review quotidienne, rapports, A/B test setup)
- ROAS moyen : +18 % sur les comptes pilotés vs un contrôle similaire non assisté
- Time-to-insight : 30 minutes en moyenne pour identifier une opportunité de scaling vs 2-3 jours historiquement
- Satisfaction média buyers : 9/10 (interne) — ils veulent garder l'outil
Mais surtout : Claude n'a pas remplacé le média buyer humain. Il l'a augmenté. Le buyer fait moins de tableurs et plus de stratégie créative — c'est là qu'est la valeur, et Claude n'y touche pas.
Open source ? Pas encore, voilà pourquoi.
Le serveur MCP marche en prod. Mais il a trois hacks spécifiques à nos clients qu'on ne veut pas généraliser publiquement (logique de bid stratégique, structure d'audience custom, parsing d'une naming convention propre).
Quand on aura abstrait ces points, sortie publique avec un post technique détaillé. Si tu veux qu'on te le déploie en attendant pour ton compte Facebook Ads, on en parle.