Shipstar
Marketing automatizado de produtos a partir dos seus commits: gere, revise, publique e envie changelogs, posts de blog e notas de versão via MCP (OAuth 2.1, hospedado).
Documentação
Visão Geral do MCP
Use o conteúdo publicado do Shipstar diretamente de agentes LLM via o Model Context Protocol
O Shipstar expõe todo o seu pipeline como ferramentas Model Context Protocol (MCP) para que agentes LLM — claude.ai, Claude Code, Claude Desktop, Cursor, Windsurf, agentes personalizados e qualquer outra coisa que fale MCP — possam gerar conteúdo de marketing a partir dos seus commits, revisar e editar rascunhos, publicá-los e enviar e-mails de lançamento, além de ler seus changelogs, posts de blog e artigos da base de conhecimento publicados.
Mesmos serviços, mesmas garantias do painel — as ferramentas chamam os mesmos caminhos de código de revisão/publicação/entrega — apresentados como ferramentas tipadas que o modelo pode chamar diretamente.
Endpoint
O servidor MCP está montado no backend principal do Shipstar usando o transporte Streamable HTTP.
POST https://mcp.shipstar.ai/mcp
Autenticação
Duas formas de acesso:
OAuth 2.1 (recomendado — o que o claude.ai usa). Adicione o endpoint como um conector personalizado e faça login; não é necessário gerenciar tokens. Cada autorização é limitada a um projeto, escolhido na tela de consentimento. Fluxo completo e detalhes do protocolo: OAuth.
Token de API estático (para scripts e CI). Todo token de API do painel funciona como token bearer em /mcp — os mesmos tokens que protegem a API REST V1. Crie um em Configurações → Tokens de API (/dashboard/console); o token está vinculado ao projeto em que foi criado.
Authorization: Bearer YOUR_API_TOKEN
Requisições sem token, ou com token inválido/expirado, retornam 401 Unauthorized com um desafio WWW-Authenticate que permite que clientes compatíveis com OAuth inicializem automaticamente.
Conectando a partir do claude.ai
Configurações → Conectores → Adicionar conector personalizado → insira https://mcp.shipstar.ai/mcp → Conectar → faça login e escolha um projeto. Veja OAuth para o passo a passo.
Conectando a partir do Claude Code
O caminho mais rápido é o plugin oficial, que inclui a conexão do servidor além de habilidades guiadas (/shipstar:announce-release, /shipstar:write-blog-post e mais):
/plugin marketplace add turbo-labs/shipstar-plugin
/plugin install shipstar@shipstar
Ou adicione o servidor diretamente:
claude mcp add --transport http shipstar https://mcp.shipstar.ai/mcp
De qualquer forma, o Claude Code executa o fluxo OAuth no seu navegador no primeiro uso. Para fixar um token estático, anexe --header "Authorization: Bearer YOUR_API_TOKEN" ao formulário claude mcp add.
Conectando a partir do Claude Desktop
Adicione o servidor ao seu claude_desktop_config.json, incluindo um token bearer como cabeçalho personalizado:
{
"mcpServers": {
"shipstar": {
"type": "http",
"url": "https://mcp.shipstar.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Reinicie o Claude Desktop e as ferramentas do Shipstar estarão disponíveis em qualquer chat.
Conectando a partir do Cursor / Windsurf
Ambos os editores aceitam a mesma configuração de servidor MCP. Adicione uma entrada com a URL acima e as ferramentas aparecerão na barra lateral do agente.
Ferramentas Disponíveis
Geração (iniciar conteúdo a partir de commits)
| Tool | Description |
|---|---|
generate_changelog | Gerar um changelog público a partir de commits recentes |
generate_blog_post | Gerar um post de blog (opcionalmente orientado por uma ideia) |
generate_blog_post_ideas | Gerar ideias de ângulos para posts de blog (síncrono) |
generate_feature_page | Gerar uma página de destino (landing page) de recurso de marketing |
generate_kb_articles | Gerar um conjunto de artigos da base de conhecimento |
generate_release_notes_email | Gerar um e-mail de notas de lançamento |
generate_twitter_thread | Gerar um tópico no X (Twitter) |
generate_linkedin_post | Gerar um post no LinkedIn |
As ferramentas de geração (exceto generate_blog_post_ideas) retornam um content_id pendente e são executadas em segundo plano — consulte get_generation_status para verificar a conclusão.
Ciclo de vida (revisar, editar, aprovar, publicar)
| Tool | Description |
|---|---|
get_generation_status | Consultar o status de um trabalho de geração |
get_content_draft | Ler o rascunho completo de um registro de conteúdo |
update_content | Revisar o texto e/ou a categoria de um rascunho |
approve_content | Aprovar conteúdo para publicação |
publish_content | Publicar conteúdo concluído diretamente |
Projeto e entrega
| Tool | Description |
|---|---|
get_project_context | Descrever o projeto da conexão: repositórios, destinos, listas de e-mail |
list_destinations | Listar destinos de entrega conectados |
list_mailing_lists | Listar listas de e-mail para e-mails de notas de lançamento |
send_release_email | Enviar um e-mail de notas de lançamento para listas de e-mail |
Leitura (buscar conteúdo publicado)
| Tool | Description |
|---|---|
list_changelogs | Listar os changelogs publicados do projeto, do mais recente para o mais antigo |
get_changelog | Buscar um changelog específico por slug |
list_blog_posts | Listar os posts de blog publicados do projeto, do mais recente para o mais antigo |
get_blog_post | Buscar um post de blog específico por slug |
list_kb_article_sets | Listar os conjuntos de artigos da base de conhecimento publicados do projeto |
get_kb_article_set | Buscar um conjunto de artigos da base de conhecimento por slug |
Casos de Uso
Aponte um agente de suporte para `list_changelogs` / `get_changelog` para que ele possa responder "o que há de novo esta semana?" e citar o lançamento exato que trouxe um recurso — sem que você precise copiar notas de lançamento para uma base de conhecimento. Permita que um agente de codificação (Cursor, Claude Code, Windsurf) busque seus tutoriais de blog e artigos da base de conhecimento mais recentes sob demanda. O agente baseia suas respostas na sua orientação publicada em vez de alucinar APIs. Ao redigir páginas de destino, anúncios ou campanhas de e-mail, peça ao Claude para buscar changelogs e posts de blog recentes para obter detalhes precisos do produto, citações e capturas de tela do material que você já publicou. Peça a um agente para resumir os últimos N changelogs em uma atualização semanal ou mensal. A saída da ferramenta é estruturada, então o modelo não precisa fazer scraping do seu site. Exponha `list_kb_article_sets` / `get_kb_article_set` a um agente interno para que os funcionários possam perguntar "como faço X?" no Slack e obter respostas baseadas na sua base de conhecimento publicada. Qualquer framework de agente que fale MCP (LangGraph, Agent SDK, Mastra, personalizado) pode puxar o conteúdo do Shipstar como uma fonte de dados somente leitura sem que você precise escrever um cliente REST personalizado.Como funciona por baixo dos panos
As ferramentas MCP chamam diretamente a mesma camada app.services.content que alimenta os endpoints REST V1. Isso significa:
- Uma única fonte de verdade. Qualquer correção de bug ou mudança de comportamento no serviço de conteúdo flui automaticamente para ambos os transportes.
- Apenas conteúdo publicado é retornado. Rascunhos, itens pendentes e linhas de tipo incorreto são filtrados na camada de serviço.
- Ignorância graciosa de dados inválidos. Endpoints de listagem ignoram linhas cujo JSON armazenado está malformado em vez de falhar a chamada inteira.
Se você precisar de controle mais fino (paginação, feeds RSS, filtragem personalizada) ou estiver construindo uma integração que não seja de agente, use a API REST V1 diretamente.