Instagram has no official MCP server from Meta. That surprises people, because it means there is no first-party way to say "Claude, queue this carousel for Thursday." What exists instead are two paths: community servers you run yourself, or a hosted remote server that connects through the platform-approved API.
Running your own server means managing tokens, handling API changes, and keeping a process alive. For most people who just want their assistant to handle posting, that is the wrong trade. This guide uses SocialRobot's hosted MCP server, where linking your account once replaces all of the maintenance. The full walkthrough of the SocialRobot MCP setup covers the generic connection flow for every platform.
Setup: one link, one consent
Link your Instagram account in SocialRobot. Then point your MCP client at:
{
"mcpServers": {
"socialrobot": {
"type": "http",
"url": "https://socialrobot.io/api/mcp"
}
}
}
First connection opens the SocialRobot login and a consent screen. Publishing and media upload have their own scope, separate from analytics, so you can start read-only if you want the assistant reporting numbers before you let it post.
It works in Claude, ChatGPT, Cursor, VS Code, Windsurf, Zed, or any client with remote MCP support.
The part people actually struggle with
Instagram timing is superstition until you look at your own numbers. Generic advice says "post at 11am." Your audience might peak at 9pm. The server exposes instagram_best_post_times, which reads your account's actual engagement history and returns suggested windows:
When do my followers actually engage? Give me the best windows for this week.
Then the workflow for a real post, captions and all:
Draft three caption options for the product launch carousel, pick the best window from my analytics, and schedule it for Thursday. Use option 2 as the caption unless it clearly reads worse than the others.
The agent drafts, checks instagram_best_post_times, uploads media through a presigned URL, and calls create_post. You review everything in the SocialRobot calendar before anything goes live. If the timing looks wrong, tell it to move the post; reschedule_post takes one instruction.
Media without the spec sheet
Image sizes, aspect ratios, video formats: the upload path handles validation, so neither you nor the agent needs to memorize Instagram's current requirements. Upload the file, describe the post, done.
A month of content in one conversation
The compounding win shows up when you stop thinking in single posts:
Here are five blog posts we published this quarter. Turn each into an Instagram post with a short caption, space them out over the next three weeks on my best-performing days, and give me a list of what you scheduled with dates.
One prompt produces a content calendar grounded in your actual analytics. Each item sits in the calendar for review, editable individually. This is the difference between an assistant that writes captions and one that runs the publishing side of Instagram while you keep editorial control.
Honest constraints
Scheduling works through connected accounts using the platform-approved API, which means platform rules apply: content policies, format eligibility, rate limits. The assistant does not automate comments or DMs, and it will not bypass Instagram's rules for automated behavior. What it does is remove every manual step between having something to say and having it queued, with you approving each post.
Start here
- Create a free SocialRobot account.
- Link your Instagram account.
- Add
https://socialrobot.io/api/mcpto Claude, ChatGPT, or Cursor. - Ask: "When does my audience engage most?" That answer makes every next post better.
- Or compare all MCP schedulers in the roundup.
Connect your accounts and let your agent publish.
SocialRobot MCP is free on every plan. Add socialrobot.io/api/mcp to Claude, ChatGPT, or Cursor and start scheduling from chat.
Read the MCP guide