Skip to main content
Glama
drashrafsaiyed-cyber

Instagram MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IG_USER_IDYesYour numeric Instagram user ID
META_ACCESS_TOKENYesYour Instagram access token from Meta (IGAA... token)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_account_infoA

Fetch basic info about the connected Instagram Business account.

Use this first to verify the token and IG user ID are valid. Returns username, follower count, media count, and account type.

list_recent_mediaA

List recent posts/reels from the account.

Returns id, caption, media_type, permalink, timestamp, like_count, comments_count. Use the returned IDs with get_media_insights or get_comments.

get_media_insightsA

Get performance metrics for a single post/reel.

Returns reach, impressions, saved, video_views (if video), and engagement. Different media types return different metrics — reels have plays, photos don't.

get_account_insightsA

Get account-level insights (reach, impressions, profile views, follower growth).

Use 'day' for last 24h, 'week' for 7 days, 'days_28' for monthly trends. Useful for content strategy decisions.

update_profileA

Update your Instagram Business profile bio and/or website URL.

THIS IS A WRITE OPERATION. At least one of biography or website must be provided. Changes are live immediately on your public profile.

Required permission: instagram_business_manage_profile (Add this in your Meta app → Use cases → Permissions and features if missing.)

publish_photoA

Publish a single photo to the Instagram feed.

THIS IS A WRITE OPERATION. The image URL must be publicly accessible — Instagram fetches it from your URL. Local file paths won't work; upload to S3/Cloudinary/imgur first. Returns the published post ID and permalink.

publish_reelA

Publish a Reel to Instagram.

THIS IS A WRITE OPERATION. Video URL must be publicly accessible. Reel processing takes 30-60s on Instagram's side — this tool waits. Returns post ID and permalink.

publish_carouselA

Publish a carousel (multi-image) post. Accepts 2-10 images.

THIS IS A WRITE OPERATION. Each image must be publicly accessible. Creates a child container per image, then a carousel container, then publishes. Slow — expect 30-60s.

get_commentsA

List comments on a post.

Returns id, text, username, timestamp, like_count, and replies (if any). Use the comment IDs with reply_to_comment, hide_comment, or delete_comment.

reply_to_commentA

Reply to a comment on a post.

THIS IS A WRITE OPERATION. The reply will be threaded under the original comment and publicly visible. Returns the reply's comment ID.

hide_commentA

Hide or unhide a comment. Hidden comments are invisible to others but not deleted.

THIS IS A WRITE OPERATION. Useful for spam/troll comments you'd rather not fully delete.

delete_commentA

Permanently delete a comment.

THIS IS A WRITE/DESTRUCTIVE OPERATION. Cannot be undone. Prefer hide_comment unless the comment is clearly spam, abuse, or violating your community standards.

list_conversationsA

List recent DM conversations on the Instagram account.

Returns conversation IDs and participants. Use conversation IDs with get_messages. Only conversations from the last ~24h messaging window will be actionable for sending.

get_messagesA

Read messages from a DM conversation.

Returns message id, text content, sender, and timestamp. Use the sender's IGSID with send_dm to reply.

send_dmA

Send a DM reply to a user.

THIS IS A WRITE OPERATION. IMPORTANT: Instagram enforces a 24-hour messaging window — you can only DM users who have messaged you within the last 24 hours, unless using a message tag (not supported in this tool). Cold DMs will fail and may trigger rate limits.

like_mediaA

Like a post or reel on your account.

THIS IS A WRITE OPERATION. Requires instagram_manage_engagement permission.

unlike_mediaA

Unlike a post or reel.

THIS IS A WRITE OPERATION. Requires instagram_manage_engagement permission.

like_commentA

Like a comment on a post.

THIS IS A WRITE OPERATION. Requires instagram_manage_engagement permission.

delete_postA

Permanently delete a post, reel, or carousel from your account.

THIS IS A WRITE/DESTRUCTIVE OPERATION. Cannot be undone. Double-check the media_id with list_recent_media before deleting. Requires instagram_manage_contents permission.

search_hashtagA

Search public Instagram posts by hashtag.

Returns post IDs, captions, media type, and permalink. Useful for content research, competitor analysis, and finding trending topics in your niche. Requires Instagram Public Content Access permission.

Note: Instagram limits hashtag searches to 30 unique hashtags per 7 days per account.

list_eventsA

List upcoming events on your Instagram account.

Requires instagram_manage_upcoming_events permission. Useful for hospital open days, health camps, webinars, AI workshops.

create_eventA

Create an upcoming event on your Instagram profile.

THIS IS A WRITE OPERATION. Requires instagram_manage_upcoming_events permission. Great for hospital health camps, free checkup days, AI workshops, webinars.

get_ad_accountsA

List all ad accounts linked to your Meta account.

Returns account IDs and names. Use the account ID with create_ad. Requires ads_management permission.

get_ad_insightsB

Get performance insights for your Instagram/Facebook ads.

Returns spend, impressions, reach, clicks, CPM, CTR. Requires ads_read permission.

send_human_agent_dmA

Send a DM reply within the 7-day Human Agent window (not just 24h).

THIS IS A WRITE OPERATION. Unlike send_dm (24h window), Human Agent tag allows responding up to 7 days after the user's last message. Use for thoughtful replies to patient queries, appointment questions, or follow-ups. Requires Human Agent feature enabled in your Meta app.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drashrafsaiyed-cyber/instagram-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server