Meta MCP Connector
Conector MCP de Meta
Servidor MCP en lenguaje natural para Meta / Facebook Ads mediante la Graph API.
Pregunta sobre cuentas publicitarias, campañas, conjuntos de anuncios, gasto y rendimiento en lenguaje natural, sin necesidad de nombres de tablas ni rutas de API sin procesar.
Características
Datos en vivo de la API de Marketing de Facebook (Graph API)
Lista de cuentas publicitarias con el Business Manager principal
Rendimiento de campañas / conjuntos de anuncios / anuncios (gasto, impresiones, clics, compras)
Panel de gasto a nivel de cuenta (
account-spend.html)OAuth de Claude.ai cuando se implementa en Cloud Run (
MCP_PUBLIC_URL)
Related MCP server: Instagram Ads MCP Server
Estructura del proyecto
meta-mcp-connector/
├── meta_mcp_server.py # MCP server + HTTP routes + tools
├── meta_graph.py # Facebook Graph API client
├── meta_oauth.py # Claude-compatible OAuth provider
├── account-spend.html # Spend-by-account dashboard
├── test-accounts.html # Ad account list test page
├── get-token.html # Helper to obtain FACEBOOK_ACCESS_TOKEN
├── requirements.txt
├── Dockerfile
├── deploy-cloudrun.ps1 # Deploy to Google Cloud Run
├── .env.example
└── .cursor/mcp.json # Local Cursor MCP config (example)Configuración (local)
1. Clonar e instalar
git clone https://github.com/YOUR_USERNAME/meta-mcp-connector.git
cd meta-mcp-connector
python -m venv .venv
# Windows
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env2. Configurar .env
FACEBOOK_APP_ID=your_app_id
FACEBOOK_APP_SECRET=your_app_secret
FACEBOOK_ACCESS_TOKEN=your_user_token_with_ads_read
FACEBOOK_AD_ACCOUNT_ID=114810198697538Requisitos del token
Debe ser un Token de usuario (
EAA…), no un Token de aplicación (app_id|secret)Generado en el Explorador de Graph API para tu
FACEBOOK_APP_IDPermisos:
ads_read,ads_management,business_management
Usa get-token.html o ejecuta el servidor y abre http://127.0.0.1:8001/get-token.
3. Iniciar el servidor
python meta_mcp_server.py --httpEndpoint | URL |
MCP |
|
Interfaz de gasto |
|
API de lista de cuentas |
|
API de gasto por cuenta |
|
4. Configuración de MCP en Cursor
.cursor/mcp.json:
{
"mcpServers": {
"meta": {
"url": "http://127.0.0.1:8001/mcp"
}
}
}Recarga MCP en la configuración de Cursor después de iniciar el servidor.
Herramientas MCP
Herramienta | Propósito |
| Qué puedes preguntar |
| Cuentas publicitarias + Business Manager principal |
| Campañas en una cuenta publicitaria |
| Conjuntos de anuncios en una cuenta publicitaria |
| Verificación de salud del token / aplicación |
| Totales de KPI para un rango de fechas |
| Gasto y métricas día a día |
| Desglose por campaña / conjunto de anuncios / ubicación |
| Anuncios principales por gasto u otra métrica |
Ejemplos de consultas
"Lista mis cuentas publicitarias de Meta"
"Resumen de anuncios de Meta del 2026-08-01 al 2026-08-15"
"Gasto diario de los últimos 7 días para WOW Ad Account"
"Anuncios principales por gasto ayer"
"Desglosa el gasto por campaña la semana pasada"
Google Cloud Run
Aloja el mismo endpoint MCP HTTP en Cloud Run (mismo patrón que vdp-connector). La imagen de Docker no incluye .env ni secretos.
Requisitos previos
Google Cloud SDK (
gcloud) instalado y con sesión iniciada (gcloud auth login)Un proyecto de GCP con facturación habilitada
Tu ID de proyecto de GCP
Credenciales de Facebook listas en
.envlocal (ver.env.example)
Implementación
Desde la carpeta de este repositorio:
# App secret read from .env
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID"
# Optional overrides
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID" -Region "us-central1" -Service "meta-mcp"
# App secret from a one-line file (gitignored)
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID" -SecretFile ".\facebook-app-secret.key"Qué hace el script:
Habilita Cloud Run, Cloud Build, Secret Manager, Artifact Registry
Sube
FACEBOOK_APP_SECRET→ Secret Manager (meta-facebook-app-secret)Sube
FACEBOOK_ACCESS_TOKEN→ Secret Manager (meta-facebook-access-token) si está configurado en.envImplementa con
--source .(Dockerfile), variables de entorno e inyección de secretosEstablece
MCP_PUBLIC_URLa la URL del servicio (requerido para OAuth de Claude)Imprime la URL del conector:
https://SERVICE-URL/mcp
Banderas de implementación:
--set-env-vars MCP_TRANSPORT=http,HOST=0.0.0.0,FACEBOOK_APP_ID=…,FACEBOOK_AD_ACCOUNT_ID=…--set-secrets FACEBOOK_APP_SECRET=meta-facebook-app-secret:latest,FACEBOOK_ACCESS_TOKEN=meta-facebook-access-token:latest--allow-unauthenticated(necesario para una URL MCP funcional en la primera implementación)--session-affinity,--max-instances 1,--timeout 300,--port 8080
Cursor (Cloud Run)
Después de implementar, coloca la URL impresa en .cursor/mcp.json:
"meta": {
"url": "https://YOUR-CLOUD-RUN-URL/mcp"
}No necesitas un proceso local python meta_mcp_server.py cuando usas Cloud Run.
Conector personalizado de Claude
Claude.ai requiere OAuth para conectores personalizados remotos. Este servidor incluye un proveedor OAuth compatible con Claude (Registro dinámico de clientes) cuando MCP_PUBLIC_URL está configurado (el script de implementación lo establece automáticamente).
Implementa con
.\deploy-cloudrun.ps1 -ProjectId "YOUR_GCP_PROJECT_ID"Elimina cualquier conector antiguo roto
Configuración → Conectores → Agregar conector personalizado
Pega exactamente:
https://YOUR-CLOUD-RUN-URL/mcp(debe incluir/mcp)Deja OAuth Client ID vacío en la configuración avanzada (DCR está habilitado)
Haz clic en Conectar — Claude se registra y autoriza brevemente
Si ves "Couldn't register with … sign-in service" (ofid_…):
Confirma que la URL termina con
/mcp(no el host de Cloud Run sin la ruta)Confirma que el servicio está activo: abre
https://YOUR-CLOUD-RUN-URL/.well-known/oauth-authorization-server— deberías ver JSON conregistration_endpointConfirma que
MCP_PUBLIC_URLcoincide con el origen del servicio (reimplementa si cambiaste la URL)No pegues un OAuth Client ID aleatorio a menos que hayas configurado un IdP externo
Verificar la implementación
Verificación | URL |
Endpoint MCP |
|
Descubrimiento OAuth |
|
Interfaz de gasto |
|
Local vs Cloud
Local | Cloud Run | |
Inicio |
|
|
URL |
|
|
Secretos | Archivo | Secret Manager → inyección de entorno |
Host / puerto |
|
|
OAuth de Claude | Desactivado (sin | Activado ( |
Herramientas | Iguales | Iguales |
Nota de seguridad
--allow-unauthenticated hace que la URL de Cloud Run sea accesible públicamente. OAuth significa que Claude debe completar el registro/autorización antes de que funcionen las herramientas; los llamadores aleatorios sin token obtienen 401. Aun así, trata la URL como sensible y agrega autenticación más fuerte antes de compartirla ampliamente.
Errores comunes
URL de Claude sin
/mcp→ "Couldn't connect to the server"MCP_PUBLIC_URLno configurado → OAuth 404 → "Couldn't register with sign-in service"Confirmar
.envo archivos de secretosOlvidar reimplementar después de cambios en el código OAuth
Implementar sin
FACEBOOK_ACCESS_TOKEN→ la Graph API devuelve errores de permisos
Push a GitHub
# Sign in to your new GitHub account first
git credential-manager github login --force
# Create repo on GitHub (browser or gh), then:
git remote add origin https://github.com/YOUR_USERNAME/meta-mcp-connector.git
git add .
git commit -m "Initial commit: Meta MCP connector"
git push -u origin mainSeguridad
Nunca confirmes
.env— está en gitignoreFACEBOOK_ACCESS_TOKENes un secreto; rota si se exponeLa implementación en Cloud Run usa
--allow-unauthenticatedpara la accesibilidad de la URL MCP; OAuth protege el acceso a las herramientas cuandoMCP_PUBLIC_URLestá configurado
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
- FlicenseNot gradedqualityDmaintenanceConnects AI assistants to Facebook's Ads API to enable natural language queries for campaign data, insights, and performance metrics. It allows users to manage ad accounts and retrieve detailed analytics like impressions, clicks, and spend through MCP-compatible interfaces.
- AlicenseNot gradedqualityCmaintenanceWraps the Meta Marketing API to enable creating, modifying, viewing, and deleting Instagram ads via natural language.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables management and analysis of Meta (Facebook/Instagram) ads through natural language conversations, with 30 tools for reading and writing ad data.MIT
- AlicenseNot gradedqualityDmaintenanceEnables full read/write management of Facebook ad campaigns, ad sets, ads, and creatives via the Meta Marketing API through natural language, with AI creative generation, performance analytics, and PDF reporting.MIT
Related MCP Connectors
Ask AI about your ads — query Meta, TikTok, and Google Ads performance in natural language.
60+ Meta Ads tools for AI agents: audits, campaign management, audiences and CAPI tracking.
Run Google, Meta, Microsoft, TikTok and LinkedIn Ads from Claude or ChatGPT. Writes need approval.
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/devopsbrandmirchi/meta-mcp-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server