PosteAhora

Conecta Claude, ChatGPT o cualquier agente MCP para planificar, escribir, programar y publicar en todas las redes sociales, o gestiona todo tú mismo desde un solo calendario.

Documentación

@posteahora/mcp

Servidor MCP para PosteAhora — permite que agentes de IA añadan ideas, creen, programen y publiquen publicaciones sociales en Instagram, X/Twitter, LinkedIn, Threads, Facebook (y más) directamente desde un chat.

Es un envoltorio ligero sobre la API REST pública de PosteAhora: cada llamada se autentica con tu clave de API y pasa por el mismo pipeline de cuotas, propiedad y publicación que la aplicación web.

Obtener una clave de API

  1. Abre PosteAhora → Configuración → API e integraciones.
  2. Crea una clave y cópiala (se muestra una sola vez). Se ve así: pah_live_….

Espacios de trabajo

Una clave (y un conector alojado) está vinculada a un espacio de trabajo — aquel que estaba activo cuando la creaste. Por lo tanto, list_accounts, list_posts, list_ideas y get_analytics devuelven los datos de ese espacio de trabajo, no todo lo que posees. Para trabajar en otro espacio de trabajo, crea una clave/conector separado allí. Las escrituras están restringidas por rol: una clave de visor puede leer pero no create_post, schedule_post, update_post, delete_post ni publish_post_now (esas devuelven 403).

Instalación (Claude Code / Cursor / Windsurf)

Añade a tu configuración del 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: añade el JSON anterior al archivo de configuración de MCP.

Herramientas

HerramientaQué hace
list_accountsLista las cuentas sociales conectadas. Llámalo primero — necesitas cada accountId para publicar.
list_ideas / create_ideaLeer / añadir ideas del backlog (sin publicar).
create_postCrear un borrador, o publicar ahora (status: "published").
schedule_postPublicar en un momento futuro (scheduledAt, ISO 8601).
list_posts / get_post_statusInspeccionar publicaciones y resultados por plataforma.
upload_mediaSubir una imagen/video local desde la máquina que ejecuta este servidor, devuelve una URL pública para mediaUrls. Úsalo en modo local.
create_upload_urlDevuelve una URL prefirmada de corta duración para que el cliente suba un archivo directamente al almacenamiento. Úsalo en modo remoto/alojado, donde el servidor no puede leer tus archivos locales.

Flujo típico

  1. list_accounts → obtén el id para cada plataforma a la que quieras publicar.
  2. (opcional) obtén un publicUrl para tu contenido multimedia:
    • Modo local: upload_media con una filePath absoluta → publicUrl.
    • Modo remoto/alojado: create_upload_url con filename/sizeBytesuploadUrl + publicUrl; luego HTTP PUT los bytes sin procesar a uploadUrl con el encabezado Content-Type correspondiente (p. ej., curl -T ./slide.jpg "<uploadUrl>" -H 'Content-Type: image/jpeg'). Esto funciona para cualquier tamaño, incluido video, y es obligatorio para fotos de TikTok (deben servirse desde nuestro dominio verificado cdn.posteahora.com).
  3. create_post con accountMappings: [{ platform, accountId }], mediaUrls, y status: "published" (o schedule_post con scheduledAt).

Modo remoto / alojado (experimental)

npm run start:http inicia un servidor HTTP Streamable sin estado en /mcp (PORT, predeterminado 8787). El encabezado Authorization: Bearer pah_… del llamante se usa como clave de API (con respaldo a POSTEAHORA_API_KEY). Pon OAuth delante para un conector multiinquilino de producción.

Desarrollo

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