postlake-mcp
PostLake MCP server and agent skills. One API for AI agents to publish, schedule and measure social posts across X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube and Pinterest.
Documentation
PostLake: the social operating system for AI agents
Give an agent one reliable way to run social. PostLake lets agents publish,
schedule, monitor, discover, reply, moderate, and learn across X, LinkedIn,
Instagram, TikTok, Facebook, Threads, Bluesky, YouTube, and Pinterest.
One connection gives an agent one normalised contract instead of nine platform
SDKs, nine auth models, and nine incompatible result shapes. It can act with a
hosted MCP server, a drop-in agent skill, or the REST API.
> An agent can plan a campaign, validate each destination before it spends a
> credit, publish or save a draft for approval, confirm asynchronous posts,
> read conversations and comments, handle what needs a response, and use the
> results to decide what to do next.
- Hosted MCP: `https://api.postlake.dev/mcp`
- Documentation: https://docs.postlake.dev
- Website: https://postlake.dev
- Machine-readable docs: https://postlake.dev/llms.txt
- MCP Registry: `dev.postlake/social`
Why agents use PostLake
One contract, every network
Post once or fan out to every connected network. Each target has the same
state, URL, time, and error shape, so an agent handles the result once rather
than writing platform-specific recovery logic.
Safe to let an agent act
`validate_post` provides a free dry run before publishing. Idempotency keys
make retries safe. Drafts support a human approval step. `confirm_post` checks
an asynchronous provider after it accepts a post, and every action reports the
individual target result rather than hiding partial failure.
Not just a publishing endpoint
An agent can read a unified feed of notifications, direct messages, comments,
and post performance. It can then reply, moderate, engage, research a topic,
or inspect an account before it acts. Social management stays in the same
workflow as publishing.
Human control where it belongs
OAuth makes the account owner approve a connection in the browser. `get_connect_link`
lets an agent send them directly to that approval step. Owners can revoke an
agent, manage channels, and set agent limits from PostLake. An agent never
needs a social-network password.
Start in minutes
Hosted MCP: Cursor, Claude, ChatGPT, Gemini, Copilot, and more
PostLake is a remote Streamable HTTP MCP server. Nothing is installed, run, or
self-hosted. Add this server in your MCP client, then complete the PostLake
OAuth approval once.
{
"mcpServers": {
"postlake": {
"url": "https://api.postlake.dev/mcp"
}
}
}Cursor
Open Settings -> Tools & MCP -> New MCP server, add the configuration above,
then select Connect for PostLake and approve the browser sign-in.
Claude Code
claude mcp add --transport http postlake https://api.postlake.dev/mcpOther MCP clients
Add `https://api.postlake.dev/mcp` as a remote MCP server. The initial OAuth
challenge opens the host's sign-in and approval flow. Full setup instructions:
https://docs.postlake.dev/mcp
Drop-in skills: coding agents
Install PostLake's agent skills for Claude Code, Cursor, Codex, Windsurf, and
other skills-compatible coding agents:
npx skills add postlake/postlake-mcp --allSet `POSTLAKE_API_KEY` in the agent's runtime, then ask it to handle social
work in plain language. The skills cover accounts, publishing, scheduling,
media, and analytics.
REST API: custom agent runtimes
Use `https://api.postlake.dev/v1` from LangGraph, CrewAI, AutoGen, OpenAI tool
calls, or any HTTPS client. The REST API and MCP server work against the same
profiles, channels, posts, and safety rules.
What an agent can do
The MCP server currently provides 53 focused tools. They are designed around
social outcomes rather than individual platform APIs.
| Outcome | Tools |
|---|---|
| Understand the account | `whoami`, `get_credits`, `list_profiles`, `list_social_accounts`, `get_social_account`, `list_account_targets`, `check_allowance` |
| Connect and organise channels | `create_profile`, `rename_profile`, `delete_profile`, `connect_account`, `get_connect_link`, `disconnect_account`, `create_api_key` |
| Plan and validate | `get_platform_capabilities`, `get_publish_info`, `validate_post` |
| Publish and schedule | `create_post`, `get_post`, `confirm_post`, `list_posts`, `edit_post`, `cancel_post`, `publish_draft`, `delete_post` |
| Media | `upload_media`, `upload_media_batch` |
| Unified Inbox | `list_notifications`, `mark_notifications_seen`, `list_conversations`, `read_conversation`, `mark_conversation_read`, `send_message`, `read_comments`, `reply_to_comment`, `hide_comment`, `delete_comment` |
| Discover and understand the network | `search_posts`, `look_up_profile`, `read_profile_posts`, `search_places`, `list_own_posts`, `list_tagged_posts` |
| Engage and manage presence | `engage`, `update_profile` |
| Commerce, events, and collaborations | `list_products`, `list_branded_partners`, `list_ad_accounts`, `list_events`, `create_event`, `find_creators` |
| Measure and improve | `get_post_analytics`, `get_analytics` |
An agent workflow that does not break trust
1. Call `whoami` and `list_social_accounts` to understand the account, limits,
connected channels, and current readiness.
2. If a human still needs to connect a channel, call `get_connect_link` and send
them the short-lived approval URL. Do not ask them to hunt through a dashboard.
3. Call `get_platform_capabilities` and `validate_post` before creating a
multi-network post. PostLake returns each target's exact constraint and fix.
4. Use `create_post` to publish, schedule, or save a `draft` for human review.
Include an idempotency key so a retry cannot double-post.
5. If a platform is processing asynchronously, call `confirm_post` to obtain
the provider-confirmed state without waiting for a public URL.
6. Use `list_notifications`, `list_conversations`, and `read_comments` to see
what needs attention. Reply, moderate, or engage only where the platform
supports it.
7. Use `get_analytics` and `get_post_analytics` to turn results into the next
informed action, not a spreadsheet someone has to interpret later.
Example prompts
- "Check every connected channel, then tell me what needs a human approval."
- "Draft a launch post for LinkedIn, Instagram, Threads, and TikTok. Validate
it, save it as a draft, and show me the platform-specific changes."
- "Read new DMs and comments. Give me concise reply drafts, but do not send
anything until I approve them."
- "Find what people are saying about this topic, inspect the strongest three
accounts, then propose a post that adds something useful."
- "Confirm yesterday's TikTok post, then compare its performance with the rest
of the week and recommend the next post."
Platform-aware, not platform-blind
PostLake knows the constraints that cause social automations to fail in real
life: media types, image counts, caption limits, creator-level TikTok settings,
network-specific privacy options, post destinations, async publishing, and
whether a given connection can read, search, message, or engage.
When a platform cannot perform an action, PostLake says so in the response.
An empty list never silently means a network was not read. A partial publish
does not pretend every destination succeeded. Agents get the information they
need to recover safely.
Security and ownership
For interactive MCP clients, PostLake uses OAuth and PKCE. The account owner
approves each connected agent once and can revoke it from the dashboard at any
time. OAuth tokens are scoped to that client and refresh automatically.
For unattended services, use a PostLake API key in the service's secret store,
not in a prompt or source file. Keys have account-level access, so use a named
key per trusted service and revoke it when it is no longer needed.
Pricing
Every plan includes the MCP server and agent access. Start with 20 free credits
per month and no card. Credits are charged when publishing or where a platform
charges for a particular operation. See the current pricing and credit rates at
https://postlake.dev/pricing.
Documentation
- MCP setup and tool reference: https://docs.postlake.dev/mcp
- Quickstart: https://docs.postlake.dev/quickstart
- Publishing and schedules: https://docs.postlake.dev/publishing
- Reading, Inbox, and engagement: https://docs.postlake.dev/reading
- API reference: https://docs.postlake.dev
Built by PostLake. Issues and pull requests are welcome.
Frequently asked questions
What is postlake-mcp?
postlake-mcp is PostLake MCP server and agent skills. One API for AI agents to publish, schedule and measure social posts across X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube and Pinterest.
How do I install postlake-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is postlake-mcp open source?
Yes — it is hosted on GitHub at https://github.com/PostLake/postlake-mcp.
Related MCP tools
Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.
Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
The go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP