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 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 runs
npx to start this server is incorrect โ the server is hosted at the URL above.
(The npx 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.
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."
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.