Docs para desarrolladores

Servidor MCP de Antwork

Documentación de referencia del servidor Model Context Protocol de Antwork — instalación, scopes OAuth, catálogo completo de tools, MCP Apps interactivas y solución de problemas.

Última actualización: 13 de mayo de 2026·antwork.io

Resumen

El servidor MCP de Antwork permite que tu asistente de IA cree borradores, programe, publique y analice posts en redes sociales en tu nombre. Habla el estándar abierto Model Context Protocol, así que cualquier cliente compatible con MCP (claude.ai, Claude Code, Cursor, ChatGPT, Windsurf, agentes propios) puede conectarse con la misma URL única.

Qué puedes hacer una vez conectado

  • Crear borradores on-brand usando el voice profile guardado para cada plataforma.
  • Programar o publicar en LinkedIn, X, Threads, Facebook, Instagram, YouTube, TikTok y Pinterest.
  • Leer métricas de engagement, historial de posts y series temporales diarias de cualquier post.
  • Gestionar borradores, posts programados y la biblioteca de medios.
  • Conectar / desconectar cuentas sociales e inspeccionar su salud.

URL del servidor

https://api.antwork.io/mcp

Una sola URL sirve a todos los usuarios — no hay subdominios por tenant. La autenticación se hace vía OAuth en la primera llamada a una tool (ver Autenticación).


Inicio rápido

Cada cliente MCP soportado sigue el mismo patrón: registra la URL del servidor y aprueba OAuth en tu navegador cuando se te pida. La forma exacta de instalar varía por cliente — elige el tuyo abajo.

Claude logo

Claude

  1. 1.Haz clic en Conectar — abriremos el diálogo Añadir conector personalizado de Claude y copiaremos la URL del MCP a tu portapapeles. El mismo conector funciona en Claude Desktop una vez que inicies sesión.
  2. 2.Introduce el Name, pega la URL en Remote MCP server URL, deja Advanced settings vacío y haz clic en Add.
Conectar con Claude
Name
antwork
Remote MCP server URL
https://api.antwork.io/mcp
Requisito previo
Se requiere Claude Pro, Max, Team o EnterpriseLos conectores personalizados no están disponibles en el plan gratuito de Claude. Más información
ChatGPT logo

ChatGPT

  1. 1.Abre ChatGPT → Ajustes → Apps y conectores → Ajustes avanzados y activa el Modo Desarrollador.
  2. 2.Vuelve a Apps y conectores y pulsa Crear app. Pon el nombre "antwork", pega la URL del servidor MCP de abajo y elige OAuth como conexión.
  3. 3.Marca "I understand and want to continue" y pulsa Create.
  4. 4.Activa el toggle "Reference memories and chats" para que ChatGPT recuerde tu voz de marca entre chats, e inicia sesión para autorizar Antwork.
URL del servidor MCP
https://api.antwork.io/mcp
Claude Code logo

Claude Code

  1. 1.Ejecuta este comando en tu terminal.
  2. 2.Luego en Claude Code, escribe /mcp para autorizar.
Añade Antwork como servidor MCP HTTP
$ claude mcp add antwork --transport http https://api.antwork.io/mcp
Requisito previo
Se requiere Claude Pro, Max, Team o clave de APIClaude Code se autentica contra una suscripción de Anthropic o una clave de API. Más información
OpenClaw logo

OpenClaw

  1. 1.Ejecuta este comando en tu terminal.
  2. 2.Luego ejecuta mcporter auth antwork para autorizar.
Añade Antwork vía mcporter
$ mcporter config add antwork --url https://api.antwork.io/mcp --auth oauth
Cursor logo

Cursor

  1. 1.Un clic — Cursor se abrirá y te pedirá confirmar la instalación.
Añadir a Cursor

Un solo clic — tu cliente se abrirá y te pedirá confirmar la instalación.

VS Code logo

VS Code

  1. 1.Un clic — VS Code se abrirá y te pedirá confirmar.
Añadir a VS Code

Un solo clic — tu cliente se abrirá y te pedirá confirmar la instalación.

Requisito previo
Se requiere GitHub CopilotLos servidores MCP se ejecutan en el modo agente de Copilot. El plan gratuito de Copilot funciona. Más información
Windsurf logo

Windsurf

  1. 1.Abre Windsurf → Ajustes → Servidores MCP → Editar configuración.
  2. 2.Pega este fragmento dentro del objeto mcpServers.
Configuración de mcpServers · Settings → MCP
{
  "mcpServers": {
    "antwork": {
      "url": "https://api.antwork.io/mcp"
    }
  }
}
Gemini CLI logo

Gemini CLI

  1. 1.Ejecuta este comando en tu terminal.
  2. 2.Luego ejecuta /mcp auth antwork dentro de la CLI de Gemini.
Añade Antwork como servidor MCP HTTP
$ gemini mcp add --transport http antwork https://api.antwork.io/mcp
!Regístrate primero. El paso de consentimiento OAuth requiere una cuenta de Antwork. Si aún no te has registrado, hazlo en antwork.io/signup (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), de forma que los clientes MCP pueden conectarse sin que tengas que pre-registrarlos uno a uno. Los tokens son scoped, revocables y emitidos por cliente.

Scopes OAuth

Cada tool requiere uno de cuatro scopes. La pantalla de consentimiento lista los scopes que un cliente solicita para que puedas aprobarlos o denegarlos de forma granular.

readReadLee posts, cuentas sociales, voice profiles, configuración del workspace y analítica. Sin mutaciones.
writeWriteCrear / editar / borrar borradores y posts programados. Mutar la biblioteca de medios y la configuración del workspace. No publica.
publishDestructivePublicar posts en las plataformas sociales conectadas y programarlos para publicación futura. Solo se concede cuando el usuario aprueba explícitamente.
mediaWriteSubir y adjuntar imágenes / vídeo / PDFs a posts. Separado de write para permitir consentimiento granular.

Ciclo de vida del token

  • Los access tokens son JWTs de corta duración (TTL de 5 minutos).
  • Los refresh tokens son de larga duración y se guardan en el servidor. Grant refresh_token estándar.
  • Revoca vía el endpoint estándar /oauth/revoke (RFC 7009) o desde Settings → Connected AIs en tu dashboard de Antwork. La revocación invalida el refresh token al instante.
  • Cada cliente MCP (Claude desktop, Claude Code, Cursor, …) recibe su propio token. Revocar uno no afecta a los demás.

Endpoints de discovery

  • GET /.well-known/oauth-protected-resource — metadatos de recurso RFC 9728.
  • GET /.well-known/oauth-authorization-server — metadatos del authorization server RFC 8414.
  • POST /oauth/register — registro dinámico de clientes RFC 7591.
  • POST /oauth/token — grants authorization-code y refresh-token. PKCE S256 requerido.
  • POST /oauth/revoke — revocación de tokens RFC 7009.

Referencia de tools

Antwork expone 35 tools MCP en siete categorías. Las tools read-only nunca mutan estado; las destructivas (publish, delete, disconnect) lanzan confirmación explícita en clientes que respetan la anotación destructiveHint.

Identidad y workspaces

whoamiReadPerfil del usuario autenticado.
list_workspacesReadLista todos los workspaces a los que pertenece el usuario. Muestra el flag isDefault.
set_default_workspaceWriteDefine o limpia el workspace por defecto para que las siguientes llamadas omitan workspace_id.
create_workspaceWriteCrea un nuevo workspace propiedad del usuario autenticado.
get_workspace_settingsReadIdentidad de marca, content guidelines, audiencia objetivo y preferencias por plataforma.
update_workspace_identityDestructiveRenombra un workspace o actualiza su descripción.
update_workspace_settingsDestructiveMuta las content guidelines y settings de marca a nivel de workspace.

Cuentas sociales y voice profiles

list_social_accountsReadTodas las cuentas sociales conectadas con salud, expiración y plataforma.
get_connection_urlsReadURLs OAuth para conectar nuevas cuentas sociales.
disconnect_social_accountDestructiveRevoca una cuenta social conectada; los tokens se borran del servidor.
get_voice_profilesReadTono, vocabulario y frases recurrentes por plataforma, aprendidos del contenido existente.
get_voice_profileWriteObtiene un voice profile y lo refresca desde la cuenta en vivo si está obsoleto.
fetch_platform_postsReadTrae posts recientes de una plataforma conectada (usado para refrescar voice profiles).

Posts — lectura

list_postsReadLista borradores, programados, publicados y fallidos. Filtrable por estado y plataforma.
search_postsReadBúsqueda full-text en el cuerpo del post, hashtags y copy por plataforma.
get_postReadUn post con payload completo (texto, media, estado, URLs por plataforma).
get_post_historyReadHistórico diario de métricas de un post publicado — likes / comentarios / shares / impressions.

Posts — escritura

create_postWriteCrea un borrador. No publica ni programa por sí mismo — encadena con schedule_post o publish_post.
update_postWriteMuta cualquier campo de un post — texto, plataformas, hashtags, media, hora programada, copy por plataforma.
duplicate_postWriteClona un post existente en un borrador nuevo.
delete_postDestructiveSoft-delete de un post. Para publicados, encola también el borrado en la plataforma cuando el conector lo soporta.

Posts — publicación

publish_postDestructivePublica un borrador al instante en cada plataforma configurada. Espera hasta ~25 segundos para estado terminal y devuelve URLs por plataforma.
schedule_postDestructivePrograma un borrador para un timestamp futuro. El servidor exige que la hora esté en el futuro.
retry_failed_postDestructiveReintenta una publicación que falló — útil cuando un token se ha refrescado o se han limpiado rate limits.

Analítica y planificación

get_performanceReadTotales agregados de engagement del workspace en una ventana dada.
get_engagement_historyReadSeries temporales diarias de engagement del workspace.
get_optimal_posting_timesReadVentanas de publicación sugeridas por plataforma inferidas del engagement histórico.
refresh_post_metricsWriteLlama a las APIs de las plataformas en vivo para posts concretos y refresca las métricas cacheadas. Lento pero al minuto — usa get_performance para preguntas amplias.
get_calendarReadPosts programados y publicados agrupados por fecha. Renderiza como calendario interactivo en clientes con MCP Apps.

Media

list_mediaReadBiblioteca de medios del workspace — imágenes, vídeo, PDFs.
get_mediaReadUn item de media con URL de descarga y metadatos por mime-type.
upload_mediaWriteIngesta un fichero desde una URL pública (p.ej. imagen generada por IA alojada en otro sitio). Es la ruta visible al LLM; el selector Add media del post-card usa upload_media_inline internamente con base64.
attach_mediaWriteAdjunta items de media a un borrador.
delete_mediaDestructiveSoft-delete de un item de media; no afecta a posts que ya lo referencian.
!El esquema de argumentos de cada tool se introspecciona en vivo desde el servidor — conecta un cliente y llama a tools/list para ver los JSON Schemas canónicos con campos requeridos y tipos.

MCP Apps (UI interactiva)

Varias tools renderizan iframes interactivos cuando se llaman desde un host que soporta la spec MCP Apps (claude.ai, Claude Code ≥ 0.5). El iframe llama de vuelta al mismo servidor MCP por el host bridge — sin auth adicional.

  • list_posts, search_postsposts-table: lista filtrable con modal de detalle inline que edita + publica sin salir del chat.
  • get_post, create_post, update_post, duplicate_postpost-preview: tarjeta completa del post con tabs por plataforma, editor inline, acciones de schedule/publish, selector Add media (subida + reuso desde la biblioteca) y enlaces "View on X" por cuenta una vez publicado.
  • get_calendarcalendar: vistas mensual / semanal de posts programados + publicados.
  • list_social_accounts, get_connection_urls, disconnect_social_accountconnections-panel: salud por cuenta, reconectar, desconectar; cambiar de workspace desde su header propaga el cambio a los demás iframes.
  • list_media, get_mediamedia-gallery: grid de miniaturas de la biblioteca del workspace — reutiliza media entre posts sin volver a subirla.

Los clientes que no soportan MCP Apps siguen recibiendo el output crudo de las tools — la UI es solo 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 refresh token ha sido revocado. En claude.ai: Settings → Connectors → Antwork → Disconnect, y vuelve a conectar. En Claude Code: /mcp → elige antwork → Re-authenticate.

La publicación falla en una plataforma pero funciona en las demás

publish_post devuelve el estado por plataforma. La causa más común es una cuenta social cuyo token expiró o se revocó desde la plataforma. Ejecuta list_social_accounts para encontrar cuentas con problemas y reconéctalas vía la URL de consentimiento que devuelve get_connection_urls, luego llama a retry_failed_post.

"El post se queda como DRAFT después de pedir programarlo"

create_post solo crea un borrador. Tu asistente debe encadenar con schedule_post(post_id, scheduled_for) o publish_post(post_id). El Antwork Poster Skill (github.com/iker-gonzalez/antwork-skills) codifica este two-step para que Claude no lo salte.

El post fue a la cuenta equivocada (múltiples cuentas por plataforma)

Cuando un workspace tiene más de una cuenta conectada en una plataforma (p. ej. dos páginas de LinkedIn), Antwork elige la primera cuenta sana por defecto. Para apuntar a una cuenta concreta, pasa su accountId en el array platforms del post en lugar del nombre de la plataforma. El Antwork Poster Skill también pide al asistente que confirme antes de publicar.

La subida de media se descarta silenciosamente

attach_media requiere una URL de Firebase Storage — pasa primero las URLs externas por upload_media para que se almacenen en el storage del workspace. El publisher rechaza URLs que no sean de storage.

Rate limits

Antwork aplica un soft rate limit de 60 llamadas a tools / minuto / workspace. Si lo alcanzas, devuelve HTTP 429 con cabecera Retry-After. Las operaciones de publicación no tienen rate limit en la capa MCP, pero las plataformas downstream tienen los suyos (LinkedIn ~150 posts/día, X ~300 posts/3h).

Origin bloqueado / error CORS en clientes basados en navegador

El servidor valida la cabecera Origin en Streamable HTTP según la spec MCP. Los orígenes permitidos son los hosts first-party de Antwork, claude.ai, claude.com, console.anthropic.com y localhost. Si alojas un cliente propio en otro origen, contáctanos para añadirlo a la lista.


Límites y cuotas

  • Llamadas a tools: 60 / minuto / workspace (soft limit; HTTP 429 con Retry-After).
  • Subida de media: 25 MB por fichero. Se aceptan imágenes, vídeo (mp4/mov/webm) y PDFs.
  • Posts: sin tope en Antwork; las plataformas downstream aplican los suyos (LinkedIn ~150/día, X ~300/3h, otras varían).
  • Posts programados: horizonte máximo de 1 año.
  • Tokens OAuth: access token con TTL de 5 min, refresh token revocable en cualquier momento.

Las cuotas duras (generación de imágenes, refresco de voice profiles, brand extraction) están ligadas al plan. Los planes Pro y Business tienen asignaciones mensuales superiores; consulta precios para los valores actuales.


Changelog

v1.0 — Mayo 2026

Primera versión pública, junto a la presentación al directorio de conectores de Anthropic.

  • 35 tools MCP repartidas en identidad, cuentas sociales, voice profiles, posts, publicación, analítica y media.
  • Cuatro MCP Apps: posts-table, post-preview, calendar, connections-panel.
  • OAuth 2.1 con PKCE, registro dinámico de clientes (RFC 7591), revocación de tokens (RFC 7009).
  • accountResults por plataforma devueltos por publish_post y get_post, de forma que los workspaces multi-cuenta muestran la cuenta publicadora correcta en la UI.

Contacto

¿Preguntas, ayuda con la integración o bugs? Escríbenos.

iker.gonzalez@antwork.io

Antwork · España · UE