PosteAhora

Conecte o Claude, o ChatGPT ou qualquer agente MCP para planejar, escrever, agendar e publicar em todas as redes sociais — ou gerencie tudo você mesmo a partir de um único calendário.

Documentação

@posteahora/mcp

Servidor MCP para PosteAhora — permite que agentes de IA adicionem ideias, criem, agendem e publiquem posts sociais no Instagram, X/Twitter, LinkedIn, Threads, Facebook (e mais) diretamente de um chat.

É um wrapper leve sobre a API REST pública do PosteAhora: cada chamada é autenticada com sua chave de API e passa pelo mesmo pipeline de cota, propriedade e publicação que o aplicativo web.

Obtenha uma chave de API

  1. Abra PosteAhora → Configurações → API e integrações.
  2. Crie uma chave e copie-a (ela é exibida apenas uma vez). Ela se parece com pah_live_….

Workspaces

Uma chave (e um conector hospedado) está vinculada a um workspace — aquele que estava ativo quando você a criou. Portanto, list_accounts, list_posts, list_ideas e get_analytics retornam os dados desse workspace, não tudo o que você possui. Para trabalhar em outro workspace, crie uma chave/conector separado lá. As escritas são limitadas por função: uma chave de visualizador pode ler, mas não pode create_post, schedule_post, update_post, delete_post ou publish_post_now (essas retornam 403).

Instalação (Claude Code / Cursor / Windsurf)

Adicione à configuração do seu cliente MCP:

{
  "mcpServers": {
    "posteahora": {
      "command": "npx",
      "args": ["-y", "@posteahora/mcp"],
      "env": {
        "POSTEAHORA_API_KEY": "pah_live_xxxxxxxx",
        "POSTEAHORA_API_URL": "https://api.posteahora.com/functions/v1/api"
      }
    }
  }
}
  • Claude Code: claude mcp add posteahora -e POSTEAHORA_API_KEY=pah_live_… -e POSTEAHORA_API_URL=https://api.posteahora.com/functions/v1/api -- npx -y @posteahora/mcp
  • Cursor / Windsurf: adicione o JSON acima ao arquivo de configurações do MCP.

Ferramentas

FerramentaO que faz
list_accountsLista contas sociais conectadas. Chame primeiro — você precisa de cada accountId para publicar.
list_ideas / create_ideaLê / adiciona ideias no backlog (sem publicação).
create_postCria um rascunho ou publica agora (status: "published").
schedule_postPublica em um horário futuro (scheduledAt, ISO 8601).
list_posts / get_post_statusInspeciona posts e resultados por plataforma.
upload_mediaEnvia uma imagem/vídeo local da máquina que executa este servidor, retorna uma URL pública para mediaUrls. Use no modo local.
create_upload_urlRetorna uma URL pré-assinada de curta duração para que o cliente envie um arquivo diretamente ao armazenamento. Use no modo remoto/hospedado, onde o servidor não pode ler seus arquivos locais.

Fluxo típico

  1. list_accounts → pegue o id para cada plataforma em que deseja publicar.
  2. (opcional) obtenha um publicUrl para sua mídia:
    • Modo local: upload_media com um filePath absoluto → publicUrl.
    • Modo remoto/hospedado: create_upload_url com filename/sizeBytes → uploadUrl + publicUrl; depois, HTTP PUT os bytes brutos para uploadUrl com o cabeçalho Content-Type correspondente (ex.: curl -T ./slide.jpg "<uploadUrl>" -H 'Content-Type: image/jpeg'). Isso funciona para qualquer tamanho, incluindo vídeo, e é obrigatório para fotos do TikTok (elas devem ser servidas do nosso domínio cdn.posteahora.com verificado).
  3. create_post com accountMappings: [{ platform, accountId }], mediaUrls, e status: "published" (ou schedule_post com scheduledAt).

Modo remoto / hospedado (experimental)

npm run start:http inicia um servidor HTTP Streamable sem estado em /mcp (PORT, padrão 8787). O cabeçalho Authorization: Bearer pah_… do chamador é usado como chave de API (com fallback para POSTEAHORA_API_KEY). Coloque OAuth na frente para um conector multi-tenant de produção.

Desenvolvimento

npm install
npm run build
POSTEAHORA_API_KEY=pah_live_… POSTEAHORA_API_URL=https://api.posteahora.com/functions/v1/api npm start