PostLake
Uma API que permite que desenvolvedores e agentes de IA publiquem, agendem e extraiam análises em redes sociais sem precisar integrar cada plataforma separadamente.
Documentação
PostLake: o sistema operacional social para agentes de IA
Dê a um agente uma maneira confiável de atuar socialmente. O PostLake permite que agentes publiquem, agendem, monitorem, descubram, respondam, moderem e aprendam em X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube e Pinterest.
Uma única conexão dá a um agente um contrato normalizado em vez de nove SDKs de plataforma, nove modelos de autenticação e nove formatos de resultado incompatíveis. Ele pode atuar com um servidor MCP hospedado, uma skill de agente pronta para uso ou a API REST.
Um agente pode planejar uma campanha, validar cada destino antes de gastar um crédito, publicar ou salvar um rascunho para aprovação, confirmar publicações assíncronas, ler conversas e comentários, lidar com o que precisa de resposta e usar os resultados para decidir o que fazer em seguida.
- MCP hospedado:
https://api.postlake.dev/mcp - Documentação: https://docs.postlake.dev
- Site: https://postlake.dev
- Documentos legíveis por máquina: https://postlake.dev/llms.txt
- Registro MCP:
dev.postlake/social - Grok Build: instale
postlakeno mercado de plugins, ou adicione este repositório como fonte de mercado
Por que agentes usam o PostLake
Um contrato, todas as redes
Publique uma vez ou distribua para todas as redes conectadas. Cada destino tem o mesmo estado, URL, hora e formato de erro, então um agente lida com o resultado uma única vez em vez de escrever lógica de recuperação específica de plataforma.
Seguro deixar um agente agir
validate_post fornece uma execução de teste gratuita antes da publicação. Chaves de
idempotência tornam as tentativas seguras. Os proprietários podem exigir aprovação em uma conexão
OAuth, o que força toda solicitação de publicação daquele agente a virar um rascunho e impede que ele
aprove o próprio trabalho. confirm_post verifica um provedor assíncrono depois
que ele aceita uma publicação, e cada ação reporta o resultado individual do destino em vez de
esconder falhas parciais.
Não é apenas um endpoint de publicação
Um agente pode ler um feed unificado de notificações, mensagens diretas, comentários e desempenho de publicações. Ele pode então responder, moderar, engajar, pesquisar um tópico ou inspecionar uma conta antes de agir. A gestão social permanece no mesmo fluxo de trabalho da publicação.
Controle humano onde ele pertence
O OAuth faz o proprietário da conta aprovar uma conexão no navegador. get_connect_link
permite que um agente o envie diretamente para essa etapa de aprovação. Os proprietários podem revogar um
agente, gerenciar canais, definir limites de agente e exigir aprovação do PostLake.
Um agente OAuth não pode criar uma chave de conta irrestrita para contornar esses
controles e nunca precisa da senha de uma rede social.
Comece em minutos
MCP hospedado: Cursor, Claude, ChatGPT, Gemini, Copilot e outros
O PostLake é um servidor MCP HTTP remoto e transmissível. Nada é instalado, executado ou auto-hospedado. Adicione este servidor no seu cliente MCP e conclua a aprovação OAuth do PostLake uma vez.
O PostLake suporta revisões de protocolo 2026-07-28, 2025-11-25,
2025-06-18 e 2025-03-26. Clientes existentes podem manter seu handshake
legado; clientes mais novos usam server/discover e metadados por solicitação.
Tanto /mcp quanto o endpoint de compatibilidade de chave de API /v1/mcp preservam a identidade
do agente, as proteções de aprovação e os limites de publicação. As anotações de ferramentas são
dicas conservadoras, não permissões. Agentes conectados por OAuth ou restritos
não podem criar chaves de API irrestritas para contornar os controles do proprietário.
{
"mcpServers": {
"postlake": {
"url": "https://api.postlake.dev/mcp"
}
}
}
Cursor
Abra Configurações -> Ferramentas e MCP -> Novo servidor MCP, adicione a configuração acima, e selecione Conectar para o PostLake e aprove o login no navegador.
Claude Code
claude mcp add --transport http postlake https://api.postlake.dev/mcp
Grok Build
Este repositório é um plugin do Grok Build. Ele inclui o servidor MCP hospedado e as skills de agente. Sem processo local, sem hooks de shell, sem chave de API no chat.
Adicione este repositório como mercado e instale postlake:
grok plugin marketplace add PostLake/postlake-mcp
grok plugin install postlake --trust
Dentro do Grok Build você também pode navegar por /marketplace depois que o catálogo
oficial do xAI o listar.
O servidor MCP é https://api.postlake.dev/mcp (HTTP transmissível). No primeiro
uso, o Grok abre o OAuth do PostLake no navegador. O proprietário da conta aprova o
agente uma vez e pode revogá-lo em https://app.postlake.dev/app/agents.
Este plugin chama apenas:
https://api.postlake.dev(MCP e REST)https://postlake.devehttps://docs.postlake.dev(documentos citados pelas skills)https://app.postlake.dev(aprovação OAuth e painel)
openclaw/ neste repositório é um pacote OpenClaw separado. O Grok Build não o
carrega.
Outros clientes MCP
Adicione https://api.postlake.dev/mcp como um servidor MCP remoto. O desafio OAuth
inicial abre o fluxo de login e aprovação do host. Instruções completas de configuração:
https://docs.postlake.dev/mcp
Skills prontas: agentes de codificação
Instale as skills de agente do PostLake para Claude Code, Cursor, Codex, Windsurf e outros agentes de codificação compatíveis com skills:
npx skills add postlake/postlake-mcp --all
Defina POSTLAKE_API_KEY no runtime do agente e peça para ele lidar com trabalho
social em linguagem natural. As skills cobrem contas, publicação, agendamento,
mídia, conversas de caixa de entrada e análises.
API REST: runtimes de agente personalizados
Use https://api.postlake.dev/v1 do LangGraph, CrewAI, AutoGen, chamadas de ferramentas
do OpenAI ou qualquer cliente HTTPS. A API REST e o servidor MCP funcionam com os mesmos
perfis, canais, publicações e regras de segurança.
O que um agente pode fazer
O servidor MCP atualmente fornece 63 ferramentas focadas. Elas são projetadas em torno de resultados sociais, não de APIs individuais de plataforma.
| Resultado | Ferramentas |
|---|---|
| Entender a conta | whoami, set_my_name, get_changelog, get_credits, list_profiles, list_social_accounts, get_social_account, list_account_targets, search_facebook_pages, check_allowance |
| Conectar e organizar canais | create_profile, rename_profile, delete_profile, connect_account, get_connect_link, disconnect_account |
| Planejar e validar | get_platform_capabilities, get_publish_info, validate_post |
| Publicar e agendar | create_post, create_scheduled_calendar, get_post, confirm_post, list_posts, edit_post, edit_scheduled_posts_bulk, cancel_post, publish_draft, delete_post |
| Mídia | upload_media, upload_media_batch, manage_media |
| Caixa de entrada unificada | list_notifications, mark_notifications_seen, list_conversations, read_conversation, mark_conversation_read, send_message, read_comments, reply_to_comment, hide_comment, delete_comment |
| Descobrir e entender a rede | search_posts, look_up_profile, read_profile_posts, search_places, list_own_posts, list_tagged_posts |
| Engajar e gerenciar presença | engage, update_profile |
| Comércio, eventos e colaborações | list_products, list_events, create_event, find_creators |
| Transmissões ao vivo de páginas do Facebook | create_live_broadcast, start_live_broadcast, list_live_broadcasts, get_live_broadcast, end_live_broadcast |
| Medir e melhorar | get_post_analytics, get_analytics |
set_my_name altera apenas o nome de exibição do agente autenticado. O proprietário
da conta pode definir e bloquear esse nome no Controle de Agente. Renomear não altera a
chave de API subjacente nem a identidade do cliente OAuth.
As ferramentas de publicidade Meta e de Parcerias de Anúncios não estão disponíveis no momento. Não peça a um agente para usar operações de parceiro de marca, conta de anúncios ou Parcerias de Anúncios.
list_posts suporta paginação por cursor limitada e filtros por status, agente,
perfil, rede, datas, estado de aprovação, campanha, composição de destino único ou
compartilhado e uma busca literal de legenda sem diferenciar maiúsculas de minúsculas com q. Isso permite
que um agente inspecione o histórico de publicação sem carregar
as publicações de uma conta inteira em uma única resposta de ferramenta. O endpoint REST
GET /v1/posts usa o mesmo comportamento de busca e paginação.
edit_scheduled_posts_bulk altera até 200 publicações agendadas em uma única operação
protegida. Visualize primeiro com dryRun: true, inspecione os valores antes e depois de cada
publicação e aplique com o snapshot retornado. Ele pode alterar legendas,
legendas por rede, contas de destino exatas, metadados de campanha e ativos
ou deslocar instantes UTC agendados. Se uma publicação selecionada mudar antes da aplicação, toda a
edição é rejeitada. create_scheduled_calendar visualiza e cria até
200 publicações agendadas em uma única transação, usando horários explícitos ou uma cadência
UTC decorrida. Aplique o instantâneo da visualização com uma chave de idempotência única. O endpoint
REST de cancelamento em massa também remove um lote selecionado exato atomicamente.
Criar um novo calendário e cancelar um antigo continuam sendo operações separadas.
Chamadores MCP autenticados por chave de conta também podem usar create_api_key para transferir
para outro serviço confiável. Agentes OAuth não veem nem recebem esta ferramenta porque
uma chave de conta contornaria os limites definidos pelo proprietário.
Cancelamento, Remoção Social e Apagamento de Uploads
Estas são ações separadas. cancel_post interrompe publicações futuras e mantém
os arquivos enviados. delete_post solicita remoções de redes suportadas e reporta
cada destino; publicações do Instagram e TikTok devem ser removidas em
seus próprios aplicativos. Nenhuma ação apaga uploads ou reembolsa créditos de publicação gastos.
Use delete_post com dryRun: true para visualizar o suporte de destino, depois
obtenha a confirmação do proprietário e envie o snapshot retornado na aplicação. Remoções
aceitas são lembradas em resultados parciais e não são repetidas na tentativa.
manage_media lista arquivos armazenados com action: "list". Use
action: "preview_delete" com um ID de mídia para ver publicações afetadas e obter um
instantâneo. Somente após o proprietário confirmar o apagamento irreversível um agente deve
aplicar action: "delete" com esse instantâneo. Rascunhos, solicitações de aprovação e
publicações pendentes devem parar de usar o arquivo primeiro. Bytes de origem e visualizações
armazenadas são removidos; cópias sociais publicadas permanecem online. Falhas de armazenamento
permanecem passíveis de nova tentativa. Mais de 200 referências salvas exigem apagamento assistido por suporte.
Os ativos enviados mantêm o mínimo existente de 90 dias em toda conta aberta, com proteção mais longa de referência agendada e sem expiração automática atual. O apagamento explícito pelo proprietário é uma exceção, não uma política de expiração rotineira. Origens e visualizações usam URLs públicas. Mantenha originais duráveis e nunca envie segredos. Contratos REST completos e instruções do painel: https://docs.postlake.dev/media#deletion.
Um fluxo de trabalho de agente que não quebra a confiança
- Chame
whoamielist_social_accountspara entender a conta, limites, canais conectados e prontidão atual. - Se um humano ainda precisar conectar um canal, chame
get_connect_linke envie a URL de aprovação de curta duração. Não peça para ele procurar em um painel. - Chame
get_platform_capabilitiesevalidate_postantes de criar uma publicação multi-rede. O PostLake retorna a restrição e a correção exatas de cada destino. - Use
create_postpara publicar, agendar ou salvar umdraftpara revisão humana. Se o proprietário ativou "Exigir minha aprovação", o PostLake salva um rascunho mesmo quando o agente não solicita um. Inclua uma chave de idempotência para que uma tentativa não publique duas vezes. - Se uma plataforma estiver processando assincronamente, chame
confirm_postpara obter o estado confirmado pelo provedor sem esperar por uma URL pública. - Use
list_notifications,list_conversationseread_commentspara ver o que precisa de atenção. Responda, modere ou engaje apenas onde a plataforma suportar. - Use
get_analyticseget_post_analyticspara transformar resultados na próxima ação informada, não em uma planilha que alguém tenha que interpretar depois.
Mensagens diretas
Facebook, Instagram, X e Bluesky usam um formato de conversa normalizado.
Agentes listam conversas com list_conversations, abrem uma com
read_conversation, finalizam com mark_conversation_read e respondem com
send_message. Uma mensagem pode incluir content para um anexo, mídia
compartilhada ou payload do provedor que o PostLake não pode achatar com segurança em texto.
Facebook e Instagram podem entregar webhooks message.received. X e Bluesky
não enviam mensagens recebidas para o PostLake, então consulte list_conversations em um
cronograma. Enviar um DM no X custa 6 créditos; enviar nas outras redes de caixa de entrada
suportadas não gasta créditos. Orientação completa de REST e MCP:
https://docs.postlake.dev/messages.
Exemplos de prompts
- "Verifique todos os canais conectados e me diga o que precisa de aprovação humana."
- "Elabore um post de lançamento para LinkedIn, Instagram, Threads e TikTok. Valide-o, salve-o como rascunho e mostre-me as alterações específicas por plataforma."
- "Leia novas mensagens diretas e comentários. Dê-me rascunhos de resposta concisos, mas não envie nada até que eu aprove."
- "Descubra o que as pessoas estão dizendo sobre este tópico, inspecione as três contas mais fortes e proponha um post que acrescente algo útil."
- "Confirme o post de ontem no TikTok e compare seu desempenho com o resto da semana, recomendando o próximo post."
Consciente da plataforma, não cego à plataforma
O PostLake conhece as restrições que fazem as automações sociais falharem na vida real: tipos de mídia, contagens de imagens, limites de legendas, configurações de criador no TikTok, opções de privacidade específicas da rede, destinos de postagem, publicação assíncrona e se uma determinada conexão pode ler, pesquisar, enviar mensagens ou interagir.
Quando uma plataforma não pode executar uma ação, o PostLake informa isso na resposta. Uma lista vazia nunca significa silenciosamente que uma rede não foi lida. Uma publicação parcial não finge que todos os destinos foram bem-sucedidos. Os agentes recebem as informações necessárias para se recuperarem com segurança.
O que este repositório contém
| Caminho | Usado por |
|---|---|
skills/ | Claude Code, Cursor, Codex, Windsurf (npx skills add postlake/postlake-mcp --all) |
.mcp.json | Plugins do Grok Build, Claude Code e Cursor. Somente MCP hospedado. |
.grok-plugin/ | Manifesto do plugin Grok Build |
.claude-plugin/ | Manifesto do plugin Claude Code / Cursor |
openclaw/ | Somente OpenClaw. Não faz parte do plugin Grok ou Claude. |
Segurança e propriedade
Para clientes MCP interativos, o PostLake usa OAuth e PKCE. O proprietário da conta aprova cada agente conectado uma vez e pode revogá-lo pelo painel a qualquer momento. Os tokens OAuth são limitados a esse cliente e são renovados automaticamente. Os proprietários podem impor limites de perfil, plataforma, créditos diários, créditos de pacote e aprovação. Um agente com aprovação obrigatória não pode publicar seus próprios rascunhos nem gerar uma chave de API de conta sem restrições.
Para serviços não supervisionados, use uma chave de API do PostLake no cofre de segredos do serviço, não em um prompt ou arquivo de código-fonte. As chaves têm acesso em nível de conta; portanto, use uma chave nomeada por serviço confiável e revogue-a quando não for mais necessária.
Preços
Todos os planos incluem o servidor MCP e acesso ao agente. Comece com 20 créditos gratuitos por mês e sem cartão. Os créditos são cobrados ao publicar ou quando uma plataforma cobra por uma operação específica. No X, send_message custa 6 créditos; envios no Facebook, Instagram e Bluesky não gastam créditos. Consulte os preços atuais e as taxas de crédito em https://postlake.dev/pricing.
Documentação
- Configuração do MCP e referência de ferramentas: https://docs.postlake.dev/mcp
- Início rápido: https://docs.postlake.dev/quickstart
- Publicação e agendamentos: https://docs.postlake.dev/publishing
- Leitura, Caixa de entrada e engajamento: https://docs.postlake.dev/reading
- Referência da API: https://docs.postlake.dev
Desenvolvido por PostLake. Issues e pull requests são bem-vindos.