How to Schedule Social Media Posts with MCP (2026 Guide)
To schedule social media posts with MCP, you connect an MCP-compatible AI client (Claude, ChatGPT, Cursor, Codex and others) to a scheduler that exposes an MCP server, then ask the agent to list your accounts, create drafts and schedule the ones you approve. The agent writes and organizes the content. The scheduler stores the drafts and publishes them at the time you chose.
This guide uses the CrossPostingPal MCP server for the examples, but the flow is the same for any scheduler with an MCP endpoint.
What Is MCP, and Why Use It for Social Media?
The Model Context Protocol (MCP) is an open standard that lets an AI client call tools on an external service. Instead of copying a post from a chat window into a scheduling dashboard, the agent calls tools such as “list accounts” and “schedule post” directly.
That removes the copy-and-paste step from workflows like:
- turning a weekly notes document into a batch of posts
- announcing a release from a changelog
- repurposing an article or founder memo into platform-specific versions
What You Need
- A scheduler account with your social accounts connected (CrossPostingPal has a 3-day free trial, no credit card required)
- An MCP-compatible client: Claude, ChatGPT (developer mode), Cursor, Claude Code, Codex, Hermes Agent and similar
- A configuration to paste (or an OAuth sign-in) for each client
Step 1: Connect Your Social Accounts
Connect the accounts you want the agent to post to in your scheduler dashboard first. The agent can only use accounts that are already connected, and it discovers them with a tool call, so you never paste account credentials into a chat.
Step 2: Choose How the Client Authenticates
There are two options:
- OAuth (ChatGPT, Claude custom connectors, Hermes): you sign in to CrossPostingPal and approve the permissions. No token to copy.
- Personal access token (Cursor, Claude Code, Codex): create a token in Settings → Developer / AI Agents. It looks like
cpp_pat_…and is shown only once, so copy it immediately. Use a separate token per client, keep it out of source control and chat, and revoke it if it may have leaked.
Step 3: Add the MCP Server to Your Client
The CrossPostingPal endpoint is https://api.crosspostingpal.com/api/mcp (Streamable HTTP, JSON-RPC 2.0).
Cursor (~/.cursor/mcp.json or .cursor/mcp.json):
{
"mcpServers": {
"crosspostingpal": {
"url": "https://api.crosspostingpal.com/api/mcp",
"headers": {
"Authorization": "Bearer cpp_pat_YOUR_TOKEN"
}
}
}
}
Claude Code:
claude mcp add --transport http crosspostingpal https://api.crosspostingpal.com/api/mcp \
--header "Authorization: Bearer cpp_pat_YOUR_TOKEN"
ChatGPT: enable Developer mode under Settings → Apps → Advanced settings, choose Create MCP app, set the URL to the endpoint above and pick OAuth. ChatGPT registers itself and opens a CrossPostingPal sign-in page.
For Claude connectors, Codex, Hermes, OpenCode, Gemini CLI and other clients, see the full MCP setup docs and the integration guides.
Step 4: Ask the Agent to Schedule a Post
Start with a safe, reviewable prompt:
List my connected CrossPostingPal accounts. Write one X post and one Bluesky post announcing our new feature, using only the facts below. Show me both versions. After I approve them, create drafts and return the post IDs. Do not schedule or publish yet.
When the drafts look right, give explicit dates, times and a timezone:
Schedule the approved drafts for tomorrow at 10:00 Europe/Warsaw.
What the Agent Actually Calls
Under the hood the agent chains a few tools:
list_social_accountsreturns your account IDs and what each account can docreate_post_draftsaves a draft you can see in the normal dashboardcreate_and_schedule_postorschedule_postqueues it for a specific timelist_scheduled_postsandget_postlet the agent check status afterwards
A raw scheduling call looks like this:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "create_and_schedule_post",
"arguments": {
"text": "We just launched X",
"socialAccountIds": [123, 124],
"scheduledAt": "2026-10-07T10:00:00+02:00"
}
}
}
Keeping a Human in the Loop
MCP gives an agent real publishing power, so set it up deliberately:
- Draft first. Ask the agent to create drafts and review them in the dashboard before scheduling. Nothing is published outside your normal queue.
- Scheduling is authorization. A scheduled post publishes at its time, so approve copy, accounts and timezone before you say “schedule”.
- Immediate publishing is a separate permission.
publish_nowrequires theposts:publishscope, which is off by default on the OAuth consent screen. - Revoke any time. Revoking a token in Settings takes effect immediately.
Limits to Know About
- Instagram, TikTok and Dribbble require public media URLs that stay reachable until publish time. You can host the file yourself or call
upload_mediafirst. - Always include a timezone offset in
scheduledAt(for example+02:00orZ), or pass an IANAtimezone. Without either, UTC is used. - The endpoint is rate-limited per user and per token, and exceeding limits returns HTTP 429.
- Agents currently cannot edit or delete posts, manage account connections or read analytics.
Three Workflows That Work Well
- Weekly batch from notes: paste your week’s updates, ask for three angles, review, then schedule across the week.
- Release announcements: give the agent a reviewed changelog and ask it to omit anything unreleased, then schedule after deployment.
- Article repurposing: hand over a long post and ask for a concise X version and a conversational Bluesky or Mastodon version, as separate drafts.
Ready-made versions of each are in the Claude, ChatGPT, Codex and Hermes guides.
FAQ
What is an MCP server for social media?
It is an endpoint that exposes scheduling actions (list accounts, create drafts, schedule posts) as tools an AI client can call. The AI client does the thinking; the server stores and publishes the posts.
Is it safe to let an AI agent post for me?
It is as safe as the permissions you grant. Use drafts by default, keep posts:publish off unless you need it, use a separate token per client, and review before scheduling. You can revoke access instantly.
Which AI clients work with CrossPostingPal MCP?
Any client that supports remote MCP. We document Claude, ChatGPT (developer mode), Cursor, Claude Code, Codex and Hermes Agent, plus skills and guides for OpenClaw, OpenCode and Gemini CLI.
Can the agent publish immediately instead of scheduling?
Yes, with the separate posts:publish permission. Prefer drafts and scheduled posts so everything stays reviewable.
Do I need to code to use MCP?
No. For ChatGPT and Claude connectors you add the endpoint and sign in with OAuth. For Cursor, Claude Code or Codex you paste a short configuration.
What does it cost?
CrossPostingPal starts at $4.99/month with a 3-day free trial and no credit card required. See the pricing page for what each plan includes.
Related Articles: