Polyblog MCP

Gestiona artículos multilingües de Polyblog, cobertura de localización y planes editoriales mediante OAuth.

Documentación

Todo lo que necesitas para manejar Polyblog desde tu propio código: una API REST con claves de alcance, endpoints para artículos, blogs y temas, y webhooks firmados para cada cambio.

Integraciones de IA

Conecta Polyblog a Claude y ChatGPT

Polyblog tiene un servidor de Protocolo de Contexto de Modelo alojado para Claude, ChatGPT y otros clientes compatibles. OAuth te inicia sesión y limita cada llamada a la organización de Polyblog a la que tu propia cuenta puede acceder.

https://mcp.polyblog.io/mcp
  1. Abre la configuración de conectores o plugins en tu host MCP y añade la URL remota de arriba.
  2. Inicia sesión en Polyblog en la ventana de OAuth y aprueba los alcances de lectura y escritura solicitados.
  3. Pide una vista general del blog, una auditoría de localización, cobertura de borradores y traducciones, investigación de temas o un cambio editorial específico.

Qué puede hacer el conector

Lee y busca blogs y artículos, compara las configuraciones regionales configuradas con las traducciones disponibles, inspecciona los enlaces de sitemap validados, investiga ideas de temas a partir de fuentes limitadas de Reddit y RSS, crea o edita borradores, publica solo cuando se solicite y genera un borrador de SEO solo de texto. Dos vistas integradas muestran una vista general compacta del blog y una vista previa limitada del artículo.

Cada creación, actualización, generación y eliminación se marca como una escritura destructiva para que tu host pueda solicitar confirmación. La actualización de temas y la generación de artículos pueden consumir uso de modelos de pago o de obtención de fuentes. Las listas y vistas previas están limitadas, y el conector no expone credenciales, configuración del remitente, contactos ni identificadores de organización.

Límite de generación de medios

El MCP público deliberadamente no expone la generación de imágenes de portada con IA ni el piloto automático de generación de imágenes. La herramienta generate_article siempre desactiva las imágenes en línea y de portada. Esas funciones de medios siguen disponibles en el panel de control de Polyblog, la API REST y la CLI, pero están fuera del conector enviado a los directorios de software.

Elimina Polyblog de la configuración de conectores de tu host para revocar el acceso de ese host. Tus permisos normales de Polyblog siguen decidiendo qué blogs y artículos son visibles.

Plugins de agente

Instala Polyblog como un plugin portátil

El estándar abierto Agent Plugins empaqueta el servidor MCP de Polyblog y su flujo de trabajo editorial multilingüe juntos. Instala un repositorio y tu agente aprende a auditar la localización, investigar temas, redactar artículos solo de texto y confirmar cada cambio de publicación, y luego te envía a través del flujo normal de OAuth de Polyblog.

# Install the portable Agent Plugin in a compatible client
https://github.com/polyblog-io/claude-plugin

El repositorio incluye manifiestos portátiles plugin.json y mcp.json, además de adaptadores nativos para Claude, Gemini CLI y Google Antigravity. El mismo paquete portátil se usa para Kiro Powers, el Cursor Marketplace y Awesome Copilot.

Los agentes y registros pueden descubrir el mismo paquete desde el conocido manifiesto de Agent Plugin o desde el Catálogo de IA de Polyblog.

Claves de API

Obtén una clave de API

La API REST de Polyblog es lo que usas para publicar desde un CMS, un generador de sitios estáticos, un pipeline de CI o cualquier backend propio. Cada solicitud se autentica con una clave de API que creas tú mismo.

  1. Abre tu panel de control de Polyblog y ve a la configuración.
  2. Crea una clave de API, elige los alcances que necesita y, opcionalmente, fíjala a un solo blog.
  3. Copia el secreto. Se muestra una vez, al crearlo, y nunca se vuelve a mostrar.

Envía el secreto como credenciales HTTP Basic. Todos los endpoints son relativos a https://api.polyblog.io.

Una clave fijada a un blog solo puede tocar ese blog, y una clave solo puede tocar la organización en la que se creó: el inquilino se lee de la clave, nunca de la solicitud.

Inicio rápido

Lista y publica artículos

Lista los artículos de un blog. Los llamadores anónimos solo ven artículos publicados; con una clave de la organización propietaria también obtienes borradores.

curl "https://api.polyblog.io/api/articles?blogId=YOUR_BLOG_ID&locale=en" \
  -H "Authorization: Basic $(printf %s YOUR_API_KEY_SECRET | base64)"

Publica un artículo

Publicar un artículo lo publica en tu blog y dispara el 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
  }'

Consulta la referencia completa de la API: cada endpoint con sus parámetros, cuerpo de solicitud, respuestas y alcance requerido.

CLI

Interfaz de línea de comandos

Los mismos blogs, artículos, investigación de temas y generación de artículos están disponibles desde tu terminal a través de la CLI de polyblog. Instálala globalmente con npm, o ejecútala ad hoc con npx.

La autenticación es un solo comando: polyblog login abre tu navegador para iniciar sesión en tu cuenta de Polyblog y guarda una sesión para comandos posteriores: no hay clave de API que pegar.

# 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"

La CLI es de código abierto en github.com/polyblog-io/cli y se publica como polyblog en npm. Ejecuta cualquier comando con --help para ver sus opciones.

Agent Skills

Enseña a tu agente de codificación Polyblog

Polyblog incluye Agent Skills: guías que siguen el estándar agentskills.io y enseñan a los agentes de codificación cómo ejecutar flujos de trabajo editoriales y de localización con la CLI de polyblog y el conector MCP, en lugar de adivinar comandos y herramientas.

# Install the Polyblog skills into your coding agent
npx skills add polyblog-io/skills

Un solo comando instala las habilidades en Claude Code, Cursor, Codex, Gemini CLI y cualquier otro agente que siga el estándar de Skills. La CLI también incluye las mismas guías, con versiones coincidentes con los comandos que incluye: polyblog skills get <name> imprime una bajo demanda.

Las habilidades son de código abierto en github.com/polyblog-io/skills. Los usuarios de Claude también pueden instalar el plugin de Polyblog para Claude, que incluye el conector junto con la habilidad editorial: github.com/polyblog-io/claude-plugin.

Alcances

Privilegio mínimo por defecto

Cada clave lleva un conjunto de alcances por recurso, por lo que una integración que solo necesita leer artículos no puede eliminarlos. Las claves nuevas comienzan como solo lectura; amplíalas explícitamente.

  • articles:read Lee artículos, incluidos los borradores de tus propios blogs.
  • articles:write Crea, genera, actualiza y elimina artículos.
  • blogs:read Lee los blogs de tu cuenta.
  • blogs:write Crea un blog y actualiza su configuración.
  • topics:read Lee los temas de un blog.
  • topics:write Crea y actualiza temas.
  • contacts:read Lee los contactos recopilados por tu blog.
  • contacts:write Crea y actualiza contactos.
  • images:write Sube imágenes utilizadas como portadas de artículos o en el contenido.

Una solicitud hecha con una clave que carece del alcance requerido se rechaza con 403. Las claves también tienen límite de velocidad, y una solicitud que supera el límite se rechaza con 429.

Webhooks

Recibe notificaciones cuando algo cambia

Suscríbete a un endpoint tuyo y Polyblog envía por POST cada evento coincidente a medida que ocurre. Una suscripción puede cubrir toda la organización o un solo blog, y puede filtrar los eventos que desea.

  • article.created Se creó un nuevo artículo, por ti o por la API.
  • article.updated Un artículo existente cambió, incluidas las traducciones.
  • article.deleted Se eliminó un artículo.
  • blog.created Se creó un nuevo blog.
  • contact.created Un visitante se suscribió a través de uno de tus blogs.
POST https://your-server.com/polyblog-webhook

{
  "event": "article.created",
  "timestamp": 1719000000,
  "data": { "...": "..." }
}

Verifica la firma

Cada entrega lleva un encabezado X-Polyblog-Signature de la forma t=timestamp,v1=signature. La firma es un HMAC-SHA256 de timestamp.body con tu secreto de suscripción como clave; vuelve a calcularla sobre el cuerpo sin procesar y compárala antes de confiar en el 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),
  )
}

La entrega es un intento de mejor esfuerzo con un tiempo de espera de 5 segundos y sin reintentos. Los fallos se cuentan, y una suscripción que falla 20 veces seguidas se desactiva hasta que la vuelvas a habilitar.

Las suscripciones se gestionan desde tu panel de control o a través de los endpoints de suscripciones de webhook en la referencia de la API.

Empieza a crear