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/mcpConectar → 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)

ToolDescription
generate_changelogGerar um changelog público a partir de commits recentes
generate_blog_postGerar um post de blog (opcionalmente orientado por uma ideia)
generate_blog_post_ideasGerar ideias de ângulos para posts de blog (síncrono)
generate_feature_pageGerar uma página de destino (landing page) de recurso de marketing
generate_kb_articlesGerar um conjunto de artigos da base de conhecimento
generate_release_notes_emailGerar um e-mail de notas de lançamento
generate_twitter_threadGerar um tópico no X (Twitter)
generate_linkedin_postGerar 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)

ToolDescription
get_generation_statusConsultar o status de um trabalho de geração
get_content_draftLer o rascunho completo de um registro de conteúdo
update_contentRevisar o texto e/ou a categoria de um rascunho
approve_contentAprovar conteúdo para publicação
publish_contentPublicar conteúdo concluído diretamente

Projeto e entrega

ToolDescription
get_project_contextDescrever o projeto da conexão: repositórios, destinos, listas de e-mail
list_destinationsListar destinos de entrega conectados
list_mailing_listsListar listas de e-mail para e-mails de notas de lançamento
send_release_emailEnviar um e-mail de notas de lançamento para listas de e-mail

Leitura (buscar conteúdo publicado)

ToolDescription
list_changelogsListar os changelogs publicados do projeto, do mais recente para o mais antigo
get_changelogBuscar um changelog específico por slug
list_blog_postsListar os posts de blog publicados do projeto, do mais recente para o mais antigo
get_blog_postBuscar um post de blog específico por slug
list_kb_article_setsListar os conjuntos de artigos da base de conhecimento publicados do projeto
get_kb_article_setBuscar 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.