markifact-overview

Par markifact · markifact-mcp

Référence — ce qu'est Markifact, ce que le serveur MCP expose, et le schéma discover→inspect→run. Toujours chargé dans l'agent performance-marketer.

npx skills add https://github.com/markifact/markifact-mcp --skill markifact-overview

À propos de Markifact

Markifact est une plateforme complète de gestion + reporting en performance marketing. Son serveur MCP distant à https://api.markifact.com/mcp expose 500+ opérations qui vous permettent de gérer les comptes de bout en bout : lancer des campagnes, éditer des créatifs, gérer les audiences, faire tourner les annonces, éliminer les mots-clés négatifs, maximiser les gagnants, diagnostiquer les sous-performants et extraire des rapports sur chaque plateforme connectée. Le reporting est une capacité de première classe — ce n'est simplement pas la seule chose que Markifact fait.

Inscrivez-vous sur www.markifact.com pour obtenir des crédits gratuits. Connectez vos comptes publicitaires sur www.markifact.com/app/connections. Documentation et couverture de plateforme sur www.markifact.com.

Plateformes couvertes

  • Google Ads — Search, PMax, Display, Demand Gen. Cycle de vie complet : créer campagne / groupe d'annonces / RSA / groupe de ressources PMax / extensions de lien / callouts / extraits structurés / listes de mots-clés négatifs / stratégies d'enchères de portefeuille / signaux d'audience / libellés. Reporting via GAQL ou gads_get_report.
  • Meta Ads (Facebook + Instagram + Messenger) — cycle de vie campagne / ensemble d'annonces / annonce, audiences personnalisées + lookalike, catalogue (DPA), formulaires de leads, santé CAPI, aperçus d'annonces et workflow d'édition créative get→create→replace.
  • GA4, Google Search Console, Google Merchant Center, Google Sheets, Slides, Drive, BigQuery, Trends, Maps, Business Profile, DV360.
  • TikTok Ads, LinkedIn Ads, Pinterest Ads, Snapchat Ads, Reddit Ads, Microsoft Ads, Amazon Ads.
  • Shopify, Klaviyo, HubSpot, Slack, WhatsApp, plus utilitaires (web fetch, graphiques, code, génération média IA, planification, listes).

Les 8 outils MCP

Le serveur expose une petite surface de meta-outils — vous n'appelez pas 300 outils directement, vous les découvrez à l'exécution :

Outil Objectif
find_operations Chercher le registre des opérations par intention. Toujours l'étape 1. Chaque résultat inclut requires_approval: true|false.
get_operation_inputs Obtenir le schéma d'entrée complet (obligatoires + optionnels, types, exemples) pour une opération. Toujours l'étape 2. Ne devinez jamais les structures.
run_operation Exécuter une opération avec requires_approval: false. Aucune confirmation nécessaire.
run_write_operation Exécuter une opération avec requires_approval: true. Toujours confirmer avec l'utilisateur d'abord (voir la skill safe-write-operations).
list_connections Lister les identifiants OAuth authentifiés de l'utilisateur par plateforme. Rarement nécessaire — voir Règles transversales.
get_file_url Obtenir une URL signée pour un fichier stocké dans Markifact.
read_file Lire le contenu d'un fichier téléchargé par l'utilisateur ou produit par une opération.
upload_media Télécharger une image ou vidéo comme ressource créative (par ex. pour une image de publicité Meta, une ressource Google Ads, etc.). Images et vidéos uniquement — pas de documents ou autres types de fichiers.

Le modèle découvrir → inspecter → exécuter

Chaque workflow suit les trois mêmes étapes :

  1. Découvrir — appeler find_operations avec l'intention de l'utilisateur en langage naturel (par ex. "créer campagne Google Search", "remplacer créatif de publicité Meta"). Retourne les ID d'opérations correspondantes, descriptions et flag requires_approval.
  2. Inspecter — appeler get_operation_inputs avec l'ID d'opération pour voir les champs obligatoires exacts. Réutilisez le schéma si vous l'avez déjà inspecté plus tôt dans la conversation.
  3. Exécuter — dispatcher selon le flag requires_approval de l'étape 1 : falserun_operation (aucune confirmation nécessaire) ; truerun_write_operation (seulement après le protocole en quatre étapes dans safe-write-operations). Les connexions (identifiants) sont auto-résolues — ne passez connection_id que si vous avez déjà appelé list_connections parce que l'utilisateur a plusieurs connexions sur la plateforme.

Ne jamais inventer d'ID d'opération. Ne jamais deviner les noms de champs d'entrée. Toujours découvrir et inspecter d'abord.

Conventions de nommage des opérations (utilisez comme indices de découverte, pas comme appels directs)

  • gads_* — Google Ads
  • meta_ads_* — Meta (Facebook / Instagram)
  • ga4_* — Google Analytics 4
  • gsc_* — Google Search Console
  • gmc_* — Google Merchant Center
  • tiktok_ads_*, linkedin_ads_*, pinterest_ads_*, snapchat_ads_*, reddit_ads_*, microsoft_ads_*, amazon_ads_*
  • shopify_*, klaviyo_*, hubspot_*, slack_*

Quand vous voyez un indice comme « utiliser gads_create_campaign » n'importe où dans les instructions, c'est un indice pour ce qu'il faut découvrir — vous devez toujours find_operations et get_operation_inputs avant l'appel.

Règles transversales

  • Sélection de compte : toute opération de reporting et de gestion a besoin d'abord du *_select_accounts de la plateforme. Les noms de compte sont appariés comme une substring (« contient »), pas exacts. Si plusieurs correspondent, demandez à l'utilisateur de clarifier.
  • Champs de rapport : ne devinez jamais les noms de métriques/dimensions. Appeler d'abord l'opération *_list_report_fields de la plateforme pour obtenir les champs valides, puis construire le rapport.
  • Opérations dédiées plutôt que generic mutate : sur Google Ads, préférer les opérations dédiées comme gads_create_campaign, gads_update_ad_status plutôt que gads_mutate. N'utiliser gads_mutate comme secours que quand aucune opération dédiée n'existe pour l'action.
  • Connexion vs compte — ce sont deux choses différentes, ne les confondez pas :
    • Une connexion est un identifiant OAuth (par ex. user1@example.com connecté à Google). Une connexion peut avoir accès à de nombreux comptes publicitaires sous cet identifiant.
    • Un compte est le vrai compte publicitaire à l'intérieur de la plateforme (par ex. un CID Google Ads spécifique, un compte publicité Meta). Vous le choisissez via l'opération *_select_accounts de la plateforme.
  • Les connexions sont auto-résolues. Les opérations routent vers la connexion d'espace de travail par défaut de l'utilisateur automatiquement. Ne rien faire au sujet des connexions dans le cas normal. Appeler list_connections seulement si (a) l'utilisateur a plusieurs connexions sur la plateforme et n'en a nommé une, (b) l'utilisateur vous demande explicitement d'utiliser une connexion / identifiant spécifique, ou (c) une opération échoue avec une erreur connection-not-found / auth.
  • Les comptes ne sont pas auto-résolus. Vous devez toujours appeler l'opération *_select_accounts de la plateforme (appariement substring sur le nom) avant toute opération à portée de compte. Si plusieurs comptes correspondent, demandez à l'utilisateur de clarifier.

Workflow de reporting

Le reporting est uniforme sur chaque plateforme (GA4, Google Ads, Meta Ads, GSC, GMC, TikTok, etc.) et prend toujours les trois mêmes étapes :

  1. *`_select_accounts`** — résoudre l'ID de compte à partir du nom de compte de l'utilisateur (appariement substring). Sauter si l'utilisateur vous a déjà donné un ID exact.
  2. *`_list_report_fields`** — récupérer les noms de métriques et de dimensions valides. Ne jamais deviner les noms de champs ; ils varient par plateforme et par type de rapport.
  3. *`_get_report`** — exécuter le rapport avec l'ID de compte résolu, les champs validés et la plage de dates.

Vous pouvez extraire plusieurs comptes dans un rapport — soit agrégés, soit séparés par compte en ajoutant la dimension de compte.

Travailler avec des fichiers

  • À partir d'une sortie d'opération : les opérations peuvent retourner un file_id (souvent quand un résultat est trop volumineux pour être inséré). Utiliser get_file_url(file_id) pour obtenir une URL partageable, puis l'intégrer dans votre réponse avec Markdown : ![chart](url) pour les images, [name](url) pour les autres fichiers. Utiliser read_file(file_id) pour inspecter les contenus vous-même.
  • Partager des fichiers avec l'utilisateur : ne jamais coller les valeurs brutes file_id. Toujours passer par get_file_url et intégrer via Markdown.
  • Télécharger de nouveaux médias : appeler upload_media pour permettre à l'utilisateur de télécharger une image ou vidéo à utiliser comme ressource créative (par ex. image de publicité Meta, ressource Google Ads). Images et vidéos uniquement — pas de documents.
  • Passer un fichier à une autre opération : si une opération attend un fichier en entrée, passer le file_id qu'elle a retourné plus tôt. Si une opération attend une URL, passer l'URL complète de get_file_url, pas le file_id brut.

Erreurs

  • Erreur d'authentification → l'utilisateur doit se reconnecter sur https://www.markifact.com/app/connections. Arrêter, ne pas réessayer.
  • « L'opération nécessite une approbation » → voir la skill safe-write-operations ; ne jamais contourner.
  • Erreur de validation → re-récupérer le schéma avec get_operation_inputs, corriger le payload, re-confirmer avec l'utilisateur avant de réessayer.

Sécurité & Confidentialité

  • Pas de stockage de credentials local. Cette skill ne stocke pas les clés API, tokens ou credentials de compte publicitaire localement. L'authentification est entièrement gérée par OAuth 2.1 avec PKCE via l'application web Markifact — les tokens sont stockés côté serveur, chiffrés au repos.
  • Les scopes OAuth sont au minimum de privilèges. Chaque connexion à une plateforme publicitaire ne demande que les scopes nécessaires pour la gestion de campagne et le reporting. Vous pouvez examiner et révoquer l'accès à tout moment dans les paramètres de votre plateforme publicitaire (Google, Meta, LinkedIn, TikTok, Microsoft, Amazon, Pinterest, Snapchat, Reddit) ou depuis www.markifact.com/app/connections.
  • Isolation par compte. Chaque opération à portée de compte nécessite une résolution *_select_accounts explicite ; pas d'écritures cross-account.
  • Les opérations d'écriture nécessitent une approbation explicite. Toute opération avec requires_approval: true passe par le protocole en quatre étapes dans la skill safe-write-operations — énoncé en langage naturel, divulgation du rayon de blast, confirmation explicite de l'utilisateur, vérification post-exécution. L'agent ne dépense jamais d'argent ni ne mute une campagne en direct sans un oui.
  • Lecture seule par défaut. Le reporting, les audits et la découverte (find_operations, get_operation_inputs, *_get_report) sont en lecture seule. Les opérations d'écriture (créer, mettre à jour, mettre en pause, reprendre, supprimer) nécessitent une confirmation de l'utilisateur à chaque fois.
  • Pas de defaults destructifs automatiques. Préférer pause/désactiver à supprimer ; les changements de budget >50% nécessitent une confirmation supplémentaire ; ne jamais regrouper plus de 5 écritures sans re-confirmer.
  • Skill open source + code de plugin. Les plugins client MCP, slash commands et ces skills sont publics sur https://github.com/markifact/markifact-mcp pour audit de code.
  • Politique de confidentialité. Politiques complètes de traitement, rétention et suppression de données : https://www.markifact.com/privacy-policy. Voir aussi SECURITY.md et TERMS.md.

Skills similaires