PostNitro

El servidor MCP de PostNitro permite a los asistentes y agentes de IA crear carruseles y publicaciones de imágenes, gestionar kits de marca y cuentas sociales conectadas, y programar publicaciones directamente.

Documentación

Servidor MCP de PostNitro

El servidor MCP de PostNitro permite que asistentes y agentes de IA — Claude (Desktop, Code y Cowork), Cursor, ChatGPT y cualquier otro cliente de Model Context Protocol — creen carruseles, publicaciones de imagen y videos, gestionen kits de marca, pistas de audio y cuentas sociales conectadas, y programen publicaciones directamente. En lugar de escribir llamadas a la API REST, conectas el servidor una vez y tu asistente de IA obtiene herramientas listas para usar que cubren la generación de carruseles, imágenes y videos, marcas, audio, cuentas sociales y programación — usando la misma clave y créditos de la Embed API que la API REST.

Referencia rápida

URL del servidorhttps://mcp.postnitro.ai/mcp
TransporteHTTP transmisible
AutenticaciónCabecera Authorization: Bearer <your-api-key> (las claves comienzan con pn-)
Clave APIMisma clave que la Embed API — cómo obtener una
Verificación de estadoGET https://mcp.postnitro.ai/health
PreciosUsa tus créditos de Embed API — el plan gratuito incluye 5 créditos/mes, sin necesidad de tarjeta

Conexión

Claude Code

claude mcp add --transport http postnitro https://mcp.postnitro.ai/mcp \
  --header "Authorization: Bearer pn-your-api-key-here"

Claude Desktop / configuración JSON

Añade el servidor a tu archivo de configuración MCP (para Claude Desktop: claude_desktop_config.json):

{
  "mcpServers": {
    "postnitro": {
      "type": "http",
      "url": "https://mcp.postnitro.ai/mcp",
      "headers": {
        "Authorization": "Bearer pn-your-api-key-here"
      }
    }
  }
}

Cursor

Cursor tiene soporte nativo para MCP — añade la misma configuración JSON anterior a la configuración MCP de Cursor.

Otros clientes MCP

Cualquier cliente que admita el transporte HTTP transmisible puede conectarse usando la URL del servidor y la cabecera Authorization: Bearer mostrada arriba.

Reemplaza pn-your-api-key-here con tu clave API real. La clave es la misma que se usa para la Embed API — consulta Obtención de una clave API.

Valores predeterminados guardados

En lugar de pasar templateId, brandId y presetId en cada llamada, guárdalos una vez con postnitro_set_defaults. Persisten entre sesiones y se aplican automáticamente cuando una herramienta de generación/importación los omite.

Selección automática: si falta un ID requerido y tu espacio de trabajo tiene exactamente un candidato (por ejemplo, un único ajuste preestablecido de IA), el servidor lo selecciona automáticamente. Si existen varios, el error lista los IDs candidatos para que el asistente pueda elegir sin una búsqueda adicional.

Identificadores de carrusel — embedPostId vs designId

La generación produce dos IDs distintos:

IdentificadorRepresentaUsado por
embedPostIdEl trabajo de generaciónpostnitro_check_status, postnitro_get_output
designIdEl artefacto de diseño duraderoProgramación (campo designId)

El designId de programación se resuelve contra la tabla de diseños — pasar un embedPostId donde se espera un designId falla con 400 "Design not found.". Toda herramienta que devuelve un carrusel completado (postnitro_get_output, postnitro_generate_and_wait, postnitro_import_and_wait) muestra un campo designId de nivel superior para conectar la generación con la programación. La herramienta de un solo paso postnitro_generate_and_schedule lo resuelve automáticamente.

Herramientas disponibles

Configuración

HerramientaDescripción
postnitro_set_defaultsGuarda plantilla, marca, ajuste preestablecido de IA y formato de salida predeterminados para no repetirlos en cada llamada
postnitro_get_defaultsRecupera tus valores predeterminados guardados

Descubrimiento

HerramientaDescripción
postnitro_list_templatesExplora tus plantillas de diseño con IDs, dimensiones y relaciones de aspecto
postnitro_list_brandsLista tus configuraciones de marca
postnitro_list_ai_presetsLista tus ajustes preestablecidos de IA (plataforma, tono, audiencia, idioma, número de diapositivas)
postnitro_get_import_templateObtén la estructura exacta de diapositivas y las reglas para importar contenido

Creación — carruseles

Los carruseles son publicaciones de múltiples diapositivas (postType: "CAROUSEL").

HerramientaDescripción
postnitro_generate_carouselGenera un carrusel con IA a partir de un tema/texto, URL de artículo o URL de publicación X (Twitter)
postnitro_import_carouselCrea un carrusel a partir de tu propio contenido de diapositivas (matriz de diapositivas tipadas)
postnitro_generate_and_waitGenera un carrusel con IA, consulta hasta completar y devuelve la salida en una sola llamada
postnitro_import_and_waitImporta un carrusel, consulta hasta completar y devuelve la salida en una sola llamada

Creación — publicaciones de imagen

Las publicaciones de imagen son publicaciones de una sola diapositiva (postType: "IMAGE") — los equivalentes de creación de imágenes de las herramientas de carrusel.

HerramientaDescripción
postnitro_generate_imageGenera con IA una publicación de una sola imagen a partir de un tema/texto, URL de artículo o URL de publicación X (Twitter)
postnitro_import_imageCrea una publicación de una sola imagen a partir de tu propio contenido — pasa slide como un objeto (no una matriz), sin type de diapositiva. Se admite el diseño de infografía
postnitro_generate_image_and_waitGenera con IA una publicación de imagen, consulta hasta completar y devuelve la salida en una sola llamada
postnitro_import_image_and_waitImporta una publicación de imagen, consulta hasta completar y devuelve la salida en una sola llamada

Creación — publicaciones de video

Las publicaciones de video (postType: "VIDEO") convierten diapositivas en escenas. import toma la misma matriz de diapositivas que un carrusel; la entrada adicional es videoSettings.

HerramientaDescripción
postnitro_generate_videoGenera con IA un video a partir de un tema/texto, URL de artículo o URL de publicación X (Twitter) — cada diapositiva que escribe la IA se convierte en una escena
postnitro_import_videoCrea un video a partir de tus propias escenas (la misma matriz de diapositivas tipadas que toma un carrusel)
postnitro_generate_video_and_waitGenera con IA un video, consulta hasta completar y devuelve la salida en una sola llamada
postnitro_import_video_and_waitImporta un video, consulta hasta completar y devuelve la salida en una sola llamada

Las cuatro aceptan videoSettings y un responseType solo de video — consulta Publicaciones de video.

Audio

HerramientaDescripción
postnitro_list_audioLista las pistas de audio del espacio de trabajo — la fuente del audioId usado por publicaciones de video y reels
postnitro_delete_audioElimina permanentemente una pista de audio y su archivo almacenado (destructivo; se rechaza mientras una publicación programada la use)

La carga de audio ocurre en la aplicación PostNitro — estas herramientas solo listan y eliminan. Consulta la API de Audio.

Estado y salida

HerramientaDescripción
postnitro_check_statusVerifica el estado de generación (PENDING, PROCESSING, COMPLETED, FAILED) y los registros de procesamiento
postnitro_get_outputRecupera las URLs de imágenes PNG generadas, la URL del documento PDF o la URL del video MP4, además del designId para usar al programar

Marcas

HerramientaDescripción
postnitro_create_brandCrea un kit de marca (nombre, identificador, logotipo, indicadores de visualización)
postnitro_get_brandObtiene un kit de marca
postnitro_update_brandActualiza el nombre, identificador, imagen o indicadores de visualización de un kit de marca

Consulta la API de Marcas para las definiciones completas de campos.

Cuentas sociales

HerramientaDescripción
postnitro_list_social_accountsLista cuentas conectadas de LinkedIn, Instagram, TikTok, Threads y Facebook (Página) — devuelve los IDs usados en selectedAccounts al programar
postnitro_get_social_accountObtiene una cuenta con el uso de publicaciones programadas por estado y expiración de token
postnitro_disconnect_social_accountDesconecta una cuenta y la elimina de toda publicación programada a la que estaba adjunta (destructivo)

Consulta la API de Cuentas Sociales para las definiciones completas de campos.

Programación

HerramientaDescripción
postnitro_list_scheduled_postsLista publicaciones programadas y borradores en un rango de fechas, opcionalmente filtrados a cuentas específicas con socialAccountIds
postnitro_create_scheduled_postCrea una publicación programada o un borrador
postnitro_get_scheduled_postObtiene una publicación programada
postnitro_update_scheduled_postActualiza una publicación programada — esto reemplaza subtítulos y cuentas seleccionadas, así que envía el estado completo previsto
postnitro_delete_scheduled_postElimina una publicación programada o un borrador (destructivo)

postnitro_create_scheduled_post y postnitro_update_scheduled_post toman un designId (de postnitro_get_output, no un embedPostId), subtítulos postContent por plataforma, selectedAccounts y objetos de configuración por plataforma. Qué objeto de configuración se requiere depende de las plataformas seleccionadas y de si hay un designId adjunto — consulta Configuración de plataforma para la referencia completa.

Una convención que vale la pena conocer: cuando la salida de un diseño es PDF y la publicación se dirige a LinkedIn, el linkedinPostSettings.postType correcto es "document" (con un postTitle de 5 a 90 caracteres) en lugar de "carousel". postnitro_generate_and_schedule aplica esto automáticamente; las otras herramientas de programación transmiten tu elección tal cual.

Para Facebook, facebookPostSettings.postType "carousel" es una publicación de múltiples fotos (cada diapositiva en una publicación), mientras que "link_carousel" son tarjetas de enlace deslizables. Un carrusel de enlaces necesita un linkUrl (una URL http(s) absoluta) al programarse, de 2 a 10 diapositivas, y opcionalmente toma un callToAction, showEndCard, useSlideTitles y useSlideDescriptions. Facebook solo acepta imágenes de tarjetas de carrusel de enlaces para enlaces en un dominio que el negocio de la Página haya verificado, así que prefiere "carousel" para diseños que enlazan a otro lugar. Referencia completa de campos: Configuración de plataforma.

postnitro_list_scheduled_posts toma un array socialAccountIds opcional (IDs de postnitro_list_social_accounts) — útil para "qué está programado en mi LinkedIn la próxima semana". Filtra publicaciones, no las cuentas dentro de ellas: una publicación dirigida a LinkedIn e Instagram se devuelve cuando filtras por cualquiera de las dos, y su array accounts aún lista ambas. Los IDs desconocidos no coinciden con nada en lugar de dar error.

postSettings (la configuración de video de un reel) es opcional: cuando se omite, la API completa la duración y el audio desde la configuración con la que se generó el diseño adjunto, recurriendo a 30 segundos sin audio. Su forma es idéntica al videoSettings de una publicación de video, así que un video programado como reel conserva automáticamente su propia duración y audio.

El CRUD completo para programación también está disponible a través de la API de Programación si lo necesitas fuera de un asistente de IA.

Asistente combinado

HerramientaDescripción
postnitro_generate_and_scheduleGenera una publicación con IA (postType CAROUSEL, IMAGE o VIDEO), espera la finalización y prográmala — en una sola llamada
postnitro_import_and_scheduleImporta tu propio contenido (array slides para CAROUSEL / VIDEO, objeto slide para IMAGE), espera y prográmala — en una sola llamada

Ambas toman un postType y, para VIDEO, el objeto videoSettings. El diseño generado se adjunta automáticamente — no pases designId a menos que quieras adjuntar un diseño diferente preexistente en su lugar. Si la programación falla después de que la generación tenga éxito, la herramienta devuelve el designId generado para que puedas reintentar con postnitro_create_scheduled_post sin regenerar (lo que volvería a consumir créditos).

Carruseles vs. publicaciones de imagen vs. videos

Ambos tipos de publicación comparten el mismo ciclo de vida (iniciar → consultar → salida), los mismos identificadores y la misma forma de salida. Solo difieren en el contenido que pasas:

Carrusel (postnitro_*_carousel)Imagen (postnitro_*_image)Video (postnitro_*_video)
postTypeCAROUSELIMAGEVIDEO
Contenido propioslides — una matriz de diapositivas tipadas (exactamente un starting_slide, ≥1 body_slide, exactamente un ending_slide)slide — un objeto único, sin type de diapositivaslides — la misma matriz que un carrusel; cada diapositiva es una escena
Contenido IAaiGeneration — produce múltiples diapositivasaiGeneration — produce una imagenaiGeneration — produce las escenas
Diseño de infografíaPor diapositiva en la matrizEn el objeto de diapositiva únicoPor escena en la matriz
Tipos de respuestaPDF | PNG | DESIGNPDF | PNG | DESIGNMP4 | DESIGN solamente
Entrada adicional——videoSettings (duración + audio opcional)

Entradas de la herramienta de imagen

postnitro_generate_image / postnitro_generate_image_and_wait (contenido IA):

  • aiGeneration (obligatorio) — { type, context, instructions }. type es uno de text, article, x; context es el tema/indicación o una URL.
  • templateId, brandId, presetId, responseType, requestorId — todos opcionales si has guardado valores predeterminados; de lo contrario, proporciónalos. responseType es PDF | PNG | DESIGN.

postnitro_import_image / postnitro_import_image_and_wait (tu propio contenido):

  • slide (obligatorio) — un solo objeto, no un array, con ningún type de diapositiva. Solo heading es obligatorio; sub_heading, description, cta_button, image y background_image son opcionales.
  • Se admite el diseño de infografía: establece layoutType: "infographic" y proporciona layoutConfig (misma forma que las infografías de carrusel — columnData con id proporcionados por el llamador, elementos content, etc.).
  • templateId, brandId, responseType, requestorId — opcionales si has guardado valores predeterminados.

Publicaciones de video

Un video se renderiza a MP4, o a DESIGN para omitir el renderizado y terminarlo en el editor de video mediante editorUrl. PDF / PNG se rechazan para un video, y MP4 se rechaza para cualquier otro tipo de publicación. Las herramientas de video usan por defecto DESIGN; un valor predeterminado guardado de PDF / PNG se trata como DESIGN y se informa en warnings en lugar de fallar la llamada — y MP4 no se puede guardar con postnitro_set_defaults, ya que rompería las llamadas de carrusel e imagen.

videoSettings

CampoTipoObligatorioDescripción
videoDurationnúmero✅ cuando se envía el objetoDuración del video completo en segundos — al menos 5, menos de 60. No por escena
audioIdcadenanoPista de audio superpuesta al video. Un ID de medio, nunca una URL

videoSettings es obligatorio cuando responseType es MP4 (un renderizado necesita una duración) y opcional para DESIGN. Si se envía para cualquier otro tipo de publicación, se rechaza.

videoDuration y audioId son las únicas claves aceptadas, y el servidor rechaza cualquier otra directamente en lugar de descartarla — así que un campo mal nombrado (audio en lugar de audioId, por ejemplo) devuelve un error unrecognized_keys que nombra la clave infractora, en lugar de renderizar silenciosamente un video sin su banda sonora. La misma rigurosidad se aplica a postSettings y generateImages.

audioId proviene de postnitro_list_audio. Se verifica cuando se realiza la llamada: el medio debe existir, pertenecer a tu espacio de trabajo y ser un archivo de audio — una URL, un ID de imagen o un ID de otro espacio de trabajo se rechaza. Omítelo para un video silencioso.

Renderizar un video toma más tiempo que un carrusel — típicamente 15–45 segundos para las herramientas _and_wait con MP4, y más para diseños con animaciones o GIFs (que usan el renderizador mejorado). Consulta Publicaciones de video para la referencia a nivel REST.

Generación de imágenes con IA (generateImages)

Cada herramienta de creación — postnitro_generate_carousel, postnitro_import_carousel, postnitro_generate_image, postnitro_import_image, postnitro_generate_video, postnitro_import_video (y sus variantes _and_wait) — acepta un objeto generateImages opcional. Cuando está presente, el servidor genera imágenes con IA y las integra en el diseño antes de renderizar. Consulta la referencia REST para el comportamiento completo (mejor esfuerzo, créditos, límites del plan).

CampoTipoObligatorio (MCP/CLI)PredeterminadoValores permitidos
contextcadena✅ sí—Tema/breve que guía las indicaciones de imagen
imagePlacementcadenano"auto""auto", "background", "in-line"
imageStrategycadenano"strategic""strategic", "all"

La única diferencia entre MCP/CLI y la API REST directa: generateImages.context es obligatorio a través de MCP y la CLI, porque el agente de IA lo compone para el usuario. En llamadas directas a la API REST, el mismo campo es opcional (se recurre a aiGeneration.context al generar, o una cadena vacía al importar). Todo lo demás sobre generateImages es idéntico en ambos.

Omite el objeto generateImages por completo para omitir la generación de imágenes con IA (predeterminado). La generación de imágenes es de mejor esfuerzo y añade latencia — la publicación aún se completa sin imágenes si falla o no está permitida (p. ej., plan gratuito o por encima de la cuota de imágenes con IA de la organización), registrada como un paso GENERATE_IMAGES en postnitro_check_status.

Flujo de trabajo típico del agente

  1. Descubrir — llama a postnitro_list_templates, postnitro_list_brands y postnitro_list_ai_presets para encontrar IDs válidos (o postnitro_set_defaults una vez para omitir esto en sesiones futuras)
  2. Crear — para un carrusel llama a postnitro_generate_and_wait (IA) o postnitro_import_and_wait (tu propio contenido); para una imagen única, postnitro_generate_image_and_wait / postnitro_import_image_and_wait; para un video, postnitro_generate_video_and_wait / postnitro_import_video_and_wait (añade videoSettings, y postnitro_list_audio primero si el usuario quiere una banda sonora). Estas herramientas gestionan el sondeo por ti
  3. Usar la salida — las herramientas devuelven URLs PNG (una por diapositiva), una única URL PDF o una única URL MP4, además de un designId, listas para descargar, publicar o programar
  4. Programar (opcional) — llama a postnitro_create_scheduled_post con el designId, o ve directamente allí con postnitro_generate_and_schedule

Para generaciones de larga duración o sondeo personalizado, usa la herramienta sin espera (postnitro_generate_carousel / postnitro_import_carousel / postnitro_generate_image / postnitro_import_image / postnitro_generate_video / postnitro_import_video) seguida de postnitro_check_status y postnitro_get_output.

Convenciones de respuesta

  • Los resultados exitosos de las herramientas son JSON. Las herramientas de creación/actualización devuelven el objeto afectado más un scheduledPostId de nivel superior (para herramientas de programación) para que coincida con el scheduledPostId que otras herramientas esperan como entrada.
  • Las herramientas pueden incluir un array warnings — avisos no fatales, p. ej., una publicación de medio sin diseño adjunto, o una publicación de LinkedIn document sin un postTitle válido.
  • Los errores de la API se muestran textualmente como PostNitro API Error (<status>): <message>. Consulta la referencia de errores de la API de programación para mensajes específicos de programación.
  • Las claves desconocidas dentro de videoSettings, postSettings y generateImages se rechazan antes de enviar la solicitud (unrecognized_keys, nombrando el campo) en lugar de ignorarse silenciosamente — así que una opción mal escrita aparece como un error que puedes corregir, no como una publicación que usó silenciosamente los valores predeterminados.

Créditos

El servidor MCP consume los mismos créditos que la API Embed:

  • Importación de contenido: 1 crédito por diapositiva
  • Generación con IA: 2 créditos por diapositiva
  • Plan gratuito: 5 créditos al mes (sin tarjeta requerida) — los planes de pago comienzan en $10/mes por 250 créditos

MCP vs. API Embed vs. SDK Embed

Mejor para
Servidor MCPAsistentes de IA y agentes que crean y programan carruseles, imágenes y videos conversacionalmente (Claude, Cursor, agentes personalizados)
API EmbedAutomatización programática — Make.com, Zapier, n8n, trabajos cron, backends personalizados
SDK EmbedPermitir que tus usuarios creen y editen carruseles visualmente dentro de tu aplicación web

Soporte