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
  1. Abra as configurações de conectores ou plugins no seu host MCP e adicione a URL remota acima.
  2. Faça login no Polyblog na janela OAuth e aprove os escopos de leitura e escrita solicitados.
  3. 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.

  1. Abra o painel do Polyblog e vá para as configurações.
  2. Crie uma chave de API, escolha os escopos necessários e, opcionalmente, fixe-a em um único blog.
  3. 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.

Comece a construir