Let AI agents publish Reels, photos, carousels and Stories to Instagram, reply to comments, send DMs and run comment-to-DM automations from a single prompt.
{
"mcpServers": {
"upload-post": {
"url": "https://mcp.upload-post.com/mcp",
"headers": {
"Authorization": "ApiKey YOUR_API_KEY"
}
}
}
} Part of the Upload-Post MCP server. The agent picks the right tool from your prompt.
| Tool | What it does |
|---|---|
| upload_video | Publish a Reel or video Story with caption, cover, collaborators and scheduling options |
| upload_photos | Publish a photo, a carousel of up to 10 items or a photo Story |
| get_post_comments / reply_to_comment / public_reply_to_comment | Read and answer comments, publicly or privately |
| send_dm / list_dm_conversations | Send and review direct messages |
| manage_autodms | Configure keyword-triggered comment-to-DM funnels |
| get_analytics / get_post_analytics | Pull reach, impressions and engagement |
Looking for another way to post? See the Instagram API page or the Claude Code Instagram skill. Step by step: post to Instagram with Claude or post to Instagram with ChatGPT.
One hosted server at mcp.upload-post.com/mcp. Sign in with OAuth or paste an Upload-Post API key, whichever your client supports.
Open it from Settings > Developer > Edit Config, paste the entry and restart Claude Desktop. It runs the open-source npm package @upload-post/mcp on your machine and needs Node.js 18 or newer.
Using Claude in the browser? Skip the file: Customize > Connectors > + Add > Add custom connector, paste https://mcp.upload-post.com/mcp and sign in with your Upload-Post account (OAuth).
{
"mcpServers": {
"upload-post": {
"command": "npx",
"args": ["-y", "@upload-post/mcp"],
"env": { "UPLOAD_POST_API_KEY": "YOUR_API_KEY" }
}
}
} Prefer OAuth? Drop the --header line, then run /mcp inside Claude Code and sign in. Add --scope user to use the server in every project.
claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp \
--header "Authorization: ApiKey YOUR_API_KEY" Put it in .cursor/mcp.json for one project or ~/.cursor/mcp.json for all of them, then reload Cursor.
{
"mcpServers": {
"upload-post": {
"url": "https://mcp.upload-post.com/mcp",
"headers": {
"Authorization": "ApiKey YOUR_API_KEY"
}
}
}
}
Your API key is under API Keys in app.upload-post.com. Before the first post, connect Instagram to a profile in the dashboard: the agent passes that profile name as user. On ChatGPT, search for Upload-Post under Apps and click Connect; no config file needed.
An example flow with placeholder names, IDs and URLs, not a customer transcript. The tool names and parameters are the real ones the server exposes.
You
Publish https://example.com/reels/latte-art.mp4 as a Reel on profile "cafe". Caption: "Latte art, slowed down". Add @northbakery as collaborator, use https://example.com/covers/latte.jpg as the cover, also show it in the feed and add a first comment with our hashtags.
Tool call 1
upload_video
One call sets the Reel placement, cover, collaborator and first comment.
{
"videoPathOrUrl": "https://example.com/reels/latte-art.mp4",
"user": "cafe",
"platforms": [
"instagram"
],
"title": "Latte art, slowed down",
"firstComment": "#latteart #coffee #baristalife",
"asyncUpload": true,
"platformOptions": {
"instagramMediaType": "REELS",
"instagramShareToFeed": true,
"instagramCoverUrl": "https://example.com/covers/latte.jpg",
"instagramCollaborators": "northbakery"
}
}{
"success": true,
"message": "Upload initiated successfully in background.",
"request_id": "4b8e2c1d-7a3f-4e59-b6d2-0c9a1f5e7d33",
"total_platforms": 1
}Tool call 2
get_status
Polls until Instagram finishes processing the Reel.
{
"requestId": "4b8e2c1d-7a3f-4e59-b6d2-0c9a1f5e7d33"
}{
"request_id": "4b8e2c1d-7a3f-4e59-b6d2-0c9a1f5e7d33",
"status": "completed",
"completed": 1,
"total": 1,
"results": [
{
"platform": "instagram",
"success": true
}
]
}Assistant
The Reel is live on "cafe" with @northbakery invited as collaborator, your cover, and the hashtags in the first comment. It also shows in your feed.
upload_photos: A feed carousel. Instagram allows up to 10 items.
{
"photosPathsOrUrls": [
"https://example.com/menu/1.jpg",
"https://example.com/menu/2.jpg",
"https://example.com/menu/3.jpg"
],
"user": "cafe",
"platforms": [
"instagram"
],
"title": "The autumn menu, one slide per drink.",
"platformOptions": {
"instagramMediaType": "IMAGE"
}
}upload_photos: The same tool posts a Story when the placement is STORIES.
{
"photosPathsOrUrls": [
"https://example.com/stories/today.jpg"
],
"user": "cafe",
"platforms": [
"instagram"
],
"platformOptions": {
"instagramMediaType": "STORIES"
}
}How the Instagram MCP server reaches your account.
Publishing goes through Meta’s Instagram API using Upload-Post’s approved Meta app, connected with Instagram Login. You don’t register a Meta developer app, go through App Review or write token refresh code. Nothing logs in with your password or automates the Instagram app.
The account has to be a Business or Creator account. It does not need a linked Facebook Page. Personal accounts can’t publish through Instagram’s API at all, so switch the account type first if yours is personal.
Comments, private replies, DMs and comment-to-DM automations go through the same API, so the agent can answer people on the posts it publishes.
Sources: Instagram content publishing (Meta), Upload-Post Instagram guide, upload-post-mcp on GitHub.
What Instagram and Upload-Post accept per post, checked September 2026.
| What | Limit | Source |
|---|---|---|
| Account type | Business or Creator. No Facebook Page needed with Instagram Login. | Upload-Post Instagram guide |
| Caption | 2,200 characters; alt text up to 1,000 per image | Upload-Post character limits |
| Carousel | Up to 10 images, videos or a mix of the two | Instagram content publishing (Meta) |
| Reels video | MP4 or MOV, 3 seconds to 15 minutes, up to 300 MB, 23 to 60 fps. Stories video up to 100 MB. | Upload-Post video requirements |
| Photos | Up to 8 MB, 320 to 1440 px wide, aspect ratio 4:5 to 1.91:1 | Upload-Post photo requirements |
No commands to memorize. Describe what you want.
“Post this photo to Instagram under profile "marketing", caption: "New drop 🔥".”
“Reply privately to everyone who commented "PRICE" on my latest post.”
“Set up an auto-DM: when someone comments "GUIDE", send them the download link.”
“How did my Reels perform this month vs photo posts?”
Instagram + AI agents, answered. Last updated September 2026.
An Instagram MCP server is a Model Context Protocol server that exposes Instagram actions (Reels, photos, comments, DMs) as tools an AI agent can call. The Upload-Post MCP server lets ChatGPT, Claude, Gemini or any MCP client manage Instagram from a prompt, with no custom code.
Yes. Connect your Instagram account to Upload-Post once, add the MCP server to your AI client, and the agent can publish Reels, photos and carousels with captions and scheduling.
Yes. The server includes tools to read comments, reply publicly or privately, send DMs and even configure keyword-triggered comment-to-DM automations.
The MCP server is free and open-source (MIT). It works with any Upload-Post plan, including the free tier.
Many Instagram MCP servers read public profiles, posts and hashtags by scraping, usually through a third-party scraper or a logged-in session. This one does the opposite: it manages the Business or Creator accounts you connect, through Meta’s official Instagram API. It publishes Reels, carousels and Stories, answers comments and DMs, and reads your own analytics. It does not collect data about other accounts.
No to both. Upload-Post’s approved Meta app handles the API access, and you connect with Instagram Login. The Instagram account must be a Business or Creator account; a linked Facebook Page is not required.
Yes. Set instagramMediaType to STORIES for a Story (photo or video). upload_photos with several images publishes a feed carousel of up to 10 items.
Yes. On Reels, instagramCollaborators invites collaborators, instagramCoverUrl sets the cover and instagramShareToFeed also shows the Reel in your feed. firstComment posts a comment right after publishing.
Free to start, no credit card. Connect Instagram once and post from any MCP client.
We use strictly necessary cookies to run this site. With your permission we would also like to measure how the site is used (analytics) and how our ads perform (marketing). Nothing optional is loaded until you choose. Cookie Policy · Privacy Policy
Choose which categories you allow. You can change this at any time from "Cookie settings" in the footer. Cookie Policy
Needed for the site to work: your consent record (up_consent) and your light/dark theme preference. Exempt from consent under art. 22.2 LSSI.
OpenPanel, self-hosted on our own servers (api.openpanel.fotoexamen.com). Aggregated page and feature usage so we can see what to improve. No data goes to an advertising network.
Google Ads conversion measurement, the Reddit advertising pixel, and our own affiliate/attribution cookies (aff_ref, up_attribution). These tell us which campaign or affiliate brought you here.