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.
| Endpoint | https://useadstudio.com/api/mcp |
| Transporte | HTTP transmisible (MCP 2025-06-18) |
| Autenticación | OAuth 2.1 con PKCE, registro dinámico de clientes, rotación de tokens de actualización |
| Plataformas disponibles hoy | Google Ads, Meta Ads, TikTok Ads |
| Acceso | Solo 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_performanceyget_entitiesdevuelven como máximo 500 filas por llamada,get_creativescomo 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
- 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).
- 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:
| Plataforma | ChatGPT | Claude | Gemini | Cursor |
|---|---|---|---|---|
| Google Ads | Guía | Guía | Guía | Guía |
| Meta Ads (Facebook e Instagram) | Guía | Guía | Guía | Guía |
| TikTok Ads | Guía | Guía | Guía | Guía |
| ChatGPT Ads | Guía | Guía | Guía | Guía |
| DV360 | Guía | Guía | Guía | Guía |
| Pinterest Ads | Guía | Guía | Guía | Guía |
| Shopify | Guía | Guía | Guía | Guí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ósito | URL |
|---|---|
| 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ón | https://useadstudio.com/api/mcp/oauth/authorize |
| Token | https://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.
| Argumento | Obligatorio | Notas |
|---|---|---|
workspaceId, platform, accountId | sí | De list_accounts |
query_performance
Filas de rendimiento atribuido para un rango de fechas.
| Argumento | Obligatorio | Notas |
|---|---|---|
workspaceId, platform, accountId | sí | |
level | sí | account, campaign, ad_group (Google, TikTok), ad_set (Meta), ad |
start, end | sí | YYYY-MM-DD, en la zona horaria de informes de la cuenta |
metrics | sí | 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. |
comparison | no | { "start", "end" } para un segundo período; las filas vuelven con comparisonMetrics |
breakdowns | no | Como 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 |
filters | no | [{ "field": "entity_id", "value": "<id>" }]; no permitido a nivel de cuenta |
sort | no | { "field", "direction" } |
limit | no | 1–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.
| Argumento | Obligatorio | Notas |
|---|---|---|
workspaceId, platform, accountId | sí | |
level | sí | campaign, ad_group, ad_set, ad |
parentId | no | ID del padre inmediato, p. ej., un ID de campaña al listar conjuntos de anuncios o grupos de anuncios |
limit | no | 1–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.
| Argumento | Obligatorio | Notas |
|---|---|---|
workspaceId, platform, accountId | sí | |
scopeLevel | sí | account, campaign, ad_group, ad_set, ad |
entityId | en ámbito distinto al de cuenta | El ID de campaña, grupo de anuncios, conjunto de anuncios o anuncio |
limit | no | 1–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.