Antwork

Redacta, programa y publica publicaciones sociales en LinkedIn, X, Instagram, Facebook, Threads, TikTok, Pinterest y YouTube desde tu asistente de IA, con una voz de marca aprendida por cuenta.

Documentación

Resumen

El servidor MCP de Antwork permite que tu asistente de IA redacte, programe, publique y analice publicaciones en redes sociales en tu nombre. Utiliza el estándar abierto Model Context Protocol, por lo que cualquier cliente compatible con MCP (claude.ai, Claude Code, Cursor, ChatGPT, Windsurf, agentes personalizados) puede conectarse con la misma URL única.

Qué puedes hacer una vez conectado

  • ›Redactar publicaciones acordes a tu marca utilizando tu perfil de voz almacenado por plataforma.
  • ›Programar o publicar en LinkedIn, X, Threads, Facebook, Instagram, YouTube, TikTok y Pinterest.
  • ›Leer métricas de interacción, historial de publicaciones y series temporales diarias de cualquier publicación.
  • ›Gestionar borradores, publicaciones programadas y la biblioteca de medios.
  • ›Conectar / desconectar cuentas sociales e inspeccionar su estado de salud.

URL del servidor

https://api.antwork.io/mcp

Una sola URL sirve a todos los usuarios: no hay subdominios por inquilino. La autenticación se realiza mediante OAuth en la primera llamada a una herramienta (consulta Autenticación).


Inicio rápido

Todos los clientes MCP compatibles siguen la misma estructura: registra la URL del servidor y luego aprueba OAuth en tu navegador cuando se te solicite. La forma exacta de instalación varía según el cliente.

Elige tu cliente para una configuración paso a paso:

!Regístrate primero. El paso de consentimiento OAuth requiere una cuenta de Antwork. Si aún no te has registrado, hazlo en antwork.io/connect (hay plan gratuito disponible) antes de añadir el conector.


Autenticación

El servidor MCP de Antwork implementa OAuth 2.1 con PKCE y registro dinámico de clientes (RFC 7591), por lo que los clientes MCP pueden conectarse sin que tengas que pre-registrar cada uno. Los tokens tienen alcance, son revocables y se emiten por cliente.

Alcances de OAuth

Cada herramienta requiere uno de cuatro alcances. La pantalla de consentimiento muestra los alcances que un cliente está solicitando para que puedas aprobarlos o denegarlos de forma granular.

readLecturaLeer publicaciones, cuentas sociales, perfiles de voz, configuración del espacio de trabajo y análisis. Sin mutaciones.
writeEscrituraCrear / editar / eliminar borradores y publicaciones programadas. Mutar la biblioteca de medios y la configuración del espacio de trabajo. No publica.
publishDestructivoPublicar publicaciones en plataformas sociales conectadas y programarlas para publicación futura. Se otorga solo cuando el usuario lo aprueba explícitamente.
mediaEscrituraSubir y adjuntar imágenes / videos / PDFs a las publicaciones. Separado de write para permitir un consentimiento granular.

Ciclo de vida del token

  • ›Los tokens de acceso son JWT de corta duración (TTL de 5 minutos).
  • ›Los tokens de actualización son de larga duración y se almacenan en el servidor. Concesión estándar de refresh_token.
  • ›Revoca mediante el endpoint estándar /oauth/revoke (RFC 7009) o desde Configuración → AIs conectados en tu panel de Antwork. La revocación invalida el token de actualización inmediatamente.
  • ›Cada cliente MCP (Claude desktop, Claude Code, Cursor, …) obtiene su propio token. Revocar un cliente no afecta a los demás.

Endpoints de descubrimiento

  • GET /.well-known/oauth-protected-resource — metadatos de recursos RFC 9728.
  • GET /.well-known/oauth-authorization-server — metadatos del servidor de autorización RFC 8414.
  • POST /oauth/register — registro dinámico de clientes RFC 7591.
  • POST /oauth/token — concesiones de código de autorización y token de actualización. PKCE S256 requerido.
  • POST /oauth/revoke — revocación de tokens RFC 7009.

Referencia de herramientas

Antwork expone 35 herramientas MCP en siete categorías. Las herramientas de solo lectura nunca mutan el estado; las herramientas destructivas (publicar, eliminar, desconectar) activan confirmación explícita en los clientes que respetan las anotaciones de destructiveHint.

Identidad y espacios de trabajo

whoamiLecturaPerfil del usuario autenticado.
list_workspacesLecturaLista todos los espacios de trabajo a los que pertenece el usuario. Muestra el indicador isDefault.
set_default_workspaceEscrituraEstablecer o borrar el espacio de trabajo predeterminado para que las herramientas posteriores omitan workspace_id.
create_workspaceEscrituraCrear un nuevo espacio de trabajo propiedad del usuario autenticado.
get_workspace_settingsLecturaIdentidad de marca, pautas de contenido, audiencia objetivo y preferencias por plataforma.
update_workspace_identityDestructivoRenombrar un espacio de trabajo o actualizar su descripción.
update_workspace_settingsDestructivoMutar las pautas de contenido y la configuración de marca a nivel de espacio de trabajo.

Cuentas sociales y perfiles de voz

list_social_accountsLecturaTodas las cuentas sociales conectadas con estado de salud, caducidad y plataforma.
get_connection_urlsLecturaURLs de OAuth para conectar nuevas cuentas sociales.
disconnect_social_accountDestructivoRevocar una cuenta social conectada; los tokens se eliminan en el servidor.
get_voice_profilesLecturaTono, vocabulario y frases recurrentes por plataforma aprendidos del contenido existente.
get_voice_profileEscrituraObtener un perfil de voz y actualizarlo desde la cuenta en vivo si está desactualizado.
fetch_platform_postsLecturaObtener publicaciones recientes de una plataforma conectada (se usa para actualizar perfiles de voz).

Publicaciones — lectura

list_postsLecturaListar borradores, programadas, publicadas y fallidas. Filtrable por estado y plataforma.
search_postsLecturaBúsqueda de texto completo en cuerpos de publicaciones, hashtags y copia por plataforma.
get_postLecturaPublicación individual con carga completa (texto, medios, estado, URLs por plataforma).
get_post_historyLecturaHistorial de métricas diarias de una publicación publicada: me gusta / comentarios / compartidos / impresiones.

Publicaciones — escritura

create_postEscrituraCrear una publicación BORRADOR. No publica ni programa por sí sola: continúa con schedule_post o publish_post.
update_postEscrituraMutar cualquier campo de una publicación: texto, plataformas, hashtags, medios, hora de programación, copia por plataforma.
duplicate_postEscrituraClonar una publicación existente en un nuevo borrador.
delete_postDestructivoEliminación suave de una publicación. Para publicaciones ya publicadas, también encola la eliminación en la plataforma cuando el conector lo admite.

Publicaciones — publicación

publish_postDestructivoPublicar un borrador inmediatamente en todas las plataformas configuradas. Espera hasta ~25 segundos por el estado final y devuelve URLs por plataforma.
schedule_postDestructivoProgramar un borrador para una marca de tiempo futura. El servidor garantiza que la hora esté en el futuro.
retry_failed_postDestructivoReintentar una publicación que falló anteriormente: útil cuando se actualizó un token o se liberaron los límites de tasa.

Analítica y planificación

get_performanceLecturaTotales de interacción agregados en todo el espacio de trabajo para un período determinado.
get_engagement_historyLecturaSerie temporal de interacción diaria en todo el espacio de trabajo.
get_optimal_posting_timesLecturaVentanas de publicación sugeridas por plataforma inferidas del historial de interacción.
refresh_post_metricsEscrituraConsultar las APIs de la plataforma en vivo para publicaciones específicas y actualizar sus métricas en caché. Lento pero más fresco: prefiere get_performance para lecturas amplias.
get_calendarLecturaPublicaciones programadas y publicadas agrupadas por fecha. Se muestra como un calendario interactivo en los clientes de MCP App.

Medios

list_mediaLecturaBiblioteca de medios del espacio de trabajo: imágenes, videos, PDFs.
get_mediaLecturaElemento de medio individual con URL de descarga y metadatos por tipo MIME.
upload_mediaEscrituraIngerir un archivo desde una URL pública (p. ej., imagen generada por IA alojada en otro lugar). Ruta orientada a LLM; el selector de Añadir medio de la tarjeta de publicación usa upload_media_inline internamente con base64.
attach_mediaEscrituraAdjuntar elementos de medio a una publicación borrador.
delete_mediaDestructivoEliminación suave de un elemento de medio; no afecta a las publicaciones que ya lo referencian.

!Los esquemas de argumentos de las herramientas se inspeccionan en vivo desde el servidor: conecta un cliente y llama a tools/list para ver los JSON Schemas canónicos con campos obligatorios y tipos.


MCP Apps (interfaz interactiva)

Varias herramientas muestran iframes interactivos cuando se invocan desde un host que admite la especificación MCP Apps (claude.ai, Claude Code ≥ 0.5). El iframe llama de vuelta al mismo servidor MCP a través del puente del host: no se necesita autenticación adicional.

  • list_posts, search_postsposts-table: lista filtrable con modal de detalle en línea que edita y publica sin salir del chat.
  • get_post, create_post, update_post, duplicate_postpost-preview: tarjeta de publicación completa con pestañas por plataforma, editor en línea, acciones de programar/publicar, selector de Añadir medio (subidas + reutilización de biblioteca) y enlaces "Ver en X" por cuenta una vez publicada.
  • get_calendarcalendar: vistas mensual / semanal de publicaciones programadas y publicadas.
  • list_social_accounts, get_connection_urls, disconnect_social_accountconnections-panel: estado de salud por cuenta, reconexión, desconexión; el cambio de espacio de trabajo mediante el encabezado se propaga a todos los demás iframes.
  • list_media, get_mediamedia-gallery: cuadrícula de miniaturas de la biblioteca del espacio de trabajo: reutiliza medios entre publicaciones sin volver a subirlos.

Los clientes que no admiten MCP Apps aún reciben la salida cruda de la herramienta: la interfaz es puramente una capa de presentación.


Solución de problemas

"Bearer token required" / 401 en cada llamada

El cliente MCP no ha completado OAuth o su token de actualización ha sido revocado. En claude.ai: Configuración → Conectores → Antwork → Desconectar y luego reconectar. En Claude Code: /mcp → elige antwork → Re-autenticar.

La publicación falló en una plataforma pero tuvo éxito en otras

publish_post devuelve el estado por plataforma. La causa más común es una cuenta social cuyo token caducó o fue revocado desde el lado de la plataforma. Ejecuta list_social_accounts para encontrar cuentas no saludables y reconéctalas mediante la URL de consentimiento devuelta por get_connection_urls, luego llama a retry_failed_post.

"La publicación sigue como BORRADOR después de pedir que se programe"

create_post solo crea un borrador. Tu asistente debe continuar con schedule_post(post_id, scheduled_for) o publish_post(post_id). La habilidad complementaria Antwork Poster Skill (github.com/iker-gonzalez/antwork-skills) codifica este proceso de dos pasos para que Claude no lo omita.

La cuenta equivocada recibió la publicación (múltiples cuentas por plataforma)

Cuando un espacio de trabajo tiene más de una cuenta conectada en una plataforma (p. ej., dos páginas de LinkedIn), Antwork elige la primera cuenta saludable por defecto. Para apuntar a una cuenta específica, pasa su accountId en el array de platforms de la publicación en lugar del nombre de la plataforma. La habilidad Antwork Poster Skill también solicita al asistente que confirme antes de publicar.

La subida de medios elimina silenciosamente el archivo

attach_media requiere una URL de Firebase Storage: pasa las URLs externas a través de upload_media primero para que se almacenen en tu espacio de trabajo. El publicador rechaza URLs que no sean de almacenamiento.

Límites de tasa

Antwork aplica un límite de tasa suave de 60 llamadas a herramientas / minuto / espacio de trabajo. Al alcanzar el límite se devuelve HTTP 429 con un encabezado Retry-After. Las operaciones de publicación no tienen límite de tasa en la capa MCP, pero las plataformas posteriores tienen sus propios límites (LinkedIn ~150 publicaciones/día, X ~300 publicaciones/3h).

Origen bloqueado / error CORS en clientes basados en navegador

El servidor valida el encabezado Origin en Streamable HTTP según la especificación MCP. Los orígenes permitidos son hosts de primera parte de Antwork, claude.ai, claude.com, console.anthropic.com y localhost. Si alojas un cliente personalizado en un origen diferente, contáctanos para incluirlo en la lista blanca.


Límites y cuotas

  • ›Llamadas a herramientas: 60 / minuto / espacio de trabajo (límite suave; HTTP 429 con Retry-After).
  • ›Subida de medios: 25 MB por archivo. Se aceptan imágenes, videos (mp4/mov/webm) y PDFs.
  • ›Publicaciones: sin límite del lado de Antwork; las plataformas posteriores imponen los suyos (LinkedIn ~150/día, X ~300/3h, otras varían).
  • ›Publicaciones programadas: horizonte máximo de 1 año.
  • ›Tokens OAuth: token de acceso con TTL de 5 minutos, token de actualización revocable en cualquier momento. Las cuotas estrictas (generación de imágenes, actualización de perfiles de voz, extracción de marca) están vinculadas al nivel del plan. Los planes Pro y Business obtienen asignaciones mensuales más altas; consulta precios para conocer los valores actuales.

Historial de cambios

v1.0 — Mayo de 2026

Lanzamiento público inicial junto con el envío al directorio de conectores de Anthropic.

  • ›35 herramientas MCP en identidad, cuentas sociales, perfiles de voz, publicaciones, publicación, analíticas y medios.
  • ›Cuatro aplicaciones MCP: tabla de publicaciones, vista previa de publicaciones, calendario, panel de conexiones.
  • ›OAuth 2.1 con PKCE, registro dinámico de clientes (RFC 7591), revocación de tokens (RFC 7009).
  • accountResults por plataforma devuelto desde publish_post y get_post para que los espacios de trabajo con múltiples cuentas muestren la cuenta de publicación correcta en la interfaz.

Contacto

¿Preguntas, ayuda con la integración o errores? Ponte en contacto.

iker.gonzalez@antwork.io

Antwork · España · UE