Skip to main content
Glama
Happygallo

apple-ads-mcp

by Happygallo

Pregúntale a tu IA cosas como:

"¿Cómo rindieron mis campañas la semana pasada?" "Pausa la campaña de marca y aumenta el presupuesto de discovery a $500." "¿Qué términos de búsqueda están activando mis anuncios? Añade los mejores como palabras clave de coincidencia exacta."

Admite 54 herramientas, 3 recursos y 6 indicaciones: campañas, grupos de anuncios, palabras clave, creatividades, presupuestos, términos de búsqueda, segmentación geográfica, cuota de impresiones e informes de rendimiento.

Características de un vistazo

Característica

Descripción

Gestión de campañas

Crear, actualizar, pausar y eliminar campañas y grupos de anuncios

Optimización de palabras clave

Añadir/eliminar palabras clave de segmentación y negativas, actualizar pujas

Informes de rendimiento

Informes de campañas, grupos de anuncios, palabras clave, anuncios y geográficos con rangos de fechas predefinidos

Análisis de términos de búsqueda

Consulta las búsquedas reales que activan tus anuncios

Gestión de creatividades

Gestiona anuncios, creatividades y páginas de producto

Control de presupuesto

Crea y gestiona órdenes de presupuesto, analiza la utilización

Cuota de impresiones

Genera y recupera informes personalizados de cuota de impresiones

Soporte multi-organización

Cambia entre organizaciones en tiempo de ejecución


Inicio rápido

  1. Obtén tus credenciales de Apple (~10 min, una sola vez)

  2. Genera tu par de claves (2 comandos)

  3. Añádelo a tu cliente MCP

  4. Empieza a conversar


Related MCP server: google-ads-mcp

Configuración

Paso 1 — Invita a un usuario de la API

Lo hace el administrador de la cuenta en searchads.apple.com.

  1. Ve a ConfiguraciónGestión de usuariosInvitar usuario

  2. Introduce el correo electrónico de la persona que usará la API

  3. Establece el rol:

    • API Account Manager — acceso completo de lectura/escritura

    • API Account Read Only — acceso de solo lectura

  4. Envía la invitación

El usuario de la API debe ser un Apple ID diferente al del administrador. Si eres el administrador, usa un segundo Apple ID.

Paso 2 — Acepta y copia tus credenciales

Lo hace el usuario invitado.

  1. Acepta la invitación por correo e inicia sesión en searchads.apple.com

  2. Ve a Configuración → pestaña API

  3. Copia y guarda estos tres valores:

    • clientId — comienza con SEARCHADS.

    • teamId — comienza con SEARCHADS.

    • keyId — un UUID

Paso 3 — Genera tu par de claves

Abre la Terminal y ejecuta:

openssl ecparam -genkey -name prime256v1 -noout -out ~/apple-ads-key.pem && \
openssl pkcs8 -topk8 -nocrypt -in ~/apple-ads-key.pem -out ~/apple-ads-key-pkcs8.pem

Luego genera la clave pública:

openssl ec -in ~/apple-ads-key-pkcs8.pem -pubout -out ~/apple-ads-key-public.pem

Esto crea:

  • ~/apple-ads-key-pkcs8.pem — clave privada (guárdala en un lugar seguro, se usa en tu configuración)

  • ~/apple-ads-key-public.pem — clave pública (súbela a Apple a continuación)

Paso 4 — Sube la clave pública a Apple

Imprime tu clave pública:

cat ~/apple-ads-key-public.pem

Copia toda la salida (incluidas las líneas BEGIN / END), y luego:

  1. Ve a Configuración → pestaña API en searchads.apple.com

  2. Pégala en el campo Public Key

  3. Guarda

Paso 5 — Añádelo a tu cliente MCP

Elige tu cliente a continuación y completa tu clientId, teamId y keyId del Paso 2, y la ruta completa a tu clave privada del Paso 3.

¿Varias organizaciones? Omite ASA_ORG_ID y usa list_organizations / switch_organization en tiempo de ejecución. O establécelo en env para elegir una por defecto.


Clientes

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Reinicia Claude Desktop después de guardar.

claude mcp add apple-ads \
  -e ASA_CLIENT_ID=SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_TEAM_ID=SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_KEY_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_PRIVATE_KEY_PATH=/Users/yourname/apple-ads-key-pkcs8.pem \
  -- npx -y apple-ads-mcp

Añade a .cursor/mcp.json:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Añade a settings.json:

{
  "mcp": {
    "servers": {
      "apple-ads": {
        "command": "npx",
        "args": ["-y", "apple-ads-mcp"],
        "env": {
          "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
        }
      }
    }
  }
}

Añade a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Este servidor usa transporte STDIO. Cualquier cliente compatible con MCP puede conectarse ejecutando:

npx -y apple-ads-mcp

Establece estas variables de entorno:

Variable

Descripción

ASA_CLIENT_ID

Tu ID de cliente (comienza con SEARCHADS.)

ASA_TEAM_ID

Tu ID de equipo (comienza con SEARCHADS.)

ASA_KEY_ID

Tu ID de clave (UUID)

ASA_PRIVATE_KEY_PATH

Ruta absoluta a tu clave privada PKCS#8

ASA_ORG_ID

(opcional) ID de organización para usar por defecto

Reemplaza ASA_PRIVATE_KEY_PATH con ASA_PRIVATE_KEY y pega el contenido PEM con saltos de línea \n:

"ASA_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\nMIGH...your-key...\n-----END PRIVATE KEY-----"

Herramientas

Categoría

Cantidad

Qué puedes hacer

Organizaciones

3

Listar y cambiar entre organizaciones. Obtener detalles del usuario.

Campañas

6

Listar, crear, actualizar, eliminar campañas. Obtener informes de rendimiento.

Grupos de anuncios

6

Gestionar grupos de anuncios dentro de campañas. Obtener informes de grupos de anuncios.

Palabras clave

11

Añadir/eliminar palabras clave de segmentación y negativas. Actualizar pujas. Informes de palabras clave.

Términos de búsqueda

1

Ver las consultas reales que las personas buscaron antes de tocar tu anuncio.

Anuncios

7

Listar, crear, actualizar, eliminar anuncios. Obtener informes de anuncios y motivos de rechazo.

Creatividades

5

Gestionar creatividades y páginas de producto.

Órdenes de presupuesto

4

Crear, actualizar, listar y obtener detalles de órdenes de presupuesto.

Apps y geolocalización

5

Buscar apps elegibles, verificar elegibilidad, encontrar recursos, buscar geolocalizaciones.

Rendimiento geográfico

1

Desglose de rendimiento por país/región.

Cuota de impresiones

3

Crear, listar y recuperar informes personalizados de cuota de impresiones.

Optimización

2

Instantáneas de campañas y análisis de utilización de presupuesto.

Las 54 herramientas

Categoría

Herramientas

Organizaciones

list_organizations, switch_organization, get_me_details

Campañas

list_campaigns, get_campaign_details, create_campaign, update_campaign, delete_campaign, get_campaign_report

Grupos de anuncios

list_ad_groups, get_ad_group, create_ad_group, update_ad_group, delete_ad_group, get_adgroup_report

Palabras clave

get_keyword_report, list_targeting_keywords, get_targeting_keyword, add_targeting_keywords, update_targeting_keywords, delete_targeting_keywords, list_negative_keywords, get_negative_keyword, add_negative_keywords, update_negative_keywords, delete_negative_keywords

Términos de búsqueda

get_search_term_report

Anuncios

list_ads, get_ad, create_ad, update_ad, delete_ad, get_ad_report, find_ad_rejection_reasons

Creativos

list_creatives, get_creative, create_creative, list_product_pages, get_product_page_by_id

Órdenes de presupuesto

list_budget_orders, get_budget_order, create_budget_order, update_budget_order

Apps y Geo

search_apps, get_app_details, get_app_eligibility, find_app_assets, search_geolocations

Rendimiento geográfico

get_geo_performance

Cuota de impresiones

create_impression_share_report, get_impression_share_report_by_id, list_impression_share_reports

Optimización

get_campaign_snapshot, get_budget_analysis


Recursos

El servidor expone 3 recursos:

URI

Descripción

apple-ads://countries

Países y regiones compatibles con Apple Search Ads

apple-ads://device-sizes

Tamaños de dispositivos de vista previa de la app para activos creativos

apple-ads://metrics-glossary

Definiciones, fórmulas y puntos de referencia para todas las métricas de informes (CPA, CPT, TTR, etc.)


Indicadores

6 indicadores de flujo de trabajo integrados para guiar tareas comunes:

Indicador

Descripción

campaign_health_check

Análisis integral de campañas: revisa gastos, conversiones, tendencias de CPA y señala problemas

keyword_optimization

Flujo de trabajo de optimización de palabras clave y términos de búsqueda: detecta gasto desperdiciado y nuevas oportunidades

new_campaign_setup

Creación guiada de nuevas campañas: guía a través de la selección de la app, la estructura, las palabras clave y los presupuestos

budget_reallocation

Análisis de presupuesto entre campañas: identifica gasto excesivo/insuficiente y propone cambios de presupuesto

creative_review

Revisión A/B de creativos: compara el rendimiento de los anuncios, señala rechazos y recomienda ganadores

geo_expansion

Análisis de expansión geográfica: clasifica los mercados actuales e identifica nuevos mercados a los que entrar


"pkcs8 debe ser una cadena con formato PKCS#8" Tu clave está en el formato incorrecto. Vuelve a ejecutar el comando openssl pkcs8 del Paso 3.

"No se ha seleccionado ninguna organización" Usa list_organizations y luego switch_organization, o añade ASA_ORG_ID a tu configuración.

"La solicitud de token falló (401)" Verifica que tu clientId, teamId y keyId coincidan con la pestaña de API de Apple. Comprueba que has subido tu clave pública.

"No se pudo leer la clave privada" Usa una ruta absoluta (p. ej. /Users/yourname/...), no ~/....

El servidor se desconecta inmediatamente Falta una credencial obligatoria. Necesitas las cuatro: ASA_CLIENT_ID, ASA_TEAM_ID, ASA_KEY_ID y ASA_PRIVATE_KEY_PATH.

git clone https://github.com/javiergalloroca/AppleAdsMCP.git
cd AppleAdsMCP
npm install
npm run build
npm start

Para recarga en caliente: npm run dev

Consulta CONTRIBUTING.md para las pautas de contribución.

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.
    865
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for managing and analyzing Meta Ads (Facebook/Instagram) with over 80 natural-language tools for AI agents like Claude Desktop.
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Meta Ads providing 30 tools for account discovery, campaign management, targeting research, and insights. Designed with LLM-friendly outputs and productivity features like cloning and bulk operations.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for Appcircle mobile CI/CD platform.

  • Create App Store screenshots, icons, ASO copy, localization, and revisions via hosted MCP.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

View all MCP Connectors

Latest Blog Posts

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/Happygallo/apple-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server