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 Instagram

By the TimeToPost team. Last reviewed 2026-11-07.

Connect Instagram to your agent

  1. Switch the Instagram account to Business or Creator in the Instagram app. Personal accounts cannot publish through the API.
  2. Ask the agent for connect_account_link with provider "instagram" and approve in the browser (Instagram Login, no Facebook Page needed).
  3. 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

RuleInstagram
Caption2,200 characters
MediaRequired: Instagram has no text-only posts
PhotoJPEG or PNG, up to 8 MB
VideoMP4 or MOV, up to 100 MB; one video is always published as a Reel
Carousel2 to 10 photos and videos, made automatically when mediaUrls has more than one item
ProcessingTimeToPost waits for Instagram to finish the media container before publishing
Token lifeAbout 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.

WhenMessage
No image or videoInstagram requires at least one media item (image or video)
Caption too longInstagram post is 2300 characters, 100 over the 2200 limit. Trim it and try again.
More than 10 itemsValidation failed: Too many media files. Maximum allowed: 10
Video in the wrong formatInstagram video preflight failed: unsupported video format .avi. Supported formats: mp4, mov
Instagram did not finish processingContainer processing timeout - media not ready after maximum retries
Delivery not confirmedInstagram delivery is unconfirmed. Check the account before retrying to avoid a duplicate post.

More

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