Antwork
Rascunhe, agende e publique posts sociais no LinkedIn, X, Instagram, Facebook, Threads, TikTok, Pinterest e YouTube pelo seu assistente de IA, com uma voz de marca aprendida por conta.
Documentação
Visão geral
O servidor MCP Antwork permite que seu assistente de IA redija, agende, publique e analise postagens em redes sociais em seu nome. Ele utiliza o padrão aberto Model Context Protocol, para que qualquer cliente compatível com MCP (claude.ai, Claude Code, Cursor, ChatGPT, Windsurf, agentes personalizados) possa se conectar usando a mesma URL única.
O que você pode fazer após conectar
- ›Redigir postagens alinhadas à marca usando seu perfil de voz armazenado por plataforma.
- ›Agendar ou publicar no LinkedIn, X, Threads, Facebook, Instagram, YouTube, TikTok e Pinterest.
- ›Ler métricas de engajamento, histórico de postagens e séries temporais diárias de qualquer postagem.
- ›Gerenciar rascunhos, postagens agendadas e a biblioteca de mídia.
- ›Conectar/desconectar contas sociais e verificar a saúde delas.
URL do servidor
https://api.antwork.io/mcp
Uma única URL atende a todos os usuários — não há subdomínios por locatário. A autenticação ocorre via OAuth na primeira chamada de ferramenta (consulte Autenticação).
Início rápido
Todo cliente MCP compatível segue o mesmo fluxo: registre a URL do servidor e aprove o OAuth no navegador quando solicitado. O mecanismo exato de instalação varia conforme o cliente.
Escolha seu cliente para configuração passo a passo:
!Cadastre-se primeiro. A etapa de consentimento OAuth exige uma conta Antwork. Se você ainda não se cadastrou, faça isso em antwork.io/connect (plano gratuito disponível) antes de adicionar o conector.
Autenticação
O servidor MCP Antwork implementa OAuth 2.1 com PKCE e registro dinâmico de clientes (RFC 7591), permitindo que clientes MCP se conectem sem que você precise pré-registrar cada um. Os tokens são limitados por escopo, revogáveis e emitidos por cliente.
Escopos OAuth
Cada ferramenta exige um dos quatro escopos. A tela de consentimento lista os escopos que um cliente está solicitando para que você possa aprová-los ou negá-los de forma granular.
| read | Leitura | Ler postagens, contas sociais, perfis de voz, configurações do workspace e análises. Sem mutações. |
|---|---|---|
| write | Escrita | Criar/editar/excluir rascunhos e postagens agendadas. Alterar biblioteca de mídia e configurações do workspace. Não publica. |
| publish | Destrutivo | Publicar postagens em plataformas sociais conectadas e agendá-las para publicação futura. Concedido somente quando o usuário aprova explicitamente. |
| media | Escrita | Enviar e anexar imagens/vídeos/PDFs a postagens. Separado de write para permitir consentimento granular. |
Ciclo de vida do token
- ›Tokens de acesso são JWTs de curta duração (TTL de 5 minutos).
- ›Tokens de atualização são de longa duração e armazenados no servidor. Concessão padrão
refresh_token. - ›Revogue pelo endpoint padrão
/oauth/revoke(RFC 7009) ou em Configurações → IAs conectadas no painel Antwork. A revogação invalida o token de atualização imediatamente. - ›Cada cliente MCP (Claude desktop, Claude Code, Cursor, …) recebe seu próprio token. Revogar um cliente não afeta os demais.
Endpoints de descoberta
- ›
GET /.well-known/oauth-protected-resource— metadados de recurso RFC 9728. - ›
GET /.well-known/oauth-authorization-server— metadados do servidor de autorização RFC 8414. - ›
POST /oauth/register— registro dinâmico de clientes RFC 7591. - ›
POST /oauth/token— concessões de código de autorização e token de atualização. PKCE S256 obrigatório. - ›
POST /oauth/revoke— revogação de token RFC 7009.
Referência de ferramentas
O Antwork expõe 35 ferramentas MCP em sete categorias. Ferramentas somente leitura nunca alteram estado; ferramentas destrutivas (publicar, excluir, desconectar) acionam confirmação explícita em clientes que respeitam anotações destructiveHint.
Identidade e workspaces
| whoami | Leitura | Perfil do usuário autenticado. |
|---|---|---|
| list_workspaces | Leitura | Lista todos os workspaces aos quais o usuário pertence. Mostra o sinalizador isDefault. |
| set_default_workspace | Escrita | Define ou limpa o workspace padrão para que ferramentas subsequentes omitam workspace_id. |
| create_workspace | Escrita | Cria um novo workspace de propriedade do usuário autenticado. |
| get_workspace_settings | Leitura | Identidade da marca, diretrizes de conteúdo, público-alvo e preferências por plataforma. |
| update_workspace_identity | Destrutivo | Renomear um workspace ou atualizar sua descrição. |
| update_workspace_settings | Destrutivo | Alterar diretrizes de conteúdo e configurações de marca no nível do workspace. |
Contas sociais e perfis de voz
| list_social_accounts | Leitura | Todas as contas sociais conectadas com saúde, expiração e plataforma. |
|---|---|---|
| get_connection_urls | Leitura | URLs OAuth para conectar novas contas sociais. |
| disconnect_social_account | Destrutivo | Revogar uma conta social conectada; os tokens são excluídos no servidor. |
| get_voice_profiles | Leitura | Tom, vocabulário e frases recorrentes por plataforma, aprendidos com conteúdo existente. |
| get_voice_profile | Escrita | Obter um perfil de voz e atualizá-lo a partir da conta ativa se estiver desatualizado. |
| fetch_platform_posts | Leitura | Buscar postagens recentes de uma plataforma conectada (usado para atualizar perfis de voz). |
Postagens — leitura
| list_posts | Leitura | Listar rascunhos, agendadas, publicadas e com falha. Filtrável por status e plataforma. |
|---|---|---|
| search_posts | Leitura | Busca de texto completo em corpos de postagens, hashtags e texto por plataforma. |
| get_post | Leitura | Postagem individual com payload completo (texto, mídia, status, URLs por plataforma). |
| get_post_history | Leitura | Histórico de métricas diárias de uma postagem publicada — curtidas/comentários/compartilhamentos/impressões. |
Postagens — escrita
| create_post | Escrita | Criar uma postagem RASCUNHO. Não publica nem agenda sozinho — continue com schedule_post ou publish_post. |
|---|---|---|
| update_post | Escrita | Alterar qualquer campo de uma postagem — texto, plataformas, hashtags, mídia, horário de agendamento, texto por plataforma. |
| duplicate_post | Escrita | Clonar uma postagem existente em um novo rascunho. |
| delete_post | Destrutivo | Exclusão suave de uma postagem. Para postagens publicadas, também enfileira exclusão na plataforma quando o conector suporta. |
Postagens — publicação
| publish_post | Destrutivo | Publicar um rascunho imediatamente em todas as plataformas configuradas. Aguarda até ~25 segundos pelo status final e retorna URLs por plataforma. |
|---|---|---|
| schedule_post | Destrutivo | Agendar um rascunho para um horário futuro. O servidor garante que o horário esteja no futuro. |
| retry_failed_post | Destrutivo | Tentar novamente uma publicação que falhou — útil quando um token foi atualizado ou limites de taxa foram liberados. |
Análises e planejamento
| get_performance | Leitura | Totais agregados de engajamento no workspace para um período determinado. |
|---|---|---|
| get_engagement_history | Leitura | Série temporal diária de engajamento no workspace. |
| get_optimal_posting_times | Leitura | Janelas de publicação sugeridas por plataforma, inferidas do engajamento histórico. |
| refresh_post_metrics | Escrita | Consultar as APIs da plataforma ao vivo para postagens específicas e atualizar métricas em cache. Lento, mas mais atual — prefira get_performance para leituras amplas. |
| get_calendar | Leitura | Postagens agendadas e publicadas agrupadas por data. Renderiza como calendário interativo em clientes MCP App. |
Mídia
| list_media | Leitura | Biblioteca de mídia do workspace — imagens, vídeos, PDFs. |
|---|---|---|
| get_media | Leitura | Item de mídia individual com URL de download e metadados por MIME. |
| upload_media | Escrita | Ingerir um arquivo de uma URL pública (ex.: imagem gerada por IA hospedada em outro lugar). Caminho voltado a LLM; o seletor "Adicionar mídia" do cartão de postagem usa upload_media_inline internamente com base64. |
| attach_media | Escrita | Anexar itens de mídia a uma postagem de rascunho. |
| delete_media | Destrutivo | Exclusão suave de um item de mídia; não afeta postagens que já o referenciam. |
!Os esquemas de argumentos das ferramentas são inspecionados ao vivo do servidor — conecte um cliente e chame tools/list para ver os JSON Schemas canônicos com campos obrigatórios e tipos.
MCP Apps (UI interativa)
Várias ferramentas renderizam iframes interativos quando invocadas de um host que suporta a especificação MCP Apps (claude.ai, Claude Code ≥ 0.5). O iframe chama de volta o mesmo servidor MCP pela ponte do host — sem autenticação extra.
- ›
list_posts,search_posts→ posts-table: lista filtrável com modal de detalhes inline que edita e publica sem sair do chat. - ›
get_post,create_post,update_post,duplicate_post→ post-preview: cartão completo de postagem com abas por plataforma, editor inline, ações de agendar/publicar, seletor "Adicionar mídia" (uploads + reutilização da biblioteca) e links "Ver no X" por conta após a publicação. - ›
get_calendar→ calendar: visualizações mensais/semanais de postagens agendadas e publicadas. - ›
list_social_accounts,get_connection_urls,disconnect_social_account→ connections-panel: saúde por conta, reconectar, desconectar; a troca de workspace pelo cabeçalho propaga para todos os outros iframes. - ›
list_media,get_media→ media-gallery: grade de miniaturas da biblioteca do workspace — reutilize mídia entre postagens sem reenviar.
Clientes que não suportam MCP Apps ainda recebem a saída bruta da ferramenta — a UI é puramente uma camada de apresentação.
Solução de problemas
"Bearer token required" / 401 em todas as chamadas
O cliente MCP não concluiu o OAuth ou o token de atualização foi revogado. No claude.ai: Configurações → Conectores → Antwork → Desconectar e reconectar. No Claude Code: /mcp → escolha antwork → Reautenticar.
Publicação falhou em uma plataforma, mas funcionou em outras
publish_post retorna status por plataforma. A causa mais comum é uma conta social cujo token expirou ou foi revogado pelo lado da plataforma. Execute list_social_accounts para encontrar contas não saudáveis e reconecte-as pela URL de consentimento retornada por get_connection_urls, depois chame retry_failed_post.
"A postagem continua como RASCUNHO depois que pedi para agendar"
create_post apenas cria um rascunho. Seu assistente deve continuar com schedule_post(post_id, scheduled_for) ou publish_post(post_id). A Skill complementar Antwork Poster (github.com/iker-gonzalez/antwork-skills) codifica esse processo em duas etapas para que o Claude não o pule.
A conta errada recebeu a postagem (várias contas por plataforma)
Quando um workspace tem mais de uma conta conectada em uma plataforma (ex.: duas páginas no LinkedIn), o Antwork escolhe a primeira conta saudável por padrão. Para direcionar uma conta específica, passe o accountId dela no array platforms da postagem, em vez do nome da plataforma. A Skill Antwork Poster também orienta o assistente a confirmar antes de publicar.
Upload de mídia descarta o arquivo silenciosamente
attach_media exige uma URL do Firebase Storage — passe URLs externas por upload_media primeiro para que sejam armazenadas no seu storage do workspace. O publicador recusa URLs fora do storage.
Limites de taxa
O Antwork aplica um limite flexível de 60 chamadas de ferramenta/minuto/workspace. Ao atingir o limite, retorna HTTP 429 com cabeçalho Retry-After. Operações de publicação não têm limite na camada MCP, mas as plataformas downstream têm seus próprios limites (LinkedIn ~150 postagens/dia, X ~300 postagens/3h).
Origem bloqueada / erro CORS em clientes baseados em navegador
O servidor valida o cabeçalho Origin no Streamable HTTP conforme a especificação MCP. As origens permitidas são hosts Antwork de primeira parte, claude.ai, claude.com, console.anthropic.com e localhost. Se você estiver hospedando um cliente personalizado em outra origem, entre em contato para incluí-lo na lista de permissões.
Limites e cotas
- ›Chamadas de ferramenta: 60/minuto/workspace (limite flexível; HTTP 429 com
Retry-After). - ›Upload de mídia: 25 MB por arquivo. Imagens, vídeos (mp4/mov/webm) e PDFs aceitos.
- ›Postagens: sem limite do lado Antwork; plataformas downstream impõem seus próprios (LinkedIn ~150/dia, X ~300/3h, outras variam).
- ›Postagens agendadas: horizonte máximo de 1 ano.
- ›Tokens OAuth: token de acesso com TTL de 5 min, token de atualização revogável a qualquer momento. Cotas rígidas (geração de imagens, atualização de perfil de voz, extração de marca) estão vinculadas ao nível do plano. Os planos Pro e Business recebem limites mensais maiores; consulte preços para valores atuais.
Histórico de alterações
v1.0 — Maio de 2026
Lançamento público inicial junto com o envio do diretório de conectores da Anthropic.
- ›35 ferramentas MCP em identidade, contas sociais, perfis de voz, publicações, publicação, análise e mídia.
- ›Quatro MCP Apps: tabela-de-publicações, pré-visualização-de-publicação, calendário, painel-de-conexões.
- ›OAuth 2.1 com PKCE, registro dinâmico de clientes (RFC 7591), revogação de tokens (RFC 7009).
- ›
accountResultspor plataforma retornado depublish_posteget_postpara que workspaces com várias contas mostrem a conta de publicação correta na interface.
Contato
Dúvidas, ajuda com integração ou bugs? Fale conosco.
Antwork · Espanha · UE