Instagram MCP Server: Schedule Reels, Carousels
Short answer: the TimeToPost MCP server lets an AI agent schedule Instagram photos, Reels and carousels of 2 to 10 items through the official Instagram API. It needs a Business or Creator account and at least one image or video per post; captions take 2,200 characters. One video is always published as a Reel, and the agent can read reach, likes, saves and shares afterwards.
Connect your agent to InstagramBy the TimeToPost team. Last reviewed 2026-11-07.
Connect Instagram to your agent
- Switch the Instagram account to Business or Creator in the Instagram app. Personal accounts cannot publish through the API.
- Ask the agent for connect_account_link with provider "instagram" and approve in the browser (Instagram Login, no Facebook Page needed).
- Run list_integrations and check accountType "BUSINESS" and the capabilities list. If metadata shows "Reconnect Instagram to see stats", publishing works but stats need one reconnect.
The server URL is https://api.timetopost.co/mcp (Streamable HTTP, browser sign in). Client setup files: Claude Code, Cursor, Codex, ChatGPT, Gemini, n8n.
Instagram rules the server enforces
| Rule | |
|---|---|
| Caption | 2,200 characters |
| Media | Required: Instagram has no text-only posts |
| Photo | JPEG or PNG, up to 8 MB |
| Video | MP4 or MOV, up to 100 MB; one video is always published as a Reel |
| Carousel | 2 to 10 photos and videos, made automatically when mediaUrls has more than one item |
| Processing | TimeToPost waits for Instagram to finish the media container before publishing |
| Token life | About 60 days, refreshed daily |
What your agent can do on Instagram
- Schedule or publish photos, Reels and carousels to one or several Instagram accounts.
- Read reach, views, likes, comments, shares and saves per post (get_post_metrics).
- Pick slots from your own Instagram engagement with get_optimal_times.
What it cannot do
- Post Stories: the publish path only creates feed posts, Reels and carousels.
- Add a first comment, location, user tags or product tags.
- Post text only: a post without media is accepted at scheduling and then fails at publish with a clear message.
A real Instagram run, call by call
Prompt: “Post these 4 photos as one carousel on my Instagram tomorrow at 18:00 New York time.”
1. list_integrations
Captured from our workspace on 7 November 2026, one of three accounts shown. The capability list names story, but the publish path creates feed posts, Reels and carousels only. This account was connected before the stats scope was added, so stats need a reconnect; publishing is not affected.
{}Response:
{"provider":"instagram","accounts":[{"id":"cmu8dt...","accountName":"timetopostapp","status":"connected","capabilities":["post","story","reel","video","carousel","delete","analytics","comments"],"metadata":{"accountType":"BUSINESS","lastError":"Reconnect Instagram to see stats","lastErrorCode":"instagram_insights_scope_missing"}}]}2. schedule_post
Four mediaUrls become one carousel. Upload first with prepare_media_upload and finalize_media_upload; files are kept for 30 days after the post publishes.
{"platforms":["instagram"],"accountIds":["cmu8dt..."],"content":"Four screens from this week's build.","mediaUrls":["https://media.timetopost.co/u/1.jpg","https://media.timetopost.co/u/2.jpg","https://media.timetopost.co/u/3.jpg","https://media.timetopost.co/u/4.jpg"],"scheduledAt":"2026-11-08T18:00:00-05:00"}One video on Instagram is always a Reel
The Instagram API removed the plain feed video type, so every single video published through it becomes a Reel, including videos sent by an agent. A carousel is the only way to put a video in the feed without making it a Reel. TimeToPost also checks the video before it reaches Instagram: MP4 or MOV, at most 100 MB, served as video. A wrong file fails in that preflight with the reason, instead of a generic Instagram error.
Errors your agent will see on Instagram
These are the exact messages the server returns, so an agent can fix the call instead of guessing.
| When | Message |
|---|---|
| No image or video | Instagram requires at least one media item (image or video) |
| Caption too long | Instagram post is 2300 characters, 100 over the 2200 limit. Trim it and try again. |
| More than 10 items | Validation failed: Too many media files. Maximum allowed: 10 |
| Video in the wrong format | Instagram video preflight failed: unsupported video format .avi. Supported formats: mp4, mov |
| Instagram did not finish processing | Container processing timeout - media not ready after maximum retries |
| Delivery not confirmed | Instagram delivery is unconfirmed. Check the account before retrying to avoid a duplicate post. |
More
- TimeToPost MCP server: every tool, setup and pricing.
- Instagram scheduler without an agent.
- LinkedIn MCP server
- X MCP server
- TikTok MCP server
- Telegram MCP server
Checked against the TimeToPost server code on 2026-11-07.
Frequently asked questions
Can an Instagram MCP server post Stories?
Not this one. TimeToPost publishes feed photos, Reels and carousels through the Instagram API.
Do I need a Facebook Page to connect Instagram?
No. TimeToPost uses Instagram Login, which needs a Business or Creator account but no linked Facebook Page.
Which Instagram stats can the agent read?
Reach, views, likes, comments, shares, saves and total interactions per post, synced about once an hour for the last 30 days.
Can the agent post to several Instagram accounts at once?
Yes. Pass their ids from list_integrations in accountIds, or put them in a collection and pass its name.
Connect your agent to Instagram through TimeToPost: the MCP server and its 76 tools are on every plan, from $12 a month. Your first post is free.
Start free