100+ integrations are ready to connect to your AI.Connect your first MCP

Instagram MCP server for your AI

Publish a reel or a carousel from image links, hide or answer comments, reply to recent DMs, respond to @mentions, and see which posts drove reach and profile visits this month.

PopMCPInstagram

Post these four product shots as one carousel with the caption I wrote

Supported Instagram tools

Every publishing, comment, messaging, mention and insights tool on the connection, plus the webhooks and polled checks a workflow can start from.

49 tools in the full catalog: 26 read and 23 write. 37 load by default, and the rest are found with tool search.

instagram_delete_media

Permanently delete a published media object from the account.

instagram_get_media

Read one media object by id.

instagram_list_media

List the account's published media (feed posts, reels, videos), newest first.

instagram_list_media_children

List the individual photos/videos inside a CAROUSEL_ALBUM media object, in display order.

instagram_list_stories

List the account's stories that are still live.

instagram_list_tagged_media

List media posted by OTHER Instagram users in which this account has been tagged (the 'Tagged' tab).

instagram_set_media_comments_enabled

Turn commenting on or off for one published media object.

instagram_create_carousel_container

STEP 2 of 3 for a CAROUSEL post (2-10 slides).

instagram_create_comment

Post a new top-level comment on a media object, as the connected account.

instagram_create_comment_reply

Reply to a comment as the connected account; the reply threads directly under it.

instagram_create_image_container

STEP 1 of 2 for a single-image feed post.

instagram_create_reel_container

STEP 1 of 2 for a REEL (all API-published video goes to Reels).

instagram_create_story_container

STEP 1 of 2 for a STORY.

instagram_delete_comment

Permanently delete a comment (and any replies under it).

instagram_get_comment

Read one comment by id — its text, author, like count, hidden state and the media it belongs to.

instagram_get_container_status

Check whether a media container is ready to publish.

instagram_list_comment_replies

List the replies threaded under one comment, oldest first.

instagram_list_media_comments

List top-level comments on a media object, newest first.

instagram_publish_media

FINAL STEP — publishes a container to the account and returns the new { id } of the live media object.

instagram_set_comment_hidden

Hide or unhide a comment.

instagram_get_conversation

Read one conversation.

instagram_get_message

Read one direct message — who sent it, when, the text, and any attachments or shared media.

instagram_get_messaging_user_profile

Look up the public profile of an Instagram user who has messaged this account, by their Instagram-scoped ID (IGSID).

instagram_list_conversations

List the account's Instagram DM conversations, most recently active first.

instagram_send_message

Send a direct message to an Instagram user.

instagram_send_sender_action

Show a typing indicator or mark a conversation as seen, instead of sending a message.

instagram_get_account_insights

Account-level analytics.

instagram_get_account_insights_summary

Headline account performance with a known-good parameter combination already applied.

instagram_get_audience_demographics

Who follows this account, broken down by country by default.

instagram_get_media_insights

Per-post analytics.

instagram_get_mentioned_comment

Read a comment on another account's media in which this account was @mentioned.

instagram_get_mentioned_media

Read a media object owned by ANOTHER account whose caption @mentions this account.

instagram_reply_to_mention

Reply publicly to a place this account was @mentioned by someone else — either a comment on their media (pass comment_id) or the caption of their media.

instagram_get_account

Read the connected Instagram professional account's profile.

instagram_get_content_publishing_limit

How many posts the account has published through the API in the last 24 hours, against the 100-post rolling limit.

instagram_like_media_or_comment

Like a feed post, reel, comment or reply on behalf of the connected account.

instagram_unlike_media_or_comment

Remove a like the connected account previously left on a post, reel, comment or reply.

instagram_list_live_media

List live broadcasts currently running on the account.

instagram_create_media_container

Generic STEP 1 of 2 container builder — the raw endpoint behind the typed create_*_container tools.

instagram_create_welcome_message_flow

Create or update a welcome-message flow for click-to-Instagram-Direct ads.

instagram_delete_messenger_profile

Remove ice breakers and/or the persistent menu from the account.

instagram_delete_welcome_message_flow

Delete a welcome-message flow by id.

instagram_get_messenger_profile

Read the account's automated-messaging setup: ice breakers (the FAQ prompts shown before a first message) and the persistent menu.

instagram_list_welcome_message_flows

List the saved welcome-message flows used by click-to-Instagram-Direct ads — the opening message and quick replies a person sees when they tap the ad.

instagram_set_messenger_profile

Create or REPLACE the account's ice breakers and/or persistent menu.

instagram_get_subscribed_apps

Show which webhook fields this app is subscribed to for the account.

instagram_subscribe_app_to_webhooks

Subscribe this app to webhook notifications for the account.

instagram_unsubscribe_app_from_webhooks

Remove this app's webhook subscription for the account.

instagram_get_connected_threads_user

Return the Threads account linked to this Instagram account, if any.

Connect Instagram to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the Instagram side.

In your Meta app open Instagram → API setup with Instagram business login → Business login settings, add PopMCP's callback URL to OAuth redirect URIs, paste the Instagram App ID and App secret, then sign in as a Business or Creator account.

Instagram App ID990602627938098
Instagram App secret••••••••••••3f7a
Authorize PopMCP on InstagramAuthorize

Then just ask for the work

  • “Post these four product shots as one carousel with the caption I wrote”

    • create_image_container
    • create_carousel_container
    • publish_media
  • “Hide every comment on yesterday's reel that pushes a competitor's discount code”

    • list_media
    • list_media_comments
    • set_comment_hidden
  • “Reply to everyone who messaged us about shipping times today”

    • list_conversations
    • get_conversation
    • send_message
  • “Which of last month's posts brought the most reach and profile visits?”

    • list_media
    • get_media_insights
    • get_account_insights_summary

Use Instagram from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

Instagram MCP server questions

What teams ask before putting Instagram behind an AI client.

Does the Instagram MCP server need a Facebook Page or Business Manager?

No. It is built on the Instagram API with Instagram Login, so you sign in with the Instagram account itself, with no linked Facebook Page and no Business Manager. The account must be a Business or Creator account; you can switch a personal one in the Instagram app under Settings, Account type. The trade-off is that features Meta only offers through Facebook Login, such as hashtag search, competitor business discovery and product tagging, are not part of this connector.

Do I need my own Meta app, and who can connect to it?

Yes. Add the Instagram product to a Meta app and copy the Instagram App ID and App secret from Business login settings, not the Meta App ID in App settings. Until Meta grants Advanced Access through App Review, only Instagram accounts with a role on that app can authorize. PopMCP asks for exactly five permissions: instagram_business_basic, instagram_business_content_publish, instagram_business_manage_comments, instagram_business_manage_messages and instagram_business_manage_insights. If the app was not granted one of them, Meta refuses the whole sign-in.

How does the AI publish a reel, story or carousel?

In steps, from public URLs. A create_image_container, create_reel_container, create_story_container or create_carousel_container call builds the post from links Instagram downloads, with images in JPEG. For video, get_container_status waits until the status is FINISHED, then publish_media makes it live. Carousels take 2 to 10 slides and count as one post. Instagram allows 100 API-published posts per account in 24 hours, and get_content_publishing_limit shows how many are used.

Can the AI answer Instagram DMs?

Yes, inside Instagram's messaging rules. The account can only reply to someone who messaged it first, within 24 hours of their last message, and replies go to their Instagram-scoped ID rather than an @username. list_conversations and get_message read the inbox, get_messaging_user_profile shows who a sender is, send_message replies, and send_sender_action shows a typing indicator or marks a thread as seen. A new direct message can also trigger a workflow through a webhook.

Will the Instagram connection expire?

Only if it sits idle. Instagram issues a 60-day token with no separate refresh token, and refreshing it swaps in a new 60-day token. PopMCP does that when a call arrives within 10 days of expiry, so a connection in regular use keeps working. A token that goes 60 days without being used expires for good, and the next call asks you to disconnect and reconnect Instagram. Meta also will not refresh a token less than 24 hours old.

Which Instagram events can PopMCP watch?

Seventeen. Webhooks cover a new comment, a comment during a live video, a new DM, a reaction on a message, an @mention, story results being final, a tapped chat button, a messaging opt-in and a chat opened from an ad or link. Polling catches new posts. Change detection spots being tagged, a new story, going live and a new conversation. Thresholds fire when followers cross a level, reach drops, or the daily posting quota is nearly used.

Do I have to run or host the Instagram MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect Instagram to Claude Code?

Connect Instagram in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Instagram on the consent screen. The Instagram tools are then available in that session, and no Instagram credential is stored on your machine.

Why do only 37 of the 49 tools load by default?

Loading 49 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 37-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 49 here. A trigger is something PopMCP watches for you: 17 Instagram events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Instagram.

Connect Instagram to your AI in minutes

Launch a hosted MCP endpoint for Instagram, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP