Adstudio

Conecta tus cuentas de Google Ads, Meta Ads y TikTok Ads a cualquier asistente de IA. Consulta el rendimiento, explora campañas, grupos de anuncios y anuncios, y revisa los creativos, solo lectura mediante OAuth.

Servidor MCP alojado

npx add-mcp 'https://useadstudio.com/api/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Servidor MCP de Adstudio

Conecta ChatGPT, Claude, Muse o cualquier cliente MCP a tus cuentas publicitarias a través del servidor MCP de solo lectura de Adstudio.

Adstudio MCP es un servidor alojado de Model Context Protocol. Permite que un asistente de IA que ya uses lea los datos publicitarios conectados a tus espacios de trabajo de Adstudio y responda preguntas como "¿por qué subió el CPA la semana pasada?" con números reales de tus cuentas.

Endpointhttps://useadstudio.com/api/mcp
TransporteHTTP transmisible (MCP 2025-06-18)
AutenticaciónOAuth 2.1 con PKCE, registro dinámico de clientes, rotación de tokens de actualización
Plataformas disponibles hoyGoogle Ads, Meta Ads, TikTok Ads
AccesoSolo lectura. Ninguna herramienta puede cambiar nada en una cuenta publicitaria.

Cómo funciona

Las cuentas de Google Ads, Meta Ads y TikTok Ads se conectan una sola vez, en **Configuración → Integraciones**, exactamente igual que para el resto del producto. El servidor MCP nunca solicita credenciales de plataforma por sí mismo. En **Configuración → MCP** creas una conexión personal. Esta llega a todos los espacios de trabajo a los que perteneces, incluidos aquellos a los que te unas más tarde, y muestra un interruptor de **Lectura** y **Escritura** por plataforma para cada espacio de trabajo. Solo lo que habilitas es accesible; la escritura aún no está expuesta por ninguna herramienta, el interruptor solo registra la intención para futuras versiones. Añade `https://useadstudio.com/api/mcp` en ChatGPT, Claude, Muse o cualquier cliente MCP. El cliente descubre el servidor de autorización de Adstudio, inicias sesión en Adstudio en el navegador y apruebas la conexión. Consulta [Conectar un cliente](#connect-a-client). El asistente primero lista tus cuentas, luego nombra un espacio de trabajo, plataforma y cuenta explícitos en cada llamada. Nada se infiere ni se establece por defecto. Consulta [Herramientas](#tools) para ver qué puede recuperar.

Qué puede hacer el asistente

  • Descubrir el alcance: los espacios de trabajo a los que perteneces, las plataformas conectadas en cada uno, la cuenta publicitaria seleccionada y si la lectura está permitida allí.
  • Consultar el rendimiento: gasto, impresiones, clics, conversiones, valor de conversión, cuota de impresiones, alcance, frecuencia, CPM, CTR, CPC y métricas de video a nivel de cuenta, campaña, grupo de anuncios, conjunto de anuncios o anuncio, con un período de comparación y una segmentación (fecha, dispositivo, ubicación, plataforma del editor, posición, edad, género).
  • Explorar la estructura: campañas, grupos de anuncios, conjuntos de anuncios y anuncios con estado y tipo, sin métricas.
  • Revisar creatividades: titulares, texto del cuerpo, descripciones, medios, URL de destino y funciones de automatización para cualquier alcance.

Cada respuesta incluye procedencia (fuente, hora de recuperación, moneda, período, zona horaria, modelo de atribución) y una lista de no resueltos que nombra cualquier cosa que no se pudo recuperar y el motivo. El asistente nunca tiene que adivinar.

Permisos y seguridad

  • Una conexión pertenece a una persona, no a un espacio de trabajo, y nunca puede exceder el rol de esa persona. Los miembros leen; los administradores pueden además otorgar interruptores de escritura.
  • El alcance se relee en cada solicitud. Retirar un permiso en Configuración → MCP tiene efecto en la siguiente llamada, no al expirar el token.
  • Revocar en Configuración → MCP corta el acceso de todos los clientes de inmediato.
  • El texto escrito fuera de Adstudio (nombres de cuentas, nombres de campañas, texto de anuncios, términos de búsqueda) se devuelve marcado como contenido no confiable, para que un cliente pueda tratarlo como datos en lugar de instrucciones.
  • Adstudio solo divulga los datos que solicitas, al cliente que autorizaste, y nunca envía credenciales OAuth de la plataforma al cliente. Consulta la política de privacidad.

Límites

  • Solo Google Ads, Meta Ads y TikTok Ads. Las solicitudes para cualquier otra plataforma se rechazan con un motivo explícito; se añaden plataformas adicionales a medida que se verifican.
  • Una cuenta publicitaria seleccionada por plataforma y espacio de trabajo, la seleccionada en Adstudio.
  • query_performance y get_entities devuelven como máximo 500 filas por llamada, get_creatives como máximo 100. Las respuestas indican cuándo se truncaron y cómo ampliar la consulta.
  • Los límites de velocidad se aplican por espacio de trabajo y en el endpoint de registro. El uso interactivo no los alcanza.

Conectar un cliente

Antes de comenzar

  1. Al menos una cuenta de Google Ads, Meta Ads o TikTok Ads está conectada en un espacio de trabajo de Adstudio al que perteneces (Configuración → Integraciones).
  2. Creaste tu conexión en Configuración → MCP y habilitaste Lectura para esa plataforma en ese espacio de trabajo. La autorización se rechaza hasta que exista una conexión, para que ningún cliente pueda elegir silenciosamente tus permisos por ti.

La dirección es siempre la misma y no contiene ningún secreto:

https://useadstudio.com/api/mcp

ChatGPT

En ChatGPT abre **Configuración → Apps y conectores** (o **Plugins**) y busca **Adstudio**. Si lo añades como conector personalizado en modo desarrollador, pega el endpoint anterior. ChatGPT abre la página de inicio de sesión de Adstudio. Inicia sesión con tu cuenta de Adstudio y aprueba la conexión. Comienza con *"Lista mis cuentas publicitarias en Adstudio"*, luego pregunta sobre el rendimiento, la estructura o las creatividades de la cuenta que nombres.

Claude

En Claude abre **Configuración → Conectores → Añadir conector personalizado**, nómbralo Adstudio y pega el endpoint anterior. Claude descubre automáticamente el servidor de autorización de Adstudio, se registra y abre la página de inicio de sesión. Aprueba la conexión. Activa el conector de Adstudio en el menú de herramientas de una conversación y pregunta.

Muse y otros clientes MCP

Cualquier cliente que admita servidores MCP remotos sobre HTTP transmisible con OAuth 2.1 funciona de la misma manera: añade el endpoint, completa el inicio de sesión en el navegador, pregunta. Los clientes que solo admiten servidores stdio necesitan un puente como mcp-remote:

{
  "mcpServers": {
    "adstudio": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://useadstudio.com/api/mcp"]
    }
  }
}

Conectar una plataforma específica

Páginas paso a paso para cada par de plataforma publicitaria y cliente de IA:

PlataformaChatGPTClaudeGeminiCursor
Google AdsGuíaGuíaGuíaGuía
Meta Ads (Facebook e Instagram)GuíaGuíaGuíaGuía
TikTok AdsGuíaGuíaGuíaGuía
ChatGPT AdsGuíaGuíaGuíaGuía
DV360GuíaGuíaGuíaGuía
Pinterest AdsGuíaGuíaGuíaGuía
ShopifyGuíaGuíaGuíaGuía

Endpoints de descubrimiento

Los clientes MCP los encuentran por sí mismos; se enumeran para los operadores que necesiten incluirlos en listas blancas o depurarlos.

PropósitoURL
Metadatos del recurso protegido (RFC 9728)https://useadstudio.com/.well-known/oauth-protected-resource/api/mcp
Metadatos del servidor de autorización (RFC 8414)https://useadstudio.com/.well-known/oauth-authorization-server
Autorizaciónhttps://useadstudio.com/api/mcp/oauth/authorize
Tokenhttps://useadstudio.com/api/mcp/oauth/token
Registro dinámico de clientes (RFC 7591)https://useadstudio.com/api/mcp/oauth/register

Las URI de redirección deben ser URL https:// exactas o un host de bucle local. Los tokens de acceso son de corta duración; los tokens de actualización rotan en cada uso.

Solución de problemas

Los documentos de metadatos anteriores deben responder sin sesión. Si tu red utiliza proxy para `useadstudio.com`, asegúrate de que `/.well-known/*` y `/api/mcp/*` sean accesibles sin autenticación. Aún no has creado una conexión. Abre **Configuración → MCP** en Adstudio, crea una, habilita Lectura para las plataformas que necesites y vuelve a intentar con el cliente. La lectura está desactivada para esa plataforma en ese espacio de trabajo, o tu rol no lo permite. La respuesta indica cuál es el caso. Habilítala en Configuración → MCP. La API de la plataforma no pudo responder. Verifica la integración en **Configuración → Integraciones** (los tokens caducados muestran un banner de reconexión) y vuelve a intentarlo. **Configuración → MCP → Revocar**. Cada cliente pierde el acceso en su siguiente solicitud. Crea una nueva conexión para reconectarte.

¿Sigue atascado? Usa la página de soporte. Nunca pegues tokens ni el valor del desafío en una solicitud de soporte.

Herramientas

Las cinco herramientas son de solo lectura. Cada herramienta excepto list_accounts requiere un workspaceId, platform explícito (google_ads, meta_ads o tiktok_ads) y accountId; el servidor nunca los establece por defecto. Cada respuesta tiene el mismo sobre:

{
  "data": { "status": "ok", "...": "..." },
  "provenance": { "source": "platform_api", "retrievedAt": "...", "currency": "TRY", "period": { "start": "...", "end": "...", "timezone": "Europe/Istanbul" }, "attribution": "..." },
  "unresolved": [ { "subject": "...", "kind": "could_not_look", "reason": "...", "remedy": "..." } ]
}

Los valores escritos fuera de Adstudio (nombres de cuentas y campañas, texto de anuncios, términos de búsqueda) se envuelven como { "untrusted": true, "value": "..." }.

list_accounts

Lista cada espacio de trabajo al que llega la conexión, las plataformas conectadas en cada uno, la cuenta seleccionada por plataforma y si la lectura y la escritura están permitidas allí, con el motivo cuando se deniega. No toma argumentos y no realiza ninguna llamada a la API de la plataforma. Siempre es la primera llamada.

describe_capabilities

Para una cuenta, devuelve los niveles, métricas, segmentaciones, filtros y límites que query_performance acepta allí, y lo que get_entities y get_creatives pueden devolver. Llámala antes de la primera consulta contra una cuenta.

ArgumentoObligatorioNotas
workspaceId, platform, accountIdsíDe list_accounts

query_performance

Filas de rendimiento atribuido para un rango de fechas.

ArgumentoObligatorioNotas
workspaceId, platform, accountIdsí
levelsíaccount, campaign, ad_group (Google, TikTok), ad_set (Meta), ad
start, endsíYYYY-MM-DD, en la zona horaria de informes de la cuenta
metricssíAl menos una. Google: impressions, clicks, spend, conversions, conversion_value, más search_impression_share, search_budget_lost_impression_share, search_rank_lost_impression_share a nivel de campaña. Meta añade reach, frequency, cpm, ctr, cpc, video_plays, video_thruplays, video_p25 … video_p100. TikTok expone el mismo conjunto que Meta; conversions es el evento de optimización de TikTok conversion, conversion_value es el valor de compra web y video_thruplays son vistas de 6 segundos.
comparisonno{ "start", "end" } para un segundo período; las filas vuelven con comparisonMetrics
breakdownsnoComo máximo una: date, device, placement, publisher_platform, platform_position, age, gender. TikTok: date, age, gender, placement, device (iOS / Android / PC); conversion_value no está disponible con las últimas cuatro
filtersno[{ "field": "entity_id", "value": "<id>" }]; no permitido a nivel de cuenta
sortno{ "field", "direction" }
limitno1–500

Google Ads devuelve solo recuentos brutos; deriva CTR, CPC, CPA y ROAS a partir de ellos. Meta informa conversiones con las ventanas de atribución predeterminadas de la cuenta y nombra la definición de conversión en la respuesta.

get_entities

La jerarquía actual para un nivel, sin métricas: id, nombre, estado y tipo de proveedor, más el padre cuando se proporciona parentId.

ArgumentoObligatorioNotas
workspaceId, platform, accountIdsí
levelsícampaign, ad_group, ad_set, ad
parentIdnoID del padre inmediato, p. ej., un ID de campaña al listar conjuntos de anuncios o grupos de anuncios
limitno1–500

get_creatives

Asignaciones de anuncio a creativo con texto normalizado (titulares, cuerpos, descripciones, rutas, nombres de negocio, llamadas a la acción), medios, URL de destino y funciones de automatización habilitadas. Sin métricas; combina con query_performance a nivel de ad para clasificar creativos.

ArgumentoObligatorioNotas
workspaceId, platform, accountIdsí
scopeLevelsíaccount, campaign, ad_group, ad_set, ad
entityIden ámbito distinto al de cuentaEl ID de campaña, grupo de anuncios, conjunto de anuncios o anuncio
limitno1–100

Ejemplos de consultas

  • "¿Cómo rindieron mis campañas de Google Ads la semana pasada en comparación con la semana anterior?"
  • "Dame un resumen mensual de mi cuenta de Meta Ads con gasto, conversiones, CPA y ROAS frente al mes anterior."
  • "¿Por qué subió el CPA de mi campaña de Brand Search en los últimos 14 días?"
  • "¿Qué anuncios de mi cuenta de Meta Ads muestran signos de fatiga creativa en este momento?"
  • "Clasifica los anuncios de mi campaña de Summer Sale por ROAS y muéstrame qué dicen los tres primeros."
  • "Desglosa mi gasto de Meta Ads por ubicación durante los últimos 30 días."

Lo que las herramientas no harán

  • Cambiar presupuestos, estados, pujas, segmentación o creativos. Las solicitudes para hacerlo se responden con el límite de solo lectura.
  • Consultar OpenAI Ads, DV360, Adjust, GA4 o Search Console a través de MCP por ahora, aunque estén conectados en Adstudio.
  • Adivinar un espacio de trabajo, cuenta, moneda o zona horaria.

Esta documentación está creada y alojada en Mintlify, una plataforma de documentación para desarrolladores.