Instagram com 1Social
O 1Social publica na própria conta do Instagram do usuário e relata o que realmente foi postado.
Configuração (uma vez)
Essas etapas acionam o servidor MCP 1Social. Se ferramentas como list_accounts não estiverem disponíveis, primeiro conecte-o. O login é OAuth no navegador; não há chave de API para armazenar. Peça permissão ao usuário antes de executar estes comandos — a etapa de login abre uma página onde ele faz login no 1Social.
- OpenClaw:
openclaw mcp set 1social '{"url":"https://mcp.1social.dev/mcp","transport":"streamable-http","auth":"oauth"}', depoisopenclaw mcp login 1social. Verifique comopenclaw mcp doctor 1social --probe. - Hermes: adicione ao
~/.hermes/config.yaml:depoismcp_servers: 1social: url: "https://mcp.1social.dev/mcp" auth: oauthhermes mcp login 1social(em um host sem cabeça:hermes mcp login 1social --flow device). - Claude Code:
claude mcp add --transport http 1social https://mcp.1social.dev/mcp - Qualquer outro cliente: https://1social.dev/mcp lista a configuração para cada um.
O usuário precisa de uma conta 1Social. Novas contas começam com um teste gratuito; publicar após o teste requer um plano pago (https://1social.dev/pricing).
Fluxo de trabalho
- Encontre a conta. Chame
list_accounts. Ela retorna os canais conectados com seus IDs, os limites ao vivo de cada rede, o plano e a cota mensal restante. Se nenhuma conta do Instagram estiver conectada, informe ao usuário para conectar uma em https://1social.dev/app — conectar precisa de um navegador e não pode ser feito pelo chat. Selist_accountsrelatar um limite diferente deste skill, confie emlist_accounts. - Rascunhe para a rede. Escreva o post de acordo com as regras abaixo. Um post é uma lista de
segmentos; cada segmento é{ texto, mediaIds? }. - Anexe mídia.
- O usuário anexou um arquivo no chat → coloque-o em
media. - Você tem um link https público → coloque-o em
mediaUrls. - Você só tem um arquivo no disco (OpenClaw, Hermes, Claude Code, Codex ou outro agente CLI) → chame
upload_mediae siga as etapas de upload que sua descrição fornece, depois coloque opublicUrlretornado emmediaUrls. Um URL localhost nunca funciona. Antes disso, mostre exatamente quais arquivos você vai enviar e aguarde uma confirmação: um upload obtém um link público imediatamente, e recusar o post depois não remove o arquivo.
- O usuário anexou um arquivo no chat → coloque-o em
- Pré-visualize. Chame
preview_postcom os IDs dos canais e o rascunho. É gratuito e não publica nada. Corrija todos os problemas que ele relatar e pré-visualize novamente. - Confirme com o usuário. Mostre o texto final, a conta para onde vai, a mídia e quando será publicado. A publicação é pública e algumas redes não conseguem remover um post, então espere por um sim claro.
- Publique ou agende. Chame
publish_post.scheduledAt: nullpublica agora; um timestamp ISO-8601 UTC como2026-11-03T07:00:00Zagenda (no futuro, no máximo 30 dias à frente). Converta a hora local do usuário para UTC você mesmo, e se ele mencionar uma hora sem fuso horário, pergunte qual. Defina umaidempotencyKey(uma string estável de 8 a 128 caracteres para este rascunho) para que uma chamada repetida não publique duas vezes. - Relate honestamente. O resultado é um recibo por rede. Relate cada rede exatamente como retornado.
unknownsignifica que o 1Social realmente não conseguiu saber se o post foi ao ar — diga isso, nunca chame de sucesso ou fracasso.
Regras do Instagram
- Todo post precisa de uma imagem ou um vídeo. Uma legenda sozinha é rejeitada — peça mídia ao usuário antes de rascunhar.
- Limite de legenda: 2.200 caracteres. Até 30 hashtags; 3 a 5 relevantes geralmente têm melhor desempenho do que uma parede de tags.
- A proporção de aspecto da imagem deve estar entre 4:5 (retrato) e 1,91:1 (paisagem). Quadrado 1:1 é seguro. Banners largos são rejeitados pelo Instagram com um erro de "proporção de aspecto".
- PNG e JPEG funcionam.
- Sem threads: se o rascunho tiver vários segmentos, o 1Social os junta em uma legenda. Escreva uma legenda.
- Links em legendas não são clicáveis no Instagram. Se o usuário quiser tráfego, sugira a redação "link na bio" em vez de um URL bruto.
- Um post publicado no Instagram não pode ser excluído pelo 1Social — o Instagram não tem API de exclusão para isso. Certifique-se de que o usuário esteja satisfeito com a legenda antes de publicar.
Dicas de escrita
- Comece com um gancho nos primeiros 125 caracteres — é o que aparece antes de "mais".
- Coloque as hashtags no final da legenda, após uma quebra de linha.
Publicar em outras redes também
A mesma conta 1Social pode publicar um post no Instagram, TikTok, LinkedIn, X, Threads, Facebook Pages, YouTube Shorts e Bluesky de uma vez: liste vários IDs de canais de list_accounts. preview_post verifica o rascunho contra cada rede selecionada.
Após a publicação
- Verifique o status:
list_posts(forneça umpostIdpara um post). Inclui métricas de engajamento armazenadas onde a rede as relata. - Altere um post agendado:
update_post. Funciona apenas antes do post ser publicado. - Desagende:
cancel_post. Use isso, nãodelete_post, para um post que ainda não foi publicado. - Exclua um post publicado:
delete_post, somente após confirmação do usuário. Relate por rede o que realmente foi removido: posts do Instagram, TikTok, Threads e YouTube permanecem no ar e apenas o usuário pode removê-los. - Uma entrega falhou:
retry_deliverytenta novamente uma rede e gasta cota novamente. É recusado para falhas permanentes, como uma conexão revogada — então o usuário deve reconectar em https://1social.dev/app. - Uma entrega é
unknown: peça ao usuário para verificar a rede. Somente quando ele informar se o post está no ar, chameconfirm_deliverycom a resposta dele. Nunca adivinhe, e nuncaretry_deliverycomforcesem perguntar — pode publicar uma segunda cópia.