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/mcp → Conectar → 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)
| Herramienta | Descripción |
|---|---|
generate_changelog | Genera un changelog público a partir de commits recientes |
generate_blog_post | Genera una publicación de blog (opcionalmente guiada por una idea) |
generate_blog_post_ideas | Lluvia de ideas de ángulos para publicaciones de blog (síncrono) |
generate_feature_page | Genera una página de aterrizaje de marketing para una característica |
generate_kb_articles | Genera un conjunto de artículos de base de conocimiento |
generate_release_notes_email | Genera un correo de notas de lanzamiento |
generate_twitter_thread | Genera un hilo de X (Twitter) |
generate_linkedin_post | Genera 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)
| Herramienta | Descripción |
|---|---|
get_generation_status | Consulta el estado de un trabajo de generación |
get_content_draft | Lee el borrador completo de un registro de contenido |
update_content | Modifica el texto y/o categoría de un borrador |
approve_content | Aprueba contenido para su publicación |
publish_content | Publica contenido completado directamente |
Proyecto y entrega
| Herramienta | Descripción |
|---|---|
get_project_context | Describe el proyecto de la conexión: repos, destinos, listas de correo |
list_destinations | Lista los destinos de entrega conectados |
list_mailing_lists | Lista las listas de correo para correos de notas de lanzamiento |
send_release_email | Envía un correo de notas de lanzamiento a listas de correo |
Lectura (obtener contenido publicado)
| Herramienta | Descripción |
|---|---|
list_changelogs | Lista los changelogs publicados del proyecto, del más reciente al más antiguo |
get_changelog | Obtiene un changelog individual por slug |
list_blog_posts | Lista las publicaciones de blog publicadas del proyecto, del más reciente al más antiguo |
get_blog_post | Obtiene una publicación de blog individual por slug |
list_kb_article_sets | Lista los conjuntos de artículos de base de conocimiento publicados del proyecto |
get_kb_article_set | Obtiene 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.