PostLake
One API that lets developers and AI agents publish, schedule, and pull analytics across social networks without integrating each platform separately.
Documentation
PostLake β MCP server & agent skills for social media
PostLake is the social media API for AI agents. One integration to publish, schedule, and measure across every network β X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube and Pinterest β with one normalised response shape an agent can reason over instead of nine different error formats.
This repo holds the agent skills and documents the hosted MCP server.
- π MCP server:
https://api.postlake.dev/mcp(streamable-http, OAuth) - π Docs: https://postlake.dev/docs/
- π Site: https://postlake.dev
- π For LLMs: https://postlake.dev/llms.txt
MCP configuration
PostLake is a remote MCP server β there is nothing to install, run, or self-host. Point your client at the URL and approve once over OAuth:
{
"mcpServers": {
"postlake": {
"url": "https://api.postlake.dev/mcp"
}
}
}
Note: PostLake is not launched with a local
command. Any config that runsnpxto start this server is incorrect β the server is hosted at the URL above. (Thenpx skills add β¦command further down installs the optional agent skills; it does not start an MCP server.)
Quick start β MCP
Your agent never sees an API key; OAuth handles authorisation.
Claude
claude mcp add postlake https://api.postlake.dev/mcp
Or in Claude Desktop: Settings β Connectors β Add custom connector.
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"postlake": { "url": "https://api.postlake.dev/mcp" }
}
}
Gemini CLI
gemini mcp add postlake https://api.postlake.dev/mcp
VS Code / GitHub Copilot
Agent mode β MCP servers β Add, then paste the same URL.
Header auth (for clients without OAuth)
POST https://api.postlake.dev/v1/mcp
Authorization: Bearer <your_api_key>
Then just ask:
"Post this photo to Instagram and LinkedIn, schedule a follow-up for Friday at 9am, and tell me which of last week's posts did best."
The toolset
A focused set β everything an agent needs to publish and reason about the result, and nothing it doesn't. Account setup and connecting networks stay in the dashboard, where a human belongs.
| Group | Tools |
|---|---|
| Publish & schedule | create_post Β· edit_post Β· cancel_post Β· get_post Β· list_posts |
| Discover & validate | get_platform_capabilities Β· validate_post Β· get_publish_info |
| Channels & media | list_social_accounts Β· list_account_targets Β· list_profiles Β· upload_media |
| Analytics | get_analytics Β· get_post_analytics |
| Identity | whoami |
Agent-safe by design. Publishing is idempotent β pass an Idempotency-Key
and a retrying or restarting agent can never double-post. Every post returns a
per-platform state and url in one shape, so there's no per-network branching.
Agent skills
For coding agents (Claude Code, Cursor, Codex, Windsurf) that use file-based skills rather than MCP:
npx skills add postlake/postlake-mcp --all
| Skill | What your agent can do |
|---|---|
postlake-accounts | List connected accounts; see what platforms are ready |
postlake-publish | Publish a post now to one or more platforms |
postlake-schedule | Schedule for later; list, reschedule, or cancel |
postlake-media | Upload an image or video and attach it to a post |
postlake-analytics | Read per-post and cross-platform performance |
Set your key once:
export POSTLAKE_API_KEY="sk_live_β¦"
Create one at https://app.postlake.dev/app/keys.
Three ways to connect
| Best for | Auth | |
|---|---|---|
| MCP server | Claude, Cursor, ChatGPT, Gemini, any MCP client | OAuth (no key exposed) |
| Agent skills (this repo) | Claude Code, Cursor, Codex, Windsurf | POSTLAKE_API_KEY |
| REST API | LangChain, CrewAI, AutoGen, OpenAI tools, any language | Bearer key |
REST base URL: https://api.postlake.dev/v1 β see the
full docs and per-framework guides for
LangChain,
CrewAI,
AutoGen,
Python and
Node.js.
Security
Agents authorise over OAuth, so an API key is never pasted into a chat or seen by the model. Every agent you authorise appears under Connected Apps in your dashboard β revoke any one and its access is cut off immediately.
Pricing
Usage-based credits: 1 credit per post, with a free tier and no card to start. X costs more because it's the only network that charges per post. See https://postlake.dev/pricing.
Listed in the official MCP Registry
as dev.postlake/social.
Made by CrumbleLake. Issues and PRs welcome.