Connect any MCP client and it can do four jobs in PlanPost: posts and scheduling, what is queued and what failed, analytics, and revenue. Its posts go out at the time it sets, or wait for your approval if you turn that on.
Free plan, no card: 2 accounts, 30 posts a month, your agent included. X needs a paid plan.
claude mcp add --transport http planpost https://mcp.planpo.st/mcpNo key to paste. Your agent opens planpo.st in the browser, you log in and allow access. Works in Claude Code, Claude, ChatGPT, Cursor and Gemini CLI.
A social media MCP server is a set of tools an AI agent can call to run social accounts: create a post, schedule it, publish it, read how it did. MCP (Model Context Protocol) is the standard that lets Claude, ChatGPT, Cursor and other clients discover those tools without a custom plugin. The planpo.st server adds what most of them leave out: tools that read back your analytics and revenue, and an approval switch per agent.
Add the hosted endpoint and sign in: one command, no key. The agent opens planpo.st in your browser, you log in, see what it may do and allow it. On that screen you choose whether its posts wait for your approval; the switch starts off, and you can change it later on the Agent page. An API key and a local npm package are there for CI and for clients that only speak stdio; all three routes are in the box at the top of this page.
Bundles for one-step installs: npx skills add lukBB/planpost-mcp --skill planpost for Codex and other skill-aware agents, and gemini extensions install https://github.com/lukBB/planpost-mcp for Gemini CLI. Source and plugin manifests are on GitHub.
Four jobs, and the accounts it posts from. The tools that do each one:
Draft, schedule and reschedule, one post or up to 50 in a call. Each network can get its own text, media and settings, and every post can wait for your approval if you turn that on.
create_postbulk_create_postsupdate_postpreview_postget_best_timessuggest_schedule
Filter the queue by status, network or campaign. Failed posts come back with the error and the fix, and a passing failure can be sent again.
list_postsget_postlist_campaignsget_delivery_reportretry_failedlist_pending_approvals
Impressions, likes, comments and shares for published posts, on Creator and Pro.
get_analytics
Revenue totals, conversions and the trend from Stripe, Shopify or RevenueCat, on Creator and Pro. Revenue next to each post is on Pro.
get_revenue_overview
Find the accounts to post to, and hand you the link to connect a new one.
list_connectionsget_connection_linklist_account_groupsget_account_group
The full reference, every tool with its description, is in the MCP tool reference. An API key can be scoped to fewer permissions if an agent should have less.
Sample data
One request
The agent reads your plan, calls get_best_times, books six posts with create_post, then calls get_delivery_report for last week. With approval on, the six posts wait in Posts, under In review; you approve them in the app, or ask the agent to walk you through them. With it off, they go out at those times.
That is the whole loop: plan, approve, check.
Every MCP client works. These have their own guides.
Each of those agents also has a page per network, with the settings that network reads and the limits that stop a post. Start from the network you care about:
Using something not listed?
The agent schedules to every network the app does, each in its own formats.
The agent reads revenue totals from the sources you connect, on Creator and Pro. On Pro the app puts revenue next to the post that earned it.
Post, track the link, match the payment, read it back: how revenue reaches the post is its own page.
What agents can do here
Free plan, no card: 2 accounts, 30 posts a month, your agent included. X needs a paid plan.