Meta Ads MCP
Enables management and analysis of Facebook Ads accounts and campaigns, including insights, creative assets, audience estimates, and budget/status updates.
Enables management and analysis of Instagram Ads accounts and campaigns via the Meta Marketing API, with tools for insights, creatives, and optimization.
Provides tools to interact with Meta's Marketing API for managing and analyzing ad accounts, campaigns, ad sets, ads, creatives, audiences, and insights, including pause/resume, budget adjustments, and campaign creation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Meta Ads MCPCan you show me the top 5 campaigns by spend?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Meta Ads MCP
Serveur MCP self-hosted qui expose l'API Meta Marketing (Facebook/Instagram Ads) à Claude, pour analyser et piloter des comptes publicitaires clients directement depuis Claude Code / Claude Desktop.
Objectif
Analyser des comptes clients : insights, campagnes, ad sets, ads, creatives, audiences
Agir dessus : pause/resume, ajustement de budgets, création de campagnes (toujours en
PAUSEDpar défaut)Multi-comptes : une base réutilisable pour plusieurs clients, un token par client
Pas de dépendance à un SaaS tiers (type Pipeboard) : le code appelle directement la Graph API Marketing de Meta via fetch natif, et reste 100% self-hosted.
Related MCP server: Meta Ads MCP Server
Stack
TypeScript / Node.js 18+
@modelcontextprotocol/sdk(SDK officiel Anthropic)Appels REST directs à la Graph API Marketing (
v26.0par défaut, configurable viaMETA_API_VERSION)Transport MCP : stdio pour le dev local (Claude Code / Claude Desktop). Le code est structuré pour ajouter un transport Streamable HTTP plus tard, en vue d'un déploiement remote (Cloud Run ou équivalent).
État du projet
🚧 En cours de développement. Les 7 tools de lecture sont implémentés et testables via npm run test:manual. Les tools d'écriture (pause, budgets, création) arrivent ensuite.
Structure du projet
meta-ads-mcp/
src/
server.ts # point d'entrée MCP
client/
meta-api.ts # wrapper HTTP vers la Graph API Marketing
auth.ts # gestion des tokens (long-lived / System User)
tools/
read/ # tools de lecture (insights, campagnes, ...)
write/ # tools d'écriture (pause, budgets, création, ...)
config/
accounts.ts # mapping multi-comptes client -> ad_account_id/token
types/
test/
manual-check.ts # script de validation manuelle tool par tool
.github/workflows/ci.yml
.env.example
accounts.config.json.example
.mcp.json.exampleSetup
1. Prérequis
Node.js 18+
Un compte développeur Meta (developers.facebook.com) avec une app configurée pour la Marketing API
Accès à un Business Manager Meta
2. Installation
npm install
npm run build3. Obtenir un token Meta
Crée une app sur developers.facebook.com et récupère
META_APP_ID/META_APP_SECRET.Génère un access token utilisateur avec les permissions
ads_read,ads_management,business_managementvia l'Explorateur d'API Graph ou le flow OAuth complet.Échange ce token contre un long-lived token (~60 jours) :
GET /oauth/access_token ?grant_type=fb_exchange_token &client_id={META_APP_ID} &client_secret={META_APP_SECRET} &fb_exchange_token={SHORT_LIVED_TOKEN}Recommandé pour la prod : crée un System User dans le Business Manager (Paramètres de l'entreprise > Utilisateurs > Utilisateurs système), assigne-lui les comptes publicitaires nécessaires, et génère un token System User — il n'expire pas et évite la gestion de renouvellement.
4. Configuration
cp .env.example .env
cp accounts.config.json.example accounts.config.jsonRemplis .env avec tes identifiants Meta (voir tableau ci-dessous), puis déclare chaque client dans accounts.config.json (fichier ignoré par git — ne jamais le commiter s'il contient des tokens en clair).
Variable | Description |
| ID de l'app Meta |
| Secret de l'app Meta |
| Token long-lived ou System User par défaut |
| ID du Business Manager |
| Version de la Graph API à cibler (défaut |
| Chemin vers le fichier de mapping multi-comptes |
| Seuil (%) au-delà duquel un changement de budget doit être confirmé explicitement avant exécution |
5. Connexion à Claude Code / Claude Desktop
Copie .mcp.json.example vers .mcp.json à la racine du projet (ou dans la config Claude Desktop équivalente) et adapte les variables d'environnement :
cp .mcp.json.example .mcp.jsonClaude Code détecte automatiquement .mcp.json à la racine du repo. Pour Claude Desktop, ajoute la même entrée dans claude_desktop_config.json sous mcpServers.
Tools MCP disponibles
Lecture (priorité 1)
Tool | Description |
| Liste les comptes publicitaires accessibles |
| Liste des campagnes (statut, objectif, budget) |
| Ad sets, avec résumé du targeting |
| Ads, avec creative associé |
| Métriques (impressions, reach, CTR, CPC, CPM, ROAS, conversions), filtres |
| Assets créatifs utilisés (image/vidéo, texte, hook) |
| Taille d'audience estimée pour un targeting donné |
Écriture (priorité 2)
Tool | Description |
| Pause / resume / archive |
| Ajustement du budget quotidien / lifetime |
| Ajustement de la stratégie d'enchère |
| Création — toujours en statut |
| Duplication pour tests A/B |
| Gestion des audiences d'exclusion |
Règle de sécurité non négociable : toute action qui modifie un budget de plus de BUDGET_CHANGE_CONFIRMATION_THRESHOLD_PERCENT (20% par défaut) ou qui active une campagne renvoie un objet de confirmation explicite avant exécution — jamais d'exécution silencieuse sur les actions à fort impact budgétaire.
Gestion des erreurs et rate limits
Meta limite à 200 appels/heure/utilisateur. Le client HTTP (src/client/meta-api.ts) implémente un retry avec backoff exponentiel sur les erreurs 429 et les codes d'erreur Meta 17, 32 et 613 (rate limit). Les erreurs API Meta remontent au niveau MCP sous forme de message clair, jamais de stack trace brute.
Tests manuels
npm run test:manualExécute chaque tool directement (hors transport MCP) et affiche le résultat, pour validation avant connexion à Claude Code en usage réel.
Développement
npm run dev # lance le serveur via tsx (hot reload TS)
npm run build # compile vers dist/
npm run lint # ESLint
npm start # lance la version compiléeRoadmap
Scaffold du repo, CI, structure du projet
Authentification Meta (résolution multi-comptes, long-lived token exchange, support System User)
Retry / backoff et gestion d'erreurs Meta (codes 17, 32, 613, HTTP 429)
Tools de lecture (7/7)
Tools d'écriture + garde-fou de confirmation budgétaire
Transport Streamable HTTP pour déploiement remote
UI de pilotage (multi-comptes, plages de dates, sélection de métriques) — phase séparée, branchée sur ce MCP
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server that wraps the Meta Marketing API (Graph API v25.0) as semantic tools for LLM agents.181
- Flicense-qualityDmaintenanceA comprehensive MCP server for managing and analyzing Meta Ads (Facebook/Instagram) with over 80 natural-language tools for AI agents like Claude Desktop.
- AlicenseAqualityDmaintenanceMCP server to manage Meta Ads (Facebook/Instagram) campaigns, ad sets, insights, and audiences from Claude Code using natural language.910MIT
- Alicense-qualityDmaintenancePython MCP server that exposes Meta Marketing API data, providing tools to manage ad accounts, campaigns, and analytics through natural language interfaces.MIT
Related MCP Connectors
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gorossesolutions/meta-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server