PostLake
Una sola API que permite a desarrolladores y agentes de IA publicar, programar y obtener análisis en redes sociales sin integrar cada plataforma por separado.
Documentación
PostLake: el sistema operativo social para agentes de IA
Dale a un agente una forma confiable de operar en redes sociales. PostLake permite a los agentes publicar, programar, monitorear, descubrir, responder, moderar y aprender en X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube y Pinterest.
Una sola conexión le da a un agente un contrato normalizado en lugar de nueve SDKs de plataforma, nueve modelos de autenticación y nueve formatos de resultados incompatibles. Puede actuar con un servidor MCP alojado, una habilidad de agente integrable o la API REST.
Un agente puede planificar una campaña, validar cada destino antes de gastar un crédito, publicar o guardar un borrador para aprobación, confirmar publicaciones asíncronas, leer conversaciones y comentarios, manejar lo que necesita respuesta y usar los resultados para decidir qué hacer a continuación.
- MCP alojado:
https://api.postlake.dev/mcp - Documentación: https://docs.postlake.dev
- Sitio web: https://postlake.dev
- Documentos legibles por máquina: https://postlake.dev/llms.txt
- Registro MCP:
dev.postlake/social - Grok Build: instala
postlakedesde el mercado de complementos, o agrega este repositorio como fuente de mercado
Por qué los agentes usan PostLake
Un contrato, todas las redes
Publica una vez o distribuye a todas las redes conectadas. Cada destino tiene el mismo estado, URL, hora y formato de error, por lo que un agente maneja el resultado una sola vez en lugar de escribir lógica de recuperación específica de cada plataforma.
Seguro dejar actuar a un agente
validate_post proporciona una prueba gratuita antes de publicar. Las claves de
idempotencia hacen que los reintentos sean seguros. Los propietarios pueden exigir aprobación en una conexión
OAuth, lo que obliga a que cada solicitud de publicación de ese agente se convierta en un borrador y evita que
apruebe su propio trabajo. confirm_post verifica un proveedor asíncrono después
de que acepta una publicación, y cada acción informa el resultado individual del destino en lugar
de ocultar fallos parciales.
No es solo un endpoint de publicación
Un agente puede leer un feed unificado de notificaciones, mensajes directos, comentarios y rendimiento de publicaciones. Luego puede responder, moderar, interactuar, investigar un tema o inspeccionar una cuenta antes de actuar. La gestión social permanece en el mismo flujo de trabajo que la publicación.
Control humano donde corresponde
OAuth hace que el propietario de la cuenta apruebe una conexión en el navegador. get_connect_link
permite que un agente lo envíe directamente a ese paso de aprobación. Los propietarios pueden revocar un
agente, gestionar canales, establecer límites de agente y exigir aprobación desde PostLake.
Un agente OAuth no puede crear una clave de cuenta sin restricciones para eludir esos
controles, y nunca necesita una contraseña de red social.
Comienza en minutos
MCP alojado: Cursor, Claude, ChatGPT, Gemini, Copilot y más
PostLake es un servidor MCP HTTP Streamable remoto. No se instala, ejecuta ni aloja nada localmente. Agrega este servidor en tu cliente MCP y luego completa la aprobación OAuth de PostLake una vez.
PostLake admite las revisiones de protocolo 2026-07-28, 2025-11-25,
2025-06-18 y 2025-03-26. Los clientes existentes pueden conservar su
handshake heredado; los clientes más nuevos usan server/discover y metadatos por solicitud.
Tanto /mcp como el endpoint de compatibilidad con claves API /v1/mcp preservan la identidad
del agente, las salvaguardas de aprobación y los límites de publicación. Las anotaciones de herramientas son
indicaciones conservadoras, no permisos. Los agentes conectados por OAuth o restringidos
no pueden crear claves API sin restricciones para eludir los controles del propietario.
{
"mcpServers": {
"postlake": {
"url": "https://api.postlake.dev/mcp"
}
}
}
Cursor
Abre Configuración -> Herramientas y MCP -> Nuevo servidor MCP, agrega la configuración anterior, luego selecciona Conectar para PostLake y aprueba el inicio de sesión en el navegador.
Claude Code
claude mcp add --transport http postlake https://api.postlake.dev/mcp
Grok Build
Este repositorio es un complemento de Grok Build. Incluye el servidor MCP alojado y las habilidades del agente. Sin proceso local, sin hooks de shell, sin clave API en el chat.
Agrega este repositorio como mercado y luego instala postlake:
grok plugin marketplace add PostLake/postlake-mcp
grok plugin install postlake --trust
Dentro de Grok Build también puedes explorar /marketplace después de que el catálogo
oficial de xAI lo liste.
El servidor MCP es https://api.postlake.dev/mcp (HTTP Streamable). En el primer
uso, Grok abre OAuth de PostLake en el navegador. El propietario de la cuenta aprueba el
agente una vez y puede revocarlo desde https://app.postlake.dev/app/agents.
Este complemento solo llama a:
https://api.postlake.dev(MCP y REST)https://postlake.devyhttps://docs.postlake.dev(documentos que citan las habilidades)https://app.postlake.dev(aprobación OAuth y panel de control)
openclaw/ en este repositorio es un paquete OpenClaw separado. Grok Build no
lo carga.
Otros clientes MCP
Agrega https://api.postlake.dev/mcp como servidor MCP remoto. El desafío OAuth
inicial abre el flujo de inicio de sesión y aprobación del host. Instrucciones completas de configuración:
https://docs.postlake.dev/mcp
Habilidades integrables: agentes de codificación
Instala las habilidades de agente de PostLake para Claude Code, Cursor, Codex, Windsurf y otros agentes de codificación compatibles con habilidades:
npx skills add postlake/postlake-mcp --all
Configura POSTLAKE_API_KEY en el entorno de ejecución del agente y luego pídele que maneje el trabajo
social en lenguaje natural. Las habilidades cubren cuentas, publicación, programación,
medios, conversaciones de bandeja de entrada y análisis.
API REST: entornos de ejecución de agentes personalizados
Usa https://api.postlake.dev/v1 desde LangGraph, CrewAI, AutoGen, llamadas de
herramientas de OpenAI o cualquier cliente HTTPS. La API REST y el servidor MCP funcionan con los mismos
perfiles, canales, publicaciones y reglas de seguridad.
Lo que un agente puede hacer
El servidor MCP actualmente proporciona 63 herramientas enfocadas. Están diseñadas en torno a resultados sociales en lugar de APIs individuales de plataforma.
| Resultado | Herramientas |
|---|---|
| Entender la cuenta | 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 y organizar canales | create_profile, rename_profile, delete_profile, connect_account, get_connect_link, disconnect_account |
| Planificar y validar | get_platform_capabilities, get_publish_info, validate_post |
| Publicar y programar | create_post, create_scheduled_calendar, get_post, confirm_post, list_posts, edit_post, edit_scheduled_posts_bulk, cancel_post, publish_draft, delete_post |
| Medios | upload_media, upload_media_batch, manage_media |
| Bandeja 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 |
| Descubrir y entender la red | search_posts, look_up_profile, read_profile_posts, search_places, list_own_posts, list_tagged_posts |
| Interactuar y gestionar presencia | engage, update_profile |
| Comercio, eventos y colaboraciones | list_products, list_events, create_event, find_creators |
| Transmisiones en vivo de páginas de Facebook | create_live_broadcast, start_live_broadcast, list_live_broadcasts, get_live_broadcast, end_live_broadcast |
| Medir y mejorar | get_post_analytics, get_analytics |
set_my_name solo cambia el nombre para mostrar del agente autenticado. El propietario
de la cuenta puede configurar y bloquear ese nombre en Control de agente. Renombrar no cambia la
clave API subyacente ni la identidad del cliente OAuth.
Las herramientas de publicidad de Meta y de anuncios de asociación no están disponibles actualmente. No le pidas a un agente que use operaciones de socio de marca, cuenta publicitaria o anuncios de asociación.
list_posts admite paginación por cursor limitada y filtros por estado, agente,
perfil, red, fechas, estado de aprobación, campaña, composición de destino única o compartida,
y una búsqueda de título literal que no distingue mayúsculas con q. Esto permite
que un agente inspeccione el historial de publicación sin cargar
todas las publicaciones de una cuenta en una sola respuesta de herramienta. El endpoint REST
GET /v1/posts usa el mismo comportamiento de búsqueda y paginación.
edit_scheduled_posts_bulk cambia hasta 200 publicaciones programadas en una sola operación
protegida. Primero obtén una vista previa con dryRun: true, inspecciona los valores antes y después
de cada publicación, y luego aplica con el snapshot devuelto. Puede cambiar títulos,
títulos por red, cuentas de destino exactas, metadatos de campaña y recursos,
o desplazar instantes UTC programados. Si una publicación seleccionada cambia antes de aplicar,
toda la edición se rechaza. create_scheduled_calendar obtiene una vista previa y crea hasta
200 publicaciones programadas en una sola transacción, usando tiempos explícitos o una cadencia
UTC transcurrida. Aplica su instantánea de vista previa con una clave de idempotencia única. El endpoint
REST de cancelación masiva también elimina un lote seleccionado exacto de forma atómica.
Crear un nuevo calendario y cancelar uno anterior siguen siendo operaciones separadas.
Los llamadores MCP autenticados con clave de cuenta también pueden usar create_api_key para transferir
a otro servicio de confianza. Los agentes OAuth no ven ni reciben esta herramienta porque
una clave de cuenta eludiría sus límites establecidos por el propietario.
Cancelación, eliminación social y borrado de archivos subidos
Estas son acciones separadas. cancel_post detiene la publicación futura y conserva
los archivos subidos. delete_post solicita eliminaciones en redes compatibles e informa
cada destino; las publicaciones de Instagram y TikTok deben eliminarse en
sus propias aplicaciones. Ninguna acción borra archivos subidos ni reembolsa créditos de publicación gastados.
Usa delete_post con dryRun: true para obtener una vista previa de la compatibilidad del destino, luego
obtén la confirmación del propietario y envía el snapshot devuelto al aplicar. Las eliminaciones
aceptadas se recuerdan en resultados parciales y no se repiten al reintentar.
manage_media lista los archivos almacenados con action: "list". Usa
action: "preview_delete" con un ID de medio para ver las publicaciones afectadas y obtener una
instantánea. Solo después de que el propietario confirme el borrado irreversible debe un agente
aplicar action: "delete" con esa instantánea. Los borradores, las solicitudes de aprobación y
las publicaciones pendientes deben dejar de usar el archivo primero. Los bytes de origen y las vistas
previas almacenadas se eliminan; las copias sociales publicadas permanecen en línea. Los fallos de
almacenamiento siguen siendo reintentables. Más de 200 referencias guardadas requieren borrado asistido por soporte.
Los recursos subidos conservan el mínimo existente de 90 días en cada cuenta abierta, con protección de referencia programada más larga y sin caducidad automática actual. El borrado explícito por parte del propietario es una excepción, no una política de caducidad rutinaria. Los orígenes y las vistas previas usan URLs públicas. Conserva originales duraderos y nunca subas secretos. Contratos REST completos y direcciones del panel de control: https://docs.postlake.dev/media#deletion.
Un flujo de trabajo de agente que no rompe la confianza
- Llama a
whoamiylist_social_accountspara entender la cuenta, los límites, los canales conectados y la preparación actual. - Si un humano aún necesita conectar un canal, llama a
get_connect_linky envíale la URL de aprobación de corta duración. No le pidas que busque en un panel de control. - Llama a
get_platform_capabilitiesyvalidate_postantes de crear una publicación en múltiples redes. PostLake devuelve la restricción exacta y la corrección de cada destino. - Usa
create_postpara publicar, programar o guardar undraftpara revisión humana. Si el propietario habilitó "Requerir mi aprobación", PostLake guarda un borrador incluso cuando el agente no lo solicita. Incluye una clave de idempotencia para que un reintento no pueda publicar dos veces. - Si una plataforma está procesando de forma asíncrona, llama a
confirm_postpara obtener el estado confirmado por el proveedor sin esperar una URL pública. - Usa
list_notifications,list_conversationsyread_commentspara ver qué necesita atención. Responde, modera o interactúa solo donde la plataforma lo admita. - Usa
get_analyticsyget_post_analyticspara convertir los resultados en la próxima acción informada, no en una hoja de cálculo que alguien tenga que interpretar después.
Mensajes directos
Facebook, Instagram, X y Bluesky usan una forma de conversación normalizada.
Los agentes listan hilos con list_conversations, abren uno con
read_conversation, lo finalizan con mark_conversation_read y responden con
send_message. Un mensaje puede incluir content para un adjunto, medios
compartidos o un payload de proveedor que PostLake no puede aplanar de forma segura a texto.
Facebook e Instagram pueden entregar webhooks de message.received. X y Bluesky
no envían mensajes entrantes a PostLake, así que consulta list_conversations en un
horario. Enviar un DM en X cuesta 6 créditos; enviar en las otras redes de bandeja de entrada
compatibles no gasta créditos. Guía completa de REST y MCP:
https://docs.postlake.dev/messages.
Ejemplos de prompts
- "Revisa cada canal conectado y dime qué necesita aprobación humana."
- "Redacta una publicación de lanzamiento para LinkedIn, Instagram, Threads y TikTok. Valídala, guárdala como borrador y muéstrame los cambios específicos por plataforma."
- "Lee los nuevos mensajes directos y comentarios. Dame borradores de respuesta concisos, pero no envíes nada hasta que yo los apruebe."
- "Encuentra lo que la gente dice sobre este tema, inspecciona las tres cuentas más fuertes y propón una publicación que aporte algo útil."
- "Confirma la publicación de TikTok de ayer, luego compara su rendimiento con el resto de la semana y recomienda la próxima publicación."
Consciente de la plataforma, no ciego a ella
PostLake conoce las restricciones que hacen que las automatizaciones sociales fallen en la vida real: tipos de medios, cantidades de imágenes, límites de subtítulos, configuraciones de TikTok a nivel de creador, opciones de privacidad específicas de la red, destinos de publicación, publicación asíncrona y si una conexión determinada puede leer, buscar, enviar mensajes o interactuar.
Cuando una plataforma no puede realizar una acción, PostLake lo indica en la respuesta. Una lista vacía nunca significa silenciosamente que una red no fue leída. Una publicación parcial no finge que todos los destinos tuvieron éxito. Los agentes obtienen la información que necesitan para recuperarse de manera segura.
Qué contiene este repositorio
| Ruta | Usado por |
|---|---|
skills/ | Claude Code, Cursor, Codex, Windsurf (npx skills add postlake/postlake-mcp --all) |
.mcp.json | Grok Build, plugins de Claude Code, plugins de Cursor. Solo MCP alojado. |
.grok-plugin/ | Manifiesto del plugin de Grok Build |
.claude-plugin/ | Manifiesto del plugin de Claude Code / Cursor |
openclaw/ | Solo OpenClaw. No forma parte del plugin de Grok o Claude. |
Seguridad y propiedad
Para clientes MCP interactivos, PostLake utiliza OAuth y PKCE. El propietario de la cuenta aprueba cada agente conectado una vez y puede revocarlo desde el panel en cualquier momento. Los tokens OAuth están limitados a ese cliente y se actualizan automáticamente. Los propietarios pueden imponer límites de perfil, plataforma, créditos diarios, créditos de paquete y de aprobación. Un agente con aprobación obligatoria no puede publicar sus propios borradores ni generar una clave API de cuenta sin restricciones.
Para servicios desatendidos, usa una clave API de PostLake en el almacén de secretos del servicio, no en un prompt o archivo fuente. Las claves tienen acceso a nivel de cuenta, así que usa una clave con nombre por servicio de confianza y revócala cuando ya no sea necesaria.
Precios
Cada plan incluye el servidor MCP y acceso para agentes. Comienza con 20 créditos gratuitos al mes y sin tarjeta. Los créditos se cobran al publicar o cuando una plataforma cobra por una operación específica. En X, send_message cuesta 6 créditos; los envíos en Facebook, Instagram y Bluesky no gastan créditos. Consulta los precios actuales y las tasas de crédito en https://postlake.dev/pricing.
Documentación
- Configuración de MCP y referencia de herramientas: https://docs.postlake.dev/mcp
- Inicio rápido: https://docs.postlake.dev/quickstart
- Publicación y horarios: https://docs.postlake.dev/publishing
- Lectura, Bandeja de entrada e interacción: https://docs.postlake.dev/reading
- Referencia de API: https://docs.postlake.dev
Creado por PostLake. Se aceptan problemas y solicitudes de extracción.