Hermoso é um servidor MCP de marketing: 922+ ferramentas em um endpoint único com OAuth, que permitem a um agente pesquisar os anúncios que já rodam em um mercado, gerar anúncios finalizados em imagem e vídeo, publicá-los e montar as campanhas pagas por trás deles. O Codex acessa tudo isso por uma única conexão. Esta página cobre uma fatia disso: o que o Codex consegue fazer de fato no Facebook, e o que o Facebook não deixa que ele faça.
Conectar o Hermoso ao Codex
- Um comando, e nenhuma chave.
O Codex lê o arquivo de marketplace no repositório público da Hermoso e instala as cinco skills dele (research, ad-from-brand, generate, product-photoshoot e marketing). As skills rodam o comandocodex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermosohermosopelonpx, então nenhuma lista de ferramentas é carregada nas suas sessões e nada custa contexto até um comando rodar. - Entre uma vez.
Ele abre uma entrada pelo navegador e guarda uma credencial, só com acesso do dono, emnpx -y hermoso auth login~/.hermoso/config.json. Sem navegador nessa máquina, por exemplo em CI ou em um contêiner? Crie uma chave em MCP & CLI → Terminal e chaves de API e rodenpx -y hermoso auth login --token hmk_…. Uma chave tem autoridade real de gasto, então trate-a como uma senha. - Opcional: o servidor MCP também.
Isso grava o servidor emcodex mcp add hermoso -- npx -y hermoso mcp~/.codex/config.tomle lê a mesma credencial guardada, então nenhuma chave vai no arquivo. Prefere o endpoint hospedado?codex mcp add hermoso --url https://app.hermoso.ai/mcpe depoiscodex mcp login hermosopara o login OAuth. As skills alcançam todas as ferramentas sem nenhum dos dois. - Peça algo ao Codex. “Puxe os anúncios mais duradouros dos meus três concorrentes mais próximos e refaça o melhor gancho em um vídeo 9:16”, ou “publique este render no canal”. O agente escolhe as ferramentas; você aprova o gasto.
O Codex guarda os servidores MCP em ~/.codex/config.toml, ou em .codex/config.toml de um projeto confiável, e esse arquivo é TOML, não JSON: um bloco mcpServers copiado não carrega, e uma entrada escrita à mão é [mcp_servers.hermoso] com command = "npx" e args = ["-y", "hermoso", "mcp"]. O mcp final é essencial: npx -y hermoso sem subcomando só mostra a ajuda e sai. O Codex lê marketplaces de plugin no mesmo layout .claude-plugin que o Claude Code usa, por isso um único repositório instala nos dois.
Depois conecte o próprio Facebook, uma vez, em Configurações → Conectores no Hermoso. Isso é uma tela de consentimento OAuth, então é a única etapa que precisa de navegador. Tudo depois disso é uma chamada de ferramenta.
As ferramentas do Facebook que o Codex recebe
post_to_meta: publica texto, uma imagem, um vídeo ou um post com várias fotos na Página, e recebepageIdpara nunca precisar adivinhar qual Página.schedule_post: coloca o mesmo post na fila para o horário que você escolher, em uma agenda compartilhada com todos os outros canais.list_meta_pages: lista as Páginas que a conta conectou, com os respectivos ids.manage_meta_post: edita o texto de um post publicado, ou o exclui.list_meta_comments / reply_to_meta_comment / moderate_meta_comment: lê os comentários de um post, responde como a Página, e oculta ou exclui o que não deveria estar lá.meta_page_insights / meta_post_insights: alcance, impressões e engajamento no nível da Página e de cada post.upload_meta_asset: coloca um render finalizado na biblioteca de criativos da conta de anúncios.
O Facebook também é o único canal com agendamento remoto nativo. O post_to_meta aceita um scheduleAt entre dez minutos e trinta dias à frente e entrega o horário à própria Meta. Instagram e Threads não têm isso na API da Meta, e passar o parâmetro para eles é recusado, em vez de publicar imediatamente sem aviso.
Limites do Facebook que vale conhecer antes de automatizar qualquer coisa
| Texto | Um post no Facebook pode ter até 63.206 caracteres, o que na prática não tem limite. O limite é aplicado quando o post é criado ou colocado na fila, então um post longo demais é recusado enquanto você ainda está ali para corrigir, em vez de ser cortado em silêncio na saída. |
|---|---|
| Visibilidade | Público ou rascunho. Um rascunho é um post de Página realmente não publicado, o que é útil para revisão: ele existe no Meta Business Suite e ninguém de fora consegue vê-lo. Não há opção não listada nem privada: “um post de Página do Facebook está publicado ou guardado como rascunho não publicado”. |
| Carrossel | 2 slides ou mais, somente fotos. A Meta não publica um máximo para o attached_media que possamos obter, então o Hermoso não inventa um e o atribui ao Facebook. O único limite é o nosso, em 30 slides, e a recusa diz de quem ele é: “O Facebook não publica um máximo documentado para attached_media, então este limite é nosso, não deles.” Vídeo não pode entrar em um carrossel de fotos do Facebook; essa é outra restrição da API da Meta, e o Hermoso recusa em vez de descartar o clipe em silêncio. |
| Qual conta | pageId. Isso importa no momento em que uma marca conecta mais de uma Página: o caminho de publicação recusa pelo nome em vez de escolher uma por você, e um agendamento que não conseguisse carregar essa resposta transformaria a recusa em falha horas depois, sem ninguém acompanhando. |
Experimente no Codex
Peça em linguagem comum. São frases simples, não uma DSL:
“Sem interação: renderize um anúncio de imagem 1:1 a partir do perfil da marca, publique-o na Página como rascunho não publicado e imprima o id do post em JSON.”
Isso percorre find_competitors → search_meta_ads → plan_ad → render_ad → list_meta_pages → post_to_meta. No modo interativo, o Codex mostra a chamada antes de rodá-la. No modo não interativo não há ninguém para perguntar, o que vale a pena considerar em qualquer etapa que publique ou gaste.
Codex no Facebook: a parte que pega
Diga o nome da Página no prompt ou na configuração. Com mais de uma Página conectada, o caminho de publicação recusa pelo nome em vez de escolher uma, o que é o certo. Em uma execução sem supervisão do codex exec não há ninguém para perguntar, então a recusa vira um job com falha. Resolva uma vez com list_meta_pages e fixe o id.
Em execuções sem supervisão, prefira a CLI hermoso com --json ao manifesto completo de ferramentas. Ela custa bem menos contexto e é mais fácil de validar.
Pesquise o Facebook antes de publicar
A Biblioteca de Anúncios da Meta é o maior arquivo público de criativos que existe, e o search_meta_ads a consulta por palavra-chave ou por página, cobrindo posicionamentos do Facebook e do Instagram. O pull_competitor_ads e o competitor_teardown se apoiam nela, e o find_competitors descobre para onde apontá-los.
A metade paga
O Facebook é a superfície paga mais profunda que o Hermoso tem. O create_meta_campaign, o create_meta_adset e o create_meta_ad montam a árvore inteira com segmentação real: geografia até um raio em torno de uma cidade, interesses, comportamentos, públicos personalizados e semelhantes, posicionamentos, horários do dia, e limites de lance e de custo. Tudo é criado PAUSADO, sem substituição pelo chamador, e o resumo que o seu agente informa é montado a partir de uma releitura do que a Meta de fato armazenou, nunca a partir do que foi pedido. Antes de comprometer um orçamento, o preview_meta_ad renderiza o anúncio real por posicionamento como um link que você pode ver, e o estimate_meta_reach diz quantas pessoas a segmentação realmente alcança. Um aviso que economiza dinheiro: um conjunto de anúncios criado sem localizações assume apenas os Estados Unidos por padrão, e a releitura diz isso em alto e bom som.
O que o Codex não consegue fazer sozinho
Um agente com orçamento só é útil se o raio de impacto for limitado, então a cerca fica no servidor, e não em um prompt. Toda campanha, conjunto de anúncios, grupo de anúncios e anúncio é criado pausado, e as trocas de status que ativam dinheiro real se recusam a rodar sem uma flag de confirmação explícita. Cada render é cotado antes (hermoso_capabilities publica o custo exato em créditos de cada modelo antes de qualquer gasto). Os créditos são reservados antes da primeira chamada ao provedor e acertados pelo custo exato depois, então uma falha no envio devolve o valor em vez de deixar você cobrado por nada. As exclusões também exigem confirmação, e cada árvore de campanha é relida da plataforma de anúncios antes que o seu agente diga o que construiu.
Uma etapa deliberadamente não é feita sem interface: vincular uma conta é uma tela de consentimento OAuth, então você conecta o canal uma vez em um navegador. Tudo depois disso é uma chamada de ferramenta.
O resto da matriz
Pelo Codex, publique em: Instagram · Threads · TikTok · YouTube · X · LinkedIn · Pinterest · Bluesky · Telegram. Ou veja tudo o que o Codex consegue publicar.
Publique no Facebook a partir de: Claude · ChatGPT · Claude Code · Cursor · Cline · OpenClaw · Grok Bot · Hermes · Gemini CLI · Perplexity · Le Chat · Claude Cowork · Perplexity Computer · Paperclip · Anúncios pela linha de comando
Perguntas frequentes
O Codex consegue publicar no Facebook?
Sim, com o plugin do Codex da Hermoso. Rode codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso, que instala as skills da Hermoso, e depois entre uma vez com npx -y hermoso auth login. O login abre o navegador e guarda a credencial sozinho, então não há chave para criar nem para colar. Para o servidor MCP também, rode codex mcp add hermoso -- npx -y hermoso mcp. O Codex passa a ter mais de 922+ ferramentas, incluindo as que publicam no Facebook e as que pesquisam os anúncios que já estão rodando no seu mercado e criam o criativo do zero.
Como conecto o Facebook ao Codex?
Duas etapas, uma vez cada. Rode codex plugin marketplace add hermoso-ai/hermoso && codex plugin add hermoso@hermoso, que instala as skills da Hermoso, e depois entre uma vez com npx -y hermoso auth login. O login abre o navegador e guarda a credencial sozinho, então não há chave para criar nem para colar. Para o servidor MCP também, rode codex mcp add hermoso -- npx -y hermoso mcp. Depois conecte o Facebook dentro da Hermoso em Configurações → Conectores, que é uma tela de consentimento OAuth no navegador. Depois disso o Codex publica no Facebook como uma chamada de ferramenta comum.
Qual é o limite de legenda do Facebook ao publicar a partir do Codex?
Um post no Facebook pode ter até 63.206 caracteres, o que na prática não tem limite. O Hermoso aplica o limite quando o post é criado ou colocado na fila, então o Codex é avisado na hora, em vez de falhar depois, quando ninguém está acompanhando.
O Codex consegue agendar um post no Facebook para depois?
Sim. O schedule_post coloca o post na fila de uma agenda única compartilhada com todos os outros canais, com uma legenda por canal se o texto precisar ser diferente, e o list_scheduled e o cancel_scheduled leem e retiram o post. O Facebook é um dos onze canais que entram na fila.
O Codex consegue publicar no Facebook de forma privada ou como rascunho?
Sim. O Facebook é o único canal com um rascunho de verdade: um post de Página não publicado que existe no Meta Business Suite e que ninguém de fora consegue ver. O Hermoso recusa uma visibilidade que o Facebook não consegue cumprir no momento em que você pede, em vez de publicar discretamente algo mais fraco.
Quanto custa publicar no Facebook a partir do Codex?
Publicar no Facebook não custa créditos, porque a Meta não cobra nada por chamada de API. Os créditos são gastos na geração: renderizar a imagem ou o vídeo que o post carrega. Os planos custam $29, $69 e $149 por mês, por 1.200, 3.000 e 7.000 créditos, e todos os recursos estão em todos os planos, inclusive o Free. A única exceção é o SSO empresarial.
Comece grátis com 30 créditos no cadastro e ganhe mais 250+ créditos. Todos os recursos estão em todos os planos.
Começar grátis → Ver preços