Polyblog MCP
Gerenciar artigos multilíngues do Polyblog, cobertura de localização e planos editoriais via OAuth.
Documentação
Tudo o que você precisa para controlar o Polyblog a partir do seu próprio código: uma API REST com chaves com escopo, endpoints para artigos, blogs e tópicos, e webhooks assinados para cada alteração.
Integrações de IA
Conecte o Polyblog ao Claude e ao ChatGPT
O Polyblog possui um servidor Model Context Protocol hospedado para Claude, ChatGPT e outros clientes compatíveis. O OAuth faz o login e limita cada chamada à organização do Polyblog que a sua própria conta pode acessar.
https://mcp.polyblog.io/mcp
- Abra as configurações de conectores ou plugins no seu host MCP e adicione a URL remota acima.
- Faça login no Polyblog na janela OAuth e aprove os escopos de leitura e escrita solicitados.
- Peça uma visão geral do blog, uma auditoria de localização, cobertura de rascunhos e traduções, pesquisa de tópicos ou uma alteração editorial específica.
O que o conector pode fazer
Leia e pesquise blogs e artigos, compare localidades configuradas com traduções disponíveis, inspecione links de sitemap validados, pesquise ideias de tópicos em fontes limitadas do Reddit e RSS, crie ou edite rascunhos, publique somente quando solicitado e gere um rascunho de SEO somente texto. Duas visualizações inline mostram uma visão geral compacta do blog e uma prévia limitada do artigo.
Cada criação, atualização, geração e exclusão é marcada como uma escrita destrutiva para que o seu host possa solicitar confirmação. A atualização de tópicos e a geração de artigos podem consumir uso pago de modelo ou de busca de fontes. Listas e prévias são limitadas, e o conector não expõe credenciais, configuração de remetente, contatos ou identificadores de organização.
Limite de geração de mídia
O MCP público deliberadamente não expõe a geração de imagens de capa por IA nem o autopiloto de geração de imagens. A ferramenta generate_article sempre desativa imagens inline e de capa. Esses recursos de mídia permanecem disponíveis no painel do Polyblog, na API REST e na CLI, mas estão fora do conector submetido aos diretórios de software.
Remova o Polyblog das configurações de conectores do seu host para revogar o acesso desse host. Suas permissões normais do Polyblog continuam a decidir quais blogs e artigos são visíveis.
Plugins de Agente
Instale o Polyblog como um plugin portátil
O padrão aberto Agent Plugins empacota o servidor MCP do Polyblog e seu fluxo de trabalho editorial multilíngue juntos. Instale um repositório e seu agente aprende a auditar localização, pesquisar tópicos, redigir artigos somente texto e confirmar cada alteração de publicação, e então envia você pelo fluxo OAuth normal do Polyblog.
# Install the portable Agent Plugin in a compatible client
https://github.com/polyblog-io/claude-plugin
O repositório inclui manifestos portáteis plugin.json e mcp.json, além de adaptadores nativos para Claude, Gemini CLI e Google Antigravity. O mesmo pacote portátil é usado para Kiro Powers, o Cursor Marketplace e o Awesome Copilot.
Agentes e registros podem descobrir o mesmo pacote a partir do manifesto Agent Plugin bem conhecido ou do Catálogo de IA do Polyblog.
Chaves de API
Obtenha uma chave de API
A API REST do Polyblog é o que você usa para publicar a partir de um CMS, um gerador de site estático, um pipeline de CI ou qualquer backend próprio. Cada solicitação é autenticada com uma chave de API que você mesmo cria.
- Abra o painel do Polyblog e vá para as configurações.
- Crie uma chave de API, escolha os escopos necessários e, opcionalmente, fixe-a em um único blog.
- Copie o segredo. Ele é exibido uma vez, na criação, e nunca mais é retornado.
Envie o segredo como credenciais HTTP Basic. Todos os endpoints são relativos a https://api.polyblog.io.
Uma chave fixada em um blog só pode tocar nesse blog, e uma chave só pode tocar na organização em que foi criada — o locatário é lido da chave, nunca da solicitação.
Início rápido
Liste e publique artigos
Liste os artigos de um blog. Chamadores anônimos só veem artigos publicados; com uma chave da organização proprietária você também obtém rascunhos.
curl "https://api.polyblog.io/api/articles?blogId=YOUR_BLOG_ID&locale=en" \
-H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)"
Publique um artigo
Postar um artigo o publica no seu blog e dispara o webhook article.created.
curl -X POST "https://api.polyblog.io/api/articles" \
-H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)" \
-H "Content-Type: application/json" \
-d '{
"blogId": "YOUR_BLOG_ID",
"locale": "en",
"title": "Hello from the API",
"description": "A short summary used in listings and meta tags.",
"content": "<p>Written straight from my own backend.</p>",
"published": true
}'
Navegue pela referência completa da API — cada endpoint com seus parâmetros, corpo da solicitação, respostas e escopo necessário.
CLI
Interface de linha de comando
Os mesmos blogs, artigos, pesquisa de tópicos e geração de artigos estão disponíveis no seu terminal por meio da CLI polyblog. Instale-a globalmente com npm ou execute-a ad hoc com npx.
A autenticação é um único comando: polyblog login abre seu navegador para fazer login na sua conta do Polyblog e armazena uma sessão para comandos posteriores — sem chave de API para colar.
# Install once, globally
npm install -g polyblog
# or run it ad hoc without installing
npx polyblog --help
# Log in — opens your browser to sign in and stores a session
polyblog login
# The blogs of your account, with their ids
polyblog blogs list
# The 10 most recent articles of a blog
polyblog articles list --blogId YOUR_BLOG_ID
# Research article ideas from your configured Reddit and RSS sources
polyblog topics refresh
polyblog topics list
# Generate a full SEO article as a draft
polyblog articles generate --topic "How to localize a SaaS blog"
A CLI é open source em github.com/polyblog-io/cli e publicada como polyblog no npm. Execute qualquer comando com --help para ver suas opções.
Habilidades de Agente
Ensine seu agente de codificação sobre o Polyblog
O Polyblog inclui Habilidades de Agente — guias que seguem o padrão agentskills.io e ensinam agentes de codificação a executar fluxos de trabalho editoriais e de localização com a CLI polyblog e o conector MCP, em vez de adivinhar comandos e ferramentas.
# Install the Polyblog skills into your coding agent
npx skills add polyblog-io/skills
Um único comando instala as habilidades no Claude Code, Cursor, Codex, Gemini CLI e em qualquer outro agente que siga o padrão de Habilidades. A CLI também inclui os mesmos guias, com versão correspondente aos comandos que ela fornece: polyblog skills get <name> imprime um sob demanda.
As habilidades são open source em github.com/polyblog-io/skills. Usuários do Claude também podem instalar o plugin Polyblog para Claude, que agrupa o conector junto com a habilidade editorial: github.com/polyblog-io/claude-plugin.
Escopos
Menor privilégio por padrão
Cada chave carrega um conjunto de escopos por recurso, então uma integração que só precisa ler artigos não pode excluí-los. Novas chaves começam somente leitura; amplie-as explicitamente.
- articles:read Leia artigos, incluindo rascunhos dos seus próprios blogs.
- articles:write Crie, gere, atualize e exclua artigos.
- blogs:read Leia os blogs da sua conta.
- blogs:write Crie um blog e atualize suas configurações.
- topics:read Leia os tópicos de um blog.
- topics:write Crie e atualize tópicos.
- contacts:read Leia os contatos coletados pelo seu blog.
- contacts:write Crie e atualize contatos.
- images:write Envie imagens usadas como capas de artigos ou em conteúdo.
Uma solicitação feita com uma chave que não possui o escopo necessário é recusada com 403. As chaves também têm limite de taxa, e uma solicitação acima do limite é recusada com 429.
Webhooks
Seja notificado quando algo mudar
Assine um endpoint seu e o Polyblog envia via POST cada evento correspondente a ele conforme acontece. Uma assinatura pode cobrir toda a organização ou um único blog, e pode filtrar os eventos desejados.
- article.created Um novo artigo foi criado, por você ou pela API.
- article.updated Um artigo existente mudou, incluindo traduções.
- article.deleted Um artigo foi excluído.
- blog.created Um novo blog foi criado.
- contact.created Um visitante se inscreveu através de um dos seus blogs.
POST https://your-server.com/polyblog-webhook
{
"event": "article.created",
"timestamp": 1719000000,
"data": { "...": "..." }
}
Verifique a assinatura
Cada entrega carrega um cabeçalho X-Polyblog-Signature no formato t=timestamp,v1=signature. A assinatura é um HMAC-SHA256 de timestamp.body com chave no seu segredo de assinatura; recalcule-a sobre o corpo bruto e compare antes de confiar no payload.
import crypto from 'node:crypto'
// body must be the RAW request body, byte for byte
function isSignatureValid({ header, body, secret }) {
const [t, v1] = header.split(',')
const timestamp = t.slice(2)
const signature = v1.slice(3)
const expected = crypto
.createHmac('sha256', secret)
.update(\`${timestamp}.${body}\`)
.digest('hex')
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected),
)
}
A entrega é uma tentativa de melhor esforço com timeout de 5 segundos e sem novas tentativas. Falhas são contadas, e uma assinatura que falha 20 vezes seguidas é desativada até que você a reative.
As assinaturas são gerenciadas a partir do seu painel ou através dos endpoints de assinaturas de webhook na referência da API.