How to schedule social media posts with Claude (MCP guide)
Connect Claude to Postoni with MCP and let it draft, tailor and schedule posts to LinkedIn, X, Instagram, Bluesky and 25+ more networks, with every post waiting for your approval.
Published 7 min read
Contents(8)
Claude is good at writing posts. What it can't do on its own is publish them: it has no access to your LinkedIn page, your X account or your content calendar. MCP fixes that. Once you connect Claude to a scheduler through MCP, you can ask for a week of posts in plain English and find them waiting as drafts on your calendar a few seconds later.
This guide walks through the setup for Claude on the web and desktop, Claude Code and Cursor, then covers the prompts that work well, how approvals keep a person in charge, and what to check when something doesn't connect.
Key takeaways
- MCP (Model Context Protocol) is a standard way for AI assistants to use other apps. Postoni runs an MCP server at
https://postoni.com/mcp. - In Claude, you add Postoni as a custom connector and sign in. No API key needed.
- In Claude Code and Cursor, you add the same URL with an API key from Postoni Settings.
- Posts Claude creates land as drafts by default. Nothing publishes until you approve it.
What MCP is, in plain English
MCP stands for Model Context Protocol. It's an open standard, introduced by Anthropic in late 2024, that lets an AI assistant call tools in another app: read some data, create a record, trigger an action. Think of it as a USB port for AI. The app publishes a list of things it can do, and any assistant that speaks MCP can use them.
For social media, that means a scheduler can tell Claude: here are this person's connected channels, here is each network's character limit and options, and here is how to create a post for a given time. Claude reads that, writes posts that fit, and calls the tool to put them on your calendar.
The key point is that Claude never gets your social media passwords. It talks to the scheduler, and the scheduler talks to each network through its official API, exactly as it would if you clicked the buttons yourself. You can read more about how the server works on our MCP server page.
What you need
Before you start, have these ready:
- A Claude plan that supports custom connectors. Custom connectors are available on Claude's paid plans. On Team and Enterprise, an organisation owner adds the connector in organisation settings first, then members can switch it on. Anthropic changes these menus from time to time, so check their help centre if a label looks different.
- A Postoni account with channels connected. Every plan includes the MCP server and the API, and so does the 7-day free trial, which needs no card.
- For Claude Code or Cursor: an API key from Postoni Settings.
Connect the channels you want Claude to post to before you begin. Claude can only see accounts that are already connected, which is a useful safety boundary.
Connect Postoni to Claude, step by step
Pick the tab for the tool you use. The server URL is the same in all three; only the way you sign in differs.
Open connector settings
In Claude on the web or the desktop app, open your settings and find the connectors section.
Add a custom connector
Choose Add custom connector, name it Postoni and paste
https://postoni.com/mcpas the server URL.Sign in with Postoni
Claude opens a Postoni sign-in window. Log in and approve access for the workspace you want Claude to use. There's no key to copy; this is standard OAuth.
Switch it on in a chat
Start a chat, enable the Postoni connector from the tools menu, and ask Claude what channels you have connected. If it lists them, you're set.
Copy your API key
In Postoni, open Settings and copy your API key.
Add the MCP server
Run this in your terminal, replacing
YOUR_API_KEY:claude mcp add --transport http postoni https://postoni.com/mcp \ --header "Authorization: Bearer YOUR_API_KEY"Check the connection
Run
claude mcp list, or type/mcpinside a session, and confirmpostonishows as connected. If you leave out the header, Claude Code offers a browser sign-in through/mcpinstead.
Open the MCP config
In Cursor, open Settings, go to the MCP section and add a new server. This edits
mcp.json, either in~/.cursor/(every project) or in your project's.cursor/folder.Add the Postoni server
Add an entry like this:
.cursor/mcp.json { "mcpServers": { "postoni": { "url": "https://postoni.com/mcp", "headers": { "Authorization": "Bearer ${env:POSTONI_API_KEY}" } } } }Check the status
Wait for the green status dot next to
postoni, then switch the chat panel to Agent mode.
Prompts that work
Claude writes better posts when it knows the channel, the audience, the timing and the goal. Vague prompts get vague posts. Here's what a good exchange looks like, from request to scheduled draft:
How it looks in practice
These prompts are a good starting point. Copy one, swap in your details, and adjust from there.
Read this blog post and turn it into one LinkedIn post (under 1,300 characters, first line is the hook) and a 4-part X thread. Schedule the LinkedIn post for Tuesday at 9am and the thread for Wednesday at 4pm, my time zone. Post as drafts.
Look at what's scheduled in Postoni for next week. For every weekday with nothing on Bluesky, draft one short post (under 280 characters) based on the topics already scheduled that week. Schedule each for 11am.
Plan launch week for our new product. Draft one post a day Monday to Friday for LinkedIn, Instagram and Threads, mornings only. Tailor each to the network: LinkedIn longer and practical, Instagram caption with 5 hashtags, Threads short and conversational.
We're hosting a webinar on the 24th at 5pm UTC. Draft three posts for X and LinkedIn: one a week before, one the day before, one an hour before. Include the registration link at the end of each.
List my connected Postoni channels with their character limits. Then rewrite the draft below so it fits every one of them, and tell me which networks need a shorter version.
A few habits make a noticeable difference:
- Say "as drafts". Drafts are the default for MCP posts in Postoni, but saying it makes the intent explicit, especially if you later enable auto-publish for some workflows.
- Give a time zone. "9am" means nothing to a model without one. Postoni uses your workspace time zone, but saying "my time zone" or "9am New York" removes any doubt.
- Ask Claude to check first. "What's already scheduled next week?" is a cheap call that prevents double-posting.
- Name the networks. "Post this everywhere" works, but "LinkedIn and Threads" produces better-tailored copy.
Approvals: keep a human in the loop
Handing an AI the keys to your brand accounts sounds risky, and it would be if posts went straight out. In Postoni they don't. Posts created through MCP arrive as drafts on your calendar, and a person approves them before they publish.
That gives you three useful patterns:
- You review everything. Claude drafts, you open the calendar, edit what needs editing, and approve. This is where most people start.
- A teammate reviews. On the Team plan and above, you can route drafts to a reviewer. Useful when the person prompting Claude isn't the person who signs off on brand voice.
- Trusted workflows auto-publish. Once a type of post has been reliable for a while, such as a weekly changelog digest, you can allow it to publish without a manual step. Do this deliberately, one workflow at a time.
Each post also records how it was created (web, API or MCP), so you can always see what the agent did. If you work with clients, our guide to agency scheduling and approvals goes deeper on review flows.
Claude Code and Cursor workflows
Coding agents are a natural fit for one job in particular: announcing what you ship. They can already read your diff, your commit log and your changelog, so they have the raw material for a release post.
Prompts that work well in a terminal or editor:
- "Read the last 10 commits and write a short changelog post for X and LinkedIn. Schedule it for tomorrow at 10am."
- "Turn CHANGELOG.md for v2.3 into a Dev.to article draft and a Bluesky post linking to it."
- "Look at the changes in this branch and draft a launch post. Keep it under 280 characters for X and Mastodon."
Cursor asks before it calls an MCP tool unless you've turned on auto-run, which is a second checkpoint on top of Postoni's drafts. For fully automated pipelines, such as posting from CI on every release, calling the Postoni API directly is usually simpler and more predictable than routing through an agent. See the Claude Code guide and Cursor guide for setup details.
Troubleshooting
Most connection problems come down to one of a few things:
| Symptom | Likely cause | Fix |
|---|---|---|
| No "Add custom connector" option | Plan or organisation settings | Check you're on a paid Claude plan; on Team or Enterprise, ask an owner to add it |
| Claude says it has no Postoni tools | Connector not enabled in this chat | Switch Postoni on from the chat's tools menu |
| 401 Unauthorized in Claude Code or Cursor | Missing or wrong API key | Check the Authorization: Bearer header and that the key hasn't been regenerated |
| Claude lists no channels | Nothing connected, or wrong workspace | Connect channels in Postoni, or sign in again and pick the right workspace |
| Post rejected for length | Draft exceeds a network limit | Ask Claude to check each channel's limit first; see our character limits table |
| Times are off by hours | Time zone ambiguity | Say the time zone in the prompt, and check your workspace time zone |
If a client only supports stdio transport rather than HTTP, a small MCP proxy can bridge the two. Most current clients speak Streamable HTTP directly.
Using ChatGPT instead? The steps are similar, with a few plan differences. Our ChatGPT scheduling guide covers them.
Frequently asked questions
Can Claude post to social media directly?
Not on its own. Claude needs a connection to an app that can publish, and MCP provides it. Once you connect a scheduler like Postoni, Claude can create posts for any channel you've connected, and they land as drafts for you to approve.
Do I need an API key to use Claude with Postoni?
Not for Claude on the web or desktop, which connects with OAuth sign-in. Claude Code and Cursor typically use an API key from Postoni Settings, sent as a bearer token, though Claude Code can also use browser sign-in.
Will Claude publish without asking me?
Not by default. Posts created through Postoni's MCP server arrive as drafts, and nothing goes live until you or a teammate approves it. You can allow auto-publish for specific workflows later if you choose.
Which networks can Claude schedule to?
Any channel connected in Postoni, across 30+ networks including X, LinkedIn, Instagram, Threads, TikTok, YouTube, Bluesky, Mastodon and Reddit. Claude can also read each network's options, like a YouTube title or a subreddit, before drafting.
Is MCP access included in every Postoni plan?
Yes. The MCP server and the public API are included on Solo, Team, Agency and Enterprise, and in the 7-day free trial. There's no separate fee.
Keep reading
All articles- AI agents
How to schedule posts with ChatGPT (without copy-pasting)
ChatGPT can write your social posts, but it can't publish them on its own. Here's how to connect it to a scheduler with MCP so drafts land on your calendar, plus prompt templates for every channel.
7 min read
- Comparisons
The 11 best social media schedulers in 2026 (honest picks)
We compared 11 social media schedulers on networks, free plans, price for 10 channels and AI agent support. A filterable table, a price calculator and who each tool is actually for.
7 min read