Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade OTTO Sponsored Product Ads con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Sponsored Product Ads de OTTO Market: campañas, SKU anunciados (targets), palabras clave y pujas, además de los informes SPA (KPI por campaña y producto, informes CSV) para anunciantes en otto.de. OAuth 2.0 client credentials con el scope de publicidad.
Prueba a pedir
Prompts de ejemplo para OTTO Sponsored Product Ads
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → OTTO Sponsored Product Ads, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
OTTO Sponsored Product Ads
Sponsored Product Ads de OTTO Market: campañas, SKU anunciados (targets), palabras clave y pujas, además de los informes SPA (KPI por campaña y producto, informes CSV) para anunciantes en otto.de. OAuth 2.0 client credentials con el scope de publicidad.
Configuración
La configuración lleva unos 5 minutos. Necesitas una cuenta de partner de OTTO Market que contrate Sponsored Product Ads y una app en OTTO Partner Connect. No hay inicio de sesión de usuario: el conector usa client credentials.
- En OTTO Partner Connect, crea una app para tu propia cuenta (o abre la que ya usas para la Partner API) y activa las interfaces de Sponsored Product Ads.
- Copia el client id y el client secret de la app. El secret solo se muestra una vez, al crearlo; si ya no lo tienes, renuévalo en OTTO Partner Connect.
- Pega el client id en
OTTO_ADS_CLIENT_IDy el secret enOTTO_ADS_CLIENT_SECRET. AnythingMCP ejecuta el flujo client credentials de OTTO con el scopeadvertising-services; un token dura 30 minutos y se vuelve a pedir cuando caduca. - Instala el conector y ejecuta
otto_ads_list_campaigns: lista tus campañas con estado, tipo y presupuesto.
Separado del conector OTTO Market: Sponsored Product Ads usa su propio scope OAuth. Pedidos, productos, stock y devoluciones siguen en el conector OTTO Market, y mantener la publicidad aparte significa que una app sin la interfaz de publicidad sigue funcionando allí.
Qué lee: campañas con estado, tipo (AUTOMATIC o MANUAL), presupuesto, tipo de presupuesto, pacing y fechas; los SKU anunciados (targets) con sus pujas; las palabras clave de cada target con tipo de concordancia, positivas o negativas, y puja; KPI por campaña y por SKU (visualizaciones, clics, costes, ventas atribuidas, SKU pedidos, tasa de clics, coste por clic y retorno de la inversión publicitaria); e informes CSV por campaña, por palabra clave (con el término que el comprador escribió de verdad) y por producto.
Los importes van en céntimos de euro: presupuestos, pujas y costes llegan como {"amount": 160, "currency": "EUR"}, es decir, 1,60 euros. El importe mínimo de puja y presupuesto es 20 (0,20 euros). Las columnas de informe TOTAL_COSTS y TOTAL_SALES también son céntimos.
Las pujas están en dos sitios: las campañas AUTOMATIC pujan por target (SKU) y las MANUAL por palabra clave positiva. Las palabras clave negativas (sin puja) funcionan en ambas y pertenecen a un solo target: para excluir un término de búsqueda de toda la campaña, la IA lo añade a cada target.
Informes: los KPI cubren como máximo los últimos 90 días y nunca hoy; sin fechas, OTTO usa los últimos 7 días. OTTO atribuye ventas hasta 14 días después del clic, también de otros artículos de la misma marca, así que los últimos días todavía cambian. Para un informe CSV, la IA lo solicita, consulta otto_ads_get_report_status hasta que esté READY y lo descarga con otto_ads_download_report. Un archivo se guarda 24 horas. Solicitar un informe no cambia ninguna campaña.
Pregunta antes de cada cambio: otto_ads_create_campaign, otto_ads_update_campaign, otto_ads_add_targets, otto_ads_update_target_bids, otto_ads_add_keywords y otto_ads_update_keywords cambian tu publicidad activa y gastan dinero. La IA te muestra la campaña, el target o la palabra clave y el importe en euros, lo confirma contigo y espera tu sí. Las escrituras son asíncronas: OTTO responde con una solicitud de cambio, y la IA la sigue con otto_ads_get_change_request hasta que esté ACCEPTED o REJECTED (con el motivo).
Desactivada al instalar: otto_ads_delete_keywords. Borra de 1 a 50 palabras clave de un target y no se puede deshacer; bajar una puja suele ser mejor opción. Un administrador puede activarla a propósito.
Límites: OTTO permite como máximo 200 informes cada 24 horas entre todos los tipos de informe, aunque un informe no cambie nada. Por campaña solo puede haber una solicitud de cambio pendiente a la vez. Las listas llegan en páginas de hasta 1000 entradas, que la IA recorre con nextCursor. Al consultar una solicitud de cambio espera cada vez un poco más (1, 2, 4 segundos) para evitar el 429.
Errores frecuentes: si se rechaza el token, el client id o el secret son incorrectos o la app no tiene activada la interfaz de Sponsored Product Ads: revisa la app en OTTO Partner Connect. 409 significa que otro cambio en la misma campaña sigue pendiente. Un rechazo como "Invalid status transition PAUSED to PAUSED" significa que la campaña ya tiene ese estado. 404 "Data not found" en los KPI significa que la campaña no tuvo impresiones en el periodo; en una descarga, 404 significa que el informe aún no está listo y 410 que ha caducado.
El conector no lee pedidos, productos, stock ni devoluciones (para eso está el conector OTTO Market), no muestra datos de hoy ni de hace más de 90 días y no borra campañas ni targets.
Requisitos previos: OTTO_ADS_CLIENT_ID, OTTO_ADS_CLIENT_SECRET
Instalar el conector localmente
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Abre http://localhost:3000/connectors/store, elige OTTO Sponsored Product Ads e introduce las variables listadas en los Requisitos previos.
Herramientas disponibles
| Tool | What it does |
|---|---|
otto_ads_list_campaigns | List Sponsored Product Ads campaigns: campaignId, name, status (PENDING, WAITING, ACTIVE, PAUSED, ENDED, CANCELED), campaignType (AUTOMATIC… |
otto_ads_get_campaign | Read one campaign: status, type, budget (euro cents), budgetType, pacing and dates |
otto_ads_list_targets | List the targets (advertised SKUs) of a campaign with targetId, sku and bid |
otto_ads_get_target | Read one target (advertised SKU) of a campaign with its bid |
otto_ads_list_keywords | List the keywords of one target: keywordId, keyword, matchType (EXACT, PHRASE, BROAD), keywordType (POSITIVE or NEGATIVE) and bid (euro… |
otto_ads_get_change_request | Status of an asynchronous write: PENDING, ACCEPTED or REJECTED |
otto_ads_get_campaign_kpis | KPIs of one campaign for a date range: views, clicks, costs, attributed sales, ordered SKUs, click-through rate, cost per click and return… |
otto_ads_get_product_kpis | KPIs of one SKU inside one campaign for a date range, the same metrics as the campaign KPIs plus totalSalesSeller (attributed sales of… |
otto_ads_request_campaign_report | Start a CSV campaign report across campaigns and days |
otto_ads_request_keyword_report | Start a CSV keyword report: performance per keyword and per actual search term, the basis for new negative keywords and bid changes |
otto_ads_request_product_report | Start a CSV product report: performance per advertised SKU |
otto_ads_get_report_status | Status of a requested report: IN_PROGRESS, READY or FAILED (request a new one after FAILED). report_type must match the tool that requested… |
otto_ads_download_report | Download a READY report as CSV text. 404 means it is not ready yet, 410 that it expired (files are kept 24 hours) |
otto_ads_create_campaign | Create a campaign |
otto_ads_update_campaign | Change a campaign: status (ACTIVE, PAUSED, WAITING), budget (euro cents), pacing, name, start or end date |
otto_ads_add_targets | Add SKUs to a campaign |
otto_ads_update_target_bids | Change target bids in an AUTOMATIC campaign |
otto_ads_add_keywords | Add keywords to one target |
otto_ads_update_keywords | Change the bid (euro cents) or matchType of existing keywords of one target |
otto_ads_delete_keywords | Delete 1 to 50 keywords of one target by keywordId |
Ejemplos de prompts
- "¿Cuál de mis campañas de OTTO tuvo el mejor retorno de la inversión publicitaria en los últimos 30 días, y cuánto costó cada una en euros?"
- "Pausa la campaña Muebles de jardín verano. Revisa antes su estado actual y avísame cuando OTTO haya aceptado el cambio."
- "Sube a 0,80 euros la puja del SKU BL-4711 en mi campaña automática Ropa de cama. Enséñame la puja antigua y la nueva antes de cambiarla."
- "Pide un informe de palabras clave de los últimos 30 días y lista los términos de búsqueda que costaron dinero pero no vendieron nada, como candidatos a palabras clave negativas."
- "Crea una campaña automática Chaquetas de invierno con un presupuesto diario de 25 euros repartido de forma uniforme, desde el próximo lunes, y añade los SKU JK-100 y JK-200 con una puja de 0,50 euros cada uno."
Siguientes pasos
¿Te ha sido útil esta guía?