Shipstar

Marketing automatizado de productos desde tus commits: genera, revisa, publica y envía por correo changelogs, publicaciones de blog y notas de versión a través de MCP (OAuth 2.1, alojado).

Documentación

Resumen de MCP

Utiliza el contenido publicado de Shipstar directamente desde agentes LLM a través del Protocolo de Contexto de Modelo

Shipstar expone su pipeline completo como herramientas de Model Context Protocol (MCP) para que los agentes LLM — claude.ai, Claude Code, Claude Desktop, Cursor, Windsurf, agentes personalizados y cualquier otra cosa que hable MCP — puedan generar contenido de marketing a partir de tus commits, revisar y modificar borradores, publicarlos y enviar correos de lanzamiento, así como leer tus changelogs, publicaciones de blog y artículos de base de conocimiento publicados.

Mismos servicios, mismas garantías que el panel de control — las herramientas llaman a los mismos códigos de revisión/publicación/entrega — presentados como herramientas tipadas que el modelo puede llamar directamente.

Endpoint

El servidor MCP está montado en el backend principal de Shipstar usando el transporte Streamable HTTP.

POST https://mcp.shipstar.ai/mcp

Autenticación

Dos formas de acceso:

OAuth 2.1 (recomendado — lo que usa claude.ai). Añade el endpoint como conector personalizado e inicia sesión; no se necesita manejo de tokens. Cada autorización está limitada a un proyecto, elegido en la pantalla de consentimiento. Flujo completo y detalles del protocolo: OAuth.

Token API estático (para scripts y CI). Cada token de API del panel de control funciona como token bearer en /mcp — los mismos tokens que protegen la API REST V1. Crea uno en Configuración → Tokens de API (/dashboard/console); el token está vinculado al proyecto en el que se creó.

Authorization: Bearer YOUR_API_TOKEN

Las solicitudes sin token, o con un token inválido o caducado, devuelven 401 Unauthorized con un desafío WWW-Authenticate que permite a los clientes con capacidad OAuth iniciar automáticamente.

Conexión desde claude.ai

Configuración → Conectores → Añadir conector personalizado → introduce https://mcp.shipstar.ai/mcpConectar → inicia sesión y elige un proyecto. Consulta OAuth para el paso a paso.

Conexión desde Claude Code

La vía más rápida es el plugin oficial, que incluye la conexión al servidor junto con habilidades guiadas (/shipstar:announce-release, /shipstar:write-blog-post y más):

/plugin marketplace add turbo-labs/shipstar-plugin
/plugin install shipstar@shipstar

O añade el servidor directamente:

claude mcp add --transport http shipstar https://mcp.shipstar.ai/mcp

En cualquier caso, Claude Code ejecuta el flujo OAuth en tu navegador en el primer uso. Para fijar un token estático en su lugar, añade --header "Authorization: Bearer YOUR_API_TOKEN" a la forma claude mcp add.

Conexión desde Claude Desktop

Añade el servidor a tu claude_desktop_config.json, incluyendo un token bearer como cabecera personalizada:

{
  "mcpServers": {
    "shipstar": {
      "type": "http",
      "url": "https://mcp.shipstar.ai/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Reinicia Claude Desktop y las herramientas de Shipstar estarán disponibles en cualquier chat.

Conexión desde Cursor / Windsurf

Ambos editores aceptan la misma configuración de servidor MCP. Añade una entrada con la URL anterior y las herramientas aparecerán en la barra lateral del agente.

Herramientas disponibles

Generación (iniciar contenido desde commits)

HerramientaDescripción
generate_changelogGenera un changelog público a partir de commits recientes
generate_blog_postGenera una publicación de blog (opcionalmente guiada por una idea)
generate_blog_post_ideasLluvia de ideas de ángulos para publicaciones de blog (síncrono)
generate_feature_pageGenera una página de aterrizaje de marketing para una característica
generate_kb_articlesGenera un conjunto de artículos de base de conocimiento
generate_release_notes_emailGenera un correo de notas de lanzamiento
generate_twitter_threadGenera un hilo de X (Twitter)
generate_linkedin_postGenera una publicación de LinkedIn

Las herramientas de generación (excepto generate_blog_post_ideas) devuelven un content_id pendiente y se ejecutan en segundo plano — consulta get_generation_status para su finalización.

Ciclo de vida (revisar, modificar, aprobar, publicar)

HerramientaDescripción
get_generation_statusConsulta el estado de un trabajo de generación
get_content_draftLee el borrador completo de un registro de contenido
update_contentModifica el texto y/o categoría de un borrador
approve_contentAprueba contenido para su publicación
publish_contentPublica contenido completado directamente

Proyecto y entrega

HerramientaDescripción
get_project_contextDescribe el proyecto de la conexión: repos, destinos, listas de correo
list_destinationsLista los destinos de entrega conectados
list_mailing_listsLista las listas de correo para correos de notas de lanzamiento
send_release_emailEnvía un correo de notas de lanzamiento a listas de correo

Lectura (obtener contenido publicado)

HerramientaDescripción
list_changelogsLista los changelogs publicados del proyecto, del más reciente al más antiguo
get_changelogObtiene un changelog individual por slug
list_blog_postsLista las publicaciones de blog publicadas del proyecto, del más reciente al más antiguo
get_blog_postObtiene una publicación de blog individual por slug
list_kb_article_setsLista los conjuntos de artículos de base de conocimiento publicados del proyecto
get_kb_article_setObtiene un conjunto de artículos de KB individual por slug

Casos de uso

Apunta un agente de soporte a `list_changelogs` / `get_changelog` para que pueda responder "¿qué hay de nuevo esta semana?" y cite la versión exacta que lanzó una característica — sin tener que copiar las notas de lanzamiento en una base de conocimiento. Permite que un agente de codificación (Cursor, Claude Code, Windsurf) extraiga tus últimos tutoriales de blog y artículos de KB bajo demanda. El agente basa sus respuestas en tu guía publicada en lugar de alucinar APIs. Al redactar páginas de aterrizaje, anuncios o campañas de correo, pide a Claude que obtenga changelogs recientes y publicaciones de blog para extraer detalles precisos del producto, citas y capturas de pantalla del material que ya has publicado. Pide a un agente que resuma los últimos N changelogs en una actualización semanal o mensual. La salida de la herramienta es estructurada, por lo que el modelo no tiene que raspar tu sitio web. Expone `list_kb_article_sets` / `get_kb_article_set` a un agente interno para que los empleados puedan preguntar "¿cómo hago X?" en Slack y obtengan respuestas basadas en tu KB publicado. Cualquier marco de agentes que hable MCP (LangGraph, Agent SDK, Mastra, personalizado) puede extraer contenido de Shipstar como fuente de datos de solo lectura sin necesidad de escribir un cliente REST a medida.

Cómo funciona internamente

Las herramientas MCP llaman directamente a la misma capa app.services.content que alimenta los endpoints REST V1. Eso significa:

  • Una única fuente de verdad. Cualquier corrección de errores o cambio de comportamiento en el servicio de contenido fluye automáticamente a ambos transportes.
  • Solo se devuelve contenido publicado. Los borradores, elementos pendientes y filas de tipo incorrecto se filtran en la capa de servicio.
  • Omitir datos inválidos con elegancia. Los endpoints de listas omiten filas cuyo JSON almacenado está malformado en lugar de fallar toda la llamada.

Si necesitas un control más fino (paginación, feeds RSS, filtrado personalizado) o estás creando una integración que no es de agente, usa la API REST V1 directamente.