Meta Ads Mcp Server

Servidor MCP (Protocolo de Contexto del Modelo) para la API de Meta (Facebook) Ads.

Documentación

Servidor MCP de Meta Ads

npm version npm downloads Node.js version Meta Graph API MCP compatible MIT License CI status

Un servidor Protocolo de Contexto de Modelo para la API de Anuncios de Meta (Facebook), escrito en TypeScript.
54 herramientas — 35 herramientas de lectura (siempre activas) más 19 herramientas de escritura/ciclo de vida opcionales — que cubren cuentas publicitarias, campañas, conjuntos de anuncios, anuncios, creatividades, medios, estadísticas, catálogo de segmentación, páginas de Facebook, programaciones de presupuesto y registros de actividad a través de la API Graph de Meta v22.0.

Funciona con Cursor, Claude Desktop (stdio) y conectores personalizados de Claude.ai (HTTP).

Aviso legal: Esta es una herramienta no oficial de terceros y no está asociada, respaldada ni afiliada con Meta de ninguna manera. Este proyecto se mantiene de forma independiente y utiliza las API públicas de Meta de acuerdo con sus Términos de Servicio. Meta, Facebook, Instagram y otros nombres de marca de Meta son marcas comerciales de sus respectivos propietarios.


Tabla de Contenidos


Características

CategoríaQué hace
CuentasListar cuentas publicitarias, obtener detalles de la cuenta
CampañasObtener / listar / crear / actualizar / pausar / reanudar / eliminar
Conjuntos de AnunciosObtener / listar / obtener en lote / crear / actualizar / pausar / reanudar / eliminar
AnunciosObtener / listar / crear / actualizar / pausar / reanudar / eliminar
CreatividadesObtener / listar, crear + actualizar, calcular recortes de imagen
MediosListar imágenes de anuncios, subir imágenes, buscar por hash, obtener vistas previas de anuncios y videos
EstadísticasAnalíticas de rendimiento a nivel de cuenta, campaña, conjunto de anuncios y anuncio
SegmentaciónBuscar intereses / comportamientos / datos demográficos / geográficos, estimación del tamaño de audiencia
PáginasListar páginas de Facebook accesibles desde el token, buscar por nombre
Programaciones de PresupuestoProgramar aumentos temporales de presupuesto en un período de tiempo
ActividadesHistorial de cambios para cuentas publicitarias y conjuntos de anuncios
PaginaciónHerramienta de utilidad para obtener páginas posteriores de resultados

Todas las herramientas de mutación (crear / actualizar / eliminar / pausar / reanudar / subir / programación de presupuesto) están desactivadas por defecto y solo se registran cuando se opta por ellas — consulte Habilitación de Herramientas de Escritura.


Requisitos

  • Node.js >= 18
  • Un Token de Acceso de Usuario de Meta con los permisos adecuados para lo que planea hacer — consulte a continuación.

Instalación

# From npm
npx meta-ads-mcp-server --access-token YOUR_META_ACCESS_TOKEN

# From source
git clone https://github.com/hashcott/meta-ads-mcp.git
cd meta-ads-mcp
npm install
npm run build
node dist/index.js --access-token YOUR_META_ACCESS_TOKEN

Obtención de un Token de Acceso de Meta

Este servidor utiliza la API de Marketing de Meta. Necesita un token de acceso vinculado a una Aplicación de Meta que tenga los permisos adecuados.

Opción rápida — Explorador de API Graph (experimentos de solo lectura)

  1. Abra el Explorador de API Graph.
  2. Elija su Aplicación de Meta en el menú desplegable superior derecho (cree una en developers.facebook.com/apps si no tiene ninguna — elija el tipo "Negocio").
  3. Haga clic en Generar Token de Acceso, luego en Permisos agregue como mínimo:
    • ads_read — para todas las herramientas de lectura.
    • ads_management — requerido para cualquier herramienta de escritura (crear / actualizar / eliminar / pausar / reanudar / subir / programación de presupuesto).
    • business_management — recomendado si opera a través de Business Manager.
    • pages_show_list, pages_read_engagement — requeridos para las herramientas de Páginas.
  4. Copie el token generado. Este es un token de corta duración (~1 hora) — suficiente para pruebas. image

Opción de producción — Token de Usuario de larga duración

Los tokens de corta duración del Explorador caducan en aproximadamente una hora. Cambie el suyo por un token de 60 días:

curl -G "https://graph.facebook.com/v22.0/oauth/access_token" \
  --data-urlencode "grant_type=fb_exchange_token" \
  --data-urlencode "client_id=YOUR_APP_ID" \
  --data-urlencode "client_secret=YOUR_APP_SECRET" \
  --data-urlencode "fb_exchange_token=YOUR_SHORT_LIVED_TOKEN"

La respuesta contiene "access_token": "..." — ese token es válido por ~60 días. Refrésquelo de la misma manera antes de que caduque, o construya un flujo OAuth completo si necesita acceso permanente.

Opción de producción — Token de Usuario de Sistema (recomendado para servidores)

Para uso de producción sin supervisión (sin caducidad), genere un token de Usuario de Sistema en Business Manager:

  1. Vaya a Business Manager → Configuración de la Empresa → Usuarios → Usuarios de Sistema.
  2. Cree un usuario de sistema (o use uno existente), asigne la cuenta publicitaria correspondiente y otorgue ads_read / ads_management.
  3. Haga clic en Generar Nuevo Token → elija su Aplicación de Meta → seleccione los mismos permisos → Nunca para la caducidad.

Los tokens de Usuario de Sistema no caducan y son ideales para implementaciones de backend.

Verificación de su token

curl "https://graph.facebook.com/v22.0/me?access_token=YOUR_TOKEN"

Debería devolver su objeto de usuario/usuario de sistema. Si devuelve un error, verifique los permisos y que el token no haya caducado.


Autenticación

Pase su token de acceso de Meta usando cualquiera de estos métodos:

Argumento de línea de comandos (recomendado para Cursor / Claude Desktop):

node dist/index.js --access-token YOUR_META_ACCESS_TOKEN

Variable de entorno:

export META_ADS_ACCESS_TOKEN=YOUR_META_ACCESS_TOKEN
node dist/index.js

El token se mantiene solo en la memoria del proceso en ejecución — este servidor nunca lo escribe en disco.


Habilitación de Herramientas de Escritura

Por defecto, el servidor registra solo las 35 herramientas de lectura — las herramientas de crear / actualizar / eliminar / pausar / reanudar / subir / programación de presupuesto no están expuestas. Esto es intencional: un meta_ads_delete_campaign emitido por error puede eliminar permanentemente campañas y sus anuncios.

Para optar por ellas, configure:

META_ADS_ENABLE_WRITE_TOOLS=true

Valores verdaderos aceptados: true, 1, yes, on (sin distinción de mayúsculas/minúsculas). Cualquier otro valor (o sin configurar) mantiene las escrituras desactivadas.

Cuando está habilitado, el servidor registra una advertencia de una línea en stderr al inicio:

[meta-ads-mcp] WARNING: META_ADS_ENABLE_WRITE_TOOLS is on — create/update/delete/pause/resume tools are EXPOSED. These can permanently delete campaigns/ad sets/ads or change live delivery.

Su token de acceso también necesita el permiso ads_management para que las escrituras tengan éxito.

Ejemplo de configuración de Cursor / Claude Desktop con escrituras habilitadas:

{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "meta-ads-mcp-server"],
      "env": {
        "META_ADS_ACCESS_TOKEN": "YOUR_META_ACCESS_TOKEN",
        "META_ADS_ENABLE_WRITE_TOOLS": "true"
      }
    }
  }
}

Modos de Transporte

ModoCaso de usoCómo habilitarlo
stdio (predeterminado)Cursor, Claude Desktop, herramientas localesNo se necesita configuración
httpConectores remotos de Claude.ai, configuraciones de múltiples clientesConfigure TRANSPORT=http

Configuración para Cursor / Claude Desktop

Agregue una de las siguientes opciones a su archivo de configuración del cliente MCP:

Mediante npx (recomendado — no requiere instalación local):

{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "meta-ads-mcp-server", "--access-token", "YOUR_META_ACCESS_TOKEN"]
    }
  }
}

Mediante compilación local:

{
  "mcpServers": {
    "meta-ads": {
      "command": "node",
      "args": ["/path/to/meta-ads-mcp/dist/index.js", "--access-token", "YOUR_META_ACCESS_TOKEN"]
    }
  }
}

Mediante variable de entorno (y escrituras opcionales):

{
  "mcpServers": {
    "meta-ads": {
      "command": "npx",
      "args": ["-y", "meta-ads-mcp-server"],
      "env": {
        "META_ADS_ACCESS_TOKEN": "YOUR_META_ACCESS_TOKEN",
        "META_ADS_ENABLE_WRITE_TOOLS": "true"
      }
    }
  }
}

Servidor HTTP Remoto

Ejecute como un servidor HTTP persistente para usar con conectores personalizados de Claude.ai o cualquier cliente MCP remoto.

# Start on default port 3000
TRANSPORT=http META_ADS_ACCESS_TOKEN=YOUR_TOKEN node dist/index.js

# Start on a custom port, writes enabled
TRANSPORT=http \
  META_ADS_ACCESS_TOKEN=YOUR_TOKEN \
  META_ADS_ENABLE_WRITE_TOOLS=true \
  PORT=8080 \
  node dist/index.js

Puntos finales:

  • POST /mcp — punto final del protocolo MCP
  • GET /health — verificación de estado ({"status":"ok"})

Agregar a Claude.ai

  1. Vaya a Configuración → Conectores → Agregar conector personalizado
  2. Ingrese la URL de su servidor: https://your-domain.com/mcp
  3. Haga clic en Agregar

Pruebas locales con ngrok

# Terminal 1 — start the server
TRANSPORT=http META_ADS_ACCESS_TOKEN=YOUR_TOKEN PORT=8080 node dist/index.js

# Terminal 2 — expose publicly
ngrok http 8080

Use la URL HTTPS generada (por ejemplo, https://xxxx.ngrok-free.app/mcp) como la URL de su conector.

Implementación en plataformas en la nube

Configure las siguientes variables de entorno en su proveedor de alojamiento (Railway, Render, Fly.io, etc.):

VariableValor
TRANSPORThttp
META_ADS_ACCESS_TOKENSu token de acceso de Meta
META_ADS_ENABLE_WRITE_TOOLStrue para también exponer herramientas de mutación (desactivado por defecto)
PORTAsignado automáticamente por la plataforma

Herramientas Disponibles

Leyenda: 🔍 lectura • ✏️ escritura (restringida por META_ADS_ENABLE_WRITE_TOOLS) • 🛠️ utilidad pura (sin llamada a API).

Cuentas

HerramientaTipoDescripción
meta_ads_list_ad_accounts🔍Listar todas las cuentas publicitarias accesibles con su token
meta_ads_get_ad_account_details🔍Obtener información detallada de una cuenta publicitaria específica

Campañas

HerramientaTipoDescripción
meta_ads_get_campaign_by_id🔍Obtener una campaña específica por su ID
meta_ads_get_campaigns_by_adaccount🔍Listar campañas dentro de una cuenta publicitaria, con filtros y paginación
meta_ads_create_campaign✏️Crear una nueva campaña ODAX (CBO o ABO)
meta_ads_update_campaign✏️Actualizar nombre/estado/presupuesto/oferta; admite migración CBO → ABO mediante adset_budgets
meta_ads_delete_campaign✏️Eliminar permanentemente una campaña y sus conjuntos de anuncios/anuncios
meta_ads_pause_campaign✏️Conveniencia: establecer estado en PAUSED
meta_ads_resume_campaign✏️Conveniencia: establecer estado en ACTIVE

Entradas de meta_ads_create_campaign:

  • act_id (cadena) — ID de cuenta publicitaria, formato act_XXXXXXXXX.
  • name (cadena) — Nombre de la campaña.
  • objective (enumeración) — Objetivo basado en resultados ODAX:
    • OUTCOME_AWARENESS, OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES, OUTCOME_APP_PROMOTION.
    • Los objetivos heredados (BRAND_AWARENESS, LINK_CLICKS, CONVERSIONS, APP_INSTALLS, …) no son aceptados por Meta v22+ y devolverán HTTP 400.
  • status (predeterminado PAUSED), special_ad_categories (predeterminado [])
  • daily_budget / lifetime_budget (centavos) — omita ambos cuando use_adset_level_budgets=true.
  • bid_strategy — LOWEST_COST_WITHOUT_CAP (predeterminado), LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS. Las estrategias de límite de oferta requieren bid_amount en cada conjunto de anuncios secundario.
  • bid_cap, spend_cap, campaign_budget_optimization, use_adset_level_budgets, ab_test_control_setups, buying_type.
{
  "act_id": "act_123456789012345",
  "name": "2026 - Spring Sale - Awareness",
  "objective": "OUTCOME_AWARENESS",
  "special_ad_categories": [],
  "status": "PAUSED",
  "bid_strategy": "LOWEST_COST_WITHOUT_CAP",
  "daily_budget": 10000
}

Conjuntos de Anuncios

HerramientaTipoDescripción
meta_ads_get_adset_by_id🔍Obtener un solo conjunto de anuncios por su ID
meta_ads_get_adsets_by_ids🔍Obtener en lote múltiples conjuntos de anuncios
meta_ads_get_adsets_by_adaccount🔍Listar conjuntos de anuncios en una cuenta publicitaria
meta_ads_get_adsets_by_campaign🔍Listar conjuntos de anuncios dentro de una campaña
meta_ads_create_adset✏️Crear un nuevo conjunto de anuncios bajo una campaña
meta_ads_update_adset✏️Actualizar los campos de un conjunto de anuncios (nota: frequency_control_specs es inmutable después de la creación)
meta_ads_delete_adset✏️Eliminar permanentemente un conjunto de anuncios
meta_ads_pause_adset✏️Establecer estado en PAUSED
meta_ads_resume_adset✏️Establecer estado en ACTIVE

Aspectos destacados de meta_ads_create_adset:

  • Requeridos: act_id, campaign_id, name, optimization_goal, billing_event.
  • targeting (objeto) — especificación completa de segmentación; recuerde que targeting_automation.advantage_audience tiene como predeterminado 0 en Meta v24+ — configúrelo explícitamente si desea Audiencia Advantage+.
  • bid_amount — requerido para LOWEST_COST_WITH_BID_CAP / COST_CAP.
  • bid_constraints — requerido para LOWEST_COST_WITH_MIN_ROAS, por ejemplo, {"roas_average_floor": 20000} para un piso de ROAS de 2.0×.
  • dsa_beneficiary / dsa_payor — requeridos para conjuntos de anuncios dirigidos a la UE.
  • promoted_object — requerido para APP_INSTALLS.
  • frequency_control_specs — DEBE configurarse en la creación; Meta lo hace inmutable después.
  • regional_regulated_categories / regional_regulation_identities — verticales regulados de Taiwán / Australia / Singapur / India.

Anuncios

HerramientaTipoDescripción
meta_ads_get_ad_by_id🔍Obtener un anuncio individual por ID
meta_ads_get_ads_by_adaccount🔍Listar anuncios en una cuenta publicitaria
meta_ads_get_ads_by_campaign🔍Listar anuncios dentro de una campaña
meta_ads_get_ads_by_adset🔍Listar anuncios dentro de un conjunto de anuncios
meta_ads_create_ad✏️Crear un nuevo anuncio que haga referencia a un creativo existente
meta_ads_update_ad✏️Actualizar nombre / estado / oferta / especificaciones de seguimiento / referencia de creativo
meta_ads_delete_ad✏️Eliminar permanentemente un anuncio
meta_ads_pause_ad✏️Establecer estado a PAUSED
meta_ads_resume_ad✏️Establecer estado a ACTIVE

ℹ️ Intercambiar creative_id en un anuncio FLEX puede fallar con error_subcode 3858355 si las imágenes asset_feed_spec del nuevo creativo no coinciden con su object_story_spec. En ese caso, crea un nuevo anuncio con el nuevo creativo y pausa el anterior (pierdes prueba social pero el anuncio se ejecuta).

Creativos

HerramientaTipoDescripción
meta_ads_get_ad_creative_by_id🔍Obtener un creativo
meta_ads_get_ad_creatives_by_ad_id🔍Listar creativos adjuntos a un anuncio
meta_ads_get_adcreatives_by_adaccount🔍Listar creativos en una cuenta publicitaria
meta_ads_compute_image_crops🛠️Calcular recuadros de recorte centrados para las 6 relaciones de aspecto aceptadas por Meta (sin llamada a API)
meta_ads_create_ad_creative✏️Crear un creativo — 3 modos simples más la vía de escape completa de object_story_spec
meta_ads_update_ad_creative✏️Actualizar name / asset_feed_spec (Meta restringe la mayoría de las otras actualizaciones de contenido)

meta_ads_create_ad_creative — tres modos comunes:

  1. Promocionar una publicación existente: pasa solo object_story_id en el formulario {page_id}_{post_id}.
  2. Anuncio de enlace con una sola imagen: page_id + image_hash + link_url + message + opcional headline, description, call_to_action_type.
  3. Anuncio de video único: page_id + video_id + link_url + message + opcional headline, call_to_action_type, thumbnail_url.

Para diseños avanzados (FLEX/DOF, Personalización de activos de ubicación, Creativo dinámico, múltiples titulares, formularios de generación de clientes potenciales, contenido de marca, recortes de imagen), pasa un object_story_spec y/o asset_feed_spec completamente compuestos — estos tienen prioridad sobre la auto-construcción en modo simple.

Medios

HerramientaTipoDescripción
meta_ads_get_ad_images🔍Listar activos de imagen en una cuenta publicitaria
meta_ads_get_image_by_hash🔍Búsqueda de imagen individual por hash (URL + dimensiones)
meta_ads_get_ad_previews🔍Generar vistas previas renderizadas de un anuncio en todas las ubicaciones
meta_ads_get_ad_video🔍Detalles del video (URL de origen, miniaturas, duración) por ad_id o video_id
meta_ads_upload_ad_image✏️Subir una imagen a la biblioteca de imágenes de anuncios de una cuenta y obtener su image_hash

meta_ads_upload_ad_image acepta exactamente uno de:

  • file — una URL de datos (data:image/png;base64,iVBORw0KG...) o una cadena base64 sin procesar.
  • image_url — una URL pública; el servidor descarga los bytes y los sube.

Devuelve el image_hash que luego pasas a meta_ads_create_ad_creative.

Información

HerramientaTipoDescripción
meta_ads_get_adaccount_insights🔍Métricas de rendimiento a nivel de cuenta
meta_ads_get_campaign_insights🔍Métricas de rendimiento para una campaña específica
meta_ads_get_adset_insights🔍Métricas de rendimiento para un conjunto de anuncios específico
meta_ads_get_ad_insights🔍Métricas de rendimiento para un anuncio específico

Los cuatro aceptan la misma superficie de opciones: fields, date_preset, time_range, time_ranges, time_increment, level, action_attribution_windows, action_breakdowns, breakdowns, filtering, sort, paginación y configuración regional.

Precedencia del rango de tiempo: time_ranges > time_range > since/until > date_preset.

Catálogo de segmentación

HerramientaTipoDescripción
meta_ads_search_interests🔍Buscar en el catálogo de intereses de Meta por palabra clave
meta_ads_get_interest_suggestions🔍Obtener intereses relacionados de una lista semilla
meta_ads_search_behaviors🔍Listar opciones de segmentación por comportamiento disponibles
meta_ads_search_demographics🔍Listar opciones demográficas (demographics / life_events / industries / income / family_statuses / user_device / user_os)
meta_ads_search_geo_locations🔍Buscar países / regiones / ciudades / códigos postales / geo_markets / electoral_districts
meta_ads_estimate_audience_size🔍Estimar alcance para una especificación de segmentación mediante /act_X/delivery_estimate

Páginas

HerramientaTipoDescripción
meta_ads_get_account_pages🔍Listar páginas de Facebook accesibles desde el token de acceso (/me/accounts)
meta_ads_search_pages_by_name🔍Filtro de subcadena sobre las páginas del token (lado del cliente — Meta no expone un filtro de nombre del lado del servidor)

Los valores page_id devueltos son los que pasas a meta_ads_create_ad_creative.

Programaciones de presupuesto

HerramientaTipoDescripción
meta_ads_create_budget_schedule✏️Programar un aumento temporal de presupuesto para una campaña en una ventana de marca de tiempo Unix

Entradas:

  • campaign_id (string)
  • budget_value (int, positivo)
  • budget_value_type — ABSOLUTE (centavos en la moneda de la cuenta) o MULTIPLIER (por ejemplo, 2 duplica el presupuesto)
  • time_start, time_end (marcas de tiempo Unix en segundos) — time_end > time_start

Actividades

HerramientaTipoDescripción
meta_ads_get_activities_by_adaccount🔍Recuperar el registro de historial de cambios de una cuenta publicitaria
meta_ads_get_activities_by_adset🔍Recuperar el registro de historial de cambios de un conjunto de anuncios

Herramienta de paginación

HerramientaTipoDescripción
meta_ads_fetch_pagination_url🛠️Seguir URLs de paging.next / paging.previous desde la respuesta de cualquier otra herramienta

De extremo a extremo: Crear un anuncio desde cero

Un flujo de trabajo típico de "crear un nuevo anuncio" utiliza herramientas de varias categorías. Con META_ADS_ENABLE_WRITE_TOOLS=true:

1. meta_ads_list_ad_accounts                       → pick an act_id
2. meta_ads_get_account_pages                      → pick a page_id
3. meta_ads_search_geo_locations(q="Vietnam")      → grab the country/region keys
4. meta_ads_search_interests(q="cooking")          → grab interest IDs
5. meta_ads_estimate_audience_size(act_id, targeting)  → sanity-check reach
6. meta_ads_upload_ad_image(act_id, image_url)     → returns image_hash
7. meta_ads_create_campaign(act_id, ...)           → returns campaign_id
8. meta_ads_create_adset(act_id, campaign_id, targeting, ...)  → returns adset_id
9. meta_ads_create_ad_creative(act_id, page_id, image_hash, link_url, message, ...)  → returns creative_id
10. meta_ads_create_ad(act_id, name, adset_id, creative_id, status="PAUSED")  → returns ad_id
11. (Optional) meta_ads_get_ad_previews(ad_id, ...)  → render placements before going live
12. meta_ads_resume_ad(ad_id)                       → flip to ACTIVE when ready

Todos los pasos que mutan el estado tienen como valor predeterminado status: "PAUSED" para que nada se publique hasta que llames explícitamente a una herramienta de reanudación.


Paginación

Muchas herramientas de listado devuelven resultados paginados. Cuando una respuesta contiene una URL paging.next, usa meta_ads_fetch_pagination_url para recuperar páginas posteriores:

1. Call meta_ads_get_campaigns_by_adaccount  →  receive first page
2. Check if response.paging.next exists
3. Call meta_ads_fetch_pagination_url(url=response.paging.next)  →  receive next page
4. Repeat until paging.next is absent

Desarrollo

npm run dev              # Watch mode — auto-recompile on change
npm run build            # Compile TypeScript to dist/
npm run clean            # Remove dist/
npm run clean && npm run build   # Full rebuild from scratch

Prueba rápida de humo:

# Default (read-only)
META_ADS_ACCESS_TOKEN=dummy node dist/index.js
# → "Meta Ads MCP server running via stdio"

# With writes enabled
META_ADS_ACCESS_TOKEN=dummy META_ADS_ENABLE_WRITE_TOOLS=true node dist/index.js
# → WARNING line + "Meta Ads MCP server running via stdio"

Estructura del Proyecto

meta-ads-mcp/
├── src/
│   ├── index.ts                  # Entry point, server setup, transport selection, write-tools warning
│   ├── constants.ts              # API version, base URLs, isWriteToolsEnabled() flag
│   ├── types.ts                  # Shared TypeScript interfaces
│   ├── services/
│   │   └── graph-api.ts          # HTTP client (GET/POST/DELETE), auth, error handling, param builders
│   ├── schemas/
│   │   ├── common.ts             # Shared Zod schemas (pagination, date ranges, filters)
│   │   └── insights.ts           # Insights-specific Zod schemas
│   └── tools/
│       ├── accounts.ts           # Account tools
│       ├── insights.ts           # Insights tools (account/campaign/adset/ad level)
│       ├── campaigns.ts          # Campaign read + write/lifecycle tools
│       ├── adsets.ts             # Ad set read + write/lifecycle tools
│       ├── ads.ts                # Ad read + write/lifecycle tools
│       ├── creatives.ts          # Creative read tools, image crops utility, create/update creative
│       ├── media.ts              # Image list / upload / hash lookup / video / preview
│       ├── activities.ts         # Activity log tools
│       ├── pagination.ts         # Pagination utility tool
│       ├── targeting.ts          # Interest/behavior/demographic/geo search + audience-size estimate
│       ├── pages.ts              # Facebook Pages list and name search
│       └── budget-schedules.ts   # Campaign budget schedule create
├── dist/                         # Compiled JavaScript output (generated)
├── package.json
└── tsconfig.json

Licencia

MIT © hashcott